getgroups: document portability issues
[gnulib.git] / ChangeLog
1 2013-05-22  Eric Blake  <eblake@redhat.com>
2
3         getgroups: document portability issues
4         * doc/glibc-functions/initgroups.texi (initgroups): Mention
5         multithread safety.
6         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
7         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
8         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
9         getugroups.
10         * doc/posix-functions/getgroups.texi (getgroups): Mention
11         multithread safety and mgetgroups.
12
13 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
14
15         test-lchown, test-chown: also skip test if chown fails with EPERM
16         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
17         skip this test, to handle FAT file systems.
18         * tests/test-chown.h (test_chown): Likewise.
19
20 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21
22         regex: fix dfa race in multithreaded uses
23         Problem reported by Ludovic Courtès in
24         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
25         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
26         New macros.  All uses of __libc_lock_define, __libc_lock_init
27         changed to use the first two of these.
28         (__libc_lock_lock, __libc_lock_unlock): New macros, for
29         non-glibc platforms.
30         (struct re_dfa_t): Define the lock unconditionally.
31         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
32         '#ifdef _LIBC"s.
33         * modules/regex (Depends-on): Add pthread, if we use the
34         included regex.
35
36         * lib/regcomp.c: Do actions that are not needed for glibc,
37         but may be needed elsewhere.
38         (regfree, re_compile_internal): Destroy the lock.
39         (re_compile_internal): Check for lock-initialization failure.
40
41         malloca: port to compilers that reject size-zero arrays
42         This fixes a bug introduced in my previous patch.
43         * lib/malloca.c (struct preliminary_header): Use an int
44         rather than a character array of size int; that's simpler.
45         (struct header): Remove, replacing with ...
46         (union header): New type.  This avoids the need for declaring a
47         character array of size zero, which is not allowed on some platforms.
48         All uses changed.
49
50 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
51
52         parse-datetime, tests: don't use "string" + int
53         Recent versions of 'clang' complain about C source code that
54         uses expressions of the form '"string literal" + integer',
55         I guess on the theory that it's confusing for readers who are
56         used to C++.  On those grounds I suppose it's OK to make this
57         minor style change.
58         * lib/parse-datetime.y (parse_datetime):
59         * tests/test-fchdir.c (main):
60         * tests/test-snprintf-posix.h (test_function):
61         * tests/test-snprintf.c (main):
62         * tests/test-vasnprintf-posix.c (test_function):
63         * tests/test-vasnprintf.c (test_function):
64         * tests/test-vsnprintf.c (main):
65         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
66         Rewrite '"str" + E' to '&"str"[E]'.
67
68 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
69
70         argmatch: port to C++
71         * lib/argmatch.h [__cplusplus]: Add extern "C".
72
73         argp: typo fix
74         * lib/argp-help.c: Typo in comment.
75
76 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
77
78         manywarnings: update for GCC 4.8.0
79         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
80         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
81         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
82         -Wmissing-noreturn, as they are duplicates of other warnings.
83         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
84         was documented to be flaky in earlier versions of GCC.
85
86         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
87         * tests/test-spawn.c (main):
88         * tests/test-sys_socket.c (main):
89         * tests/test-sys_wait.c (main):
90         Don't have a switch value that isn't covered by a case.
91
92         getaddrinfo-tests: port --enable-gcc-warnings to clang
93         * tests/test-getaddrinfo.c (simple):
94         Avoid casts from looser to stricter-aligned pointers.
95
96         thread: port --enable-gcc-warnings to clang
97         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
98         Include <signal.h>, to pacify a warning about pthread_sigmask.
99
100         stdio: use __REDIRECT for fwrite, fwrite_unlocked
101         * lib/stdio.in.h (fwrite):
102         When working around bug 11959, use __REDIRECT rather than '#define
103         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
104         fix the -Wunused-value issue with clang, and it works with GCC too.
105         Problem with targeting reported by Eric Blake in
106         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
107         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
108         debugging the fwrite issue.
109
110         stdio: port --enable-gcc-warnings to clang
111         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
112         since the GCC workaround for fwrite does not pacify clang.
113
114         sig2str: port --enable-gcc-warnings to clang
115         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
116
117         obstack: port --enable-gcc-warnings to clang
118         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
119         Avoid casts from looser to stricter-aligned pointers.
120
121         memchr2: port --enable-gcc-warnings to clang
122         * lib/memchr2.c (memchr2):
123         Avoid casts from looser to stricter-aligned pointers.
124
125         mbsstr: port --enable-gcc-warnings to clang
126         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
127         Avoid casts from looser to stricter-aligned pointers.
128
129         malloca: port --enable-gcc-warnings to clang
130         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
131         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
132
133         inttostr: port --enable-gcc-warnings to clang
134         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
135
136         warnings: port to clang
137         Problem reported by Daniel P. Berrange via Eric Blake in
138         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
139         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
140         (gl_WARN_ADD): Use it.
141
142 2013-05-11  Jim Meyering  <meyering@fb.com>
143
144         quotearg: do not read beyond end of buffer
145         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
146         end of an ARG for which no length was specified.  With an N-byte
147         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
148         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
149         via coreutils' misc/sort-debug-keys.sh test and detected by running
150         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
151         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
152         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
153         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
154         characters correctly."
155
156 2013-05-11  Daiki Ueno  <ueno@gnu.org>
157
158         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
159         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
160         compilation target is Mac OS X 10.6.
161         Problem reported by parafin and Andoni Morales in
162         <http://savannah.gnu.org/bugs/?37844> and
163         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
164
165 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
166
167         mkdir-p: remove assumptions about umask and mode
168         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
169         umask is 0, or that MODE is a subset of MODE_BITS.
170
171 2013-05-10  Eric Blake  <eblake@redhat.com>
172
173         maint.mk: catch more abuse of HAVE_DECL in syntax-check
174         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
175
176 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
177
178         deps: require Automake >= 1.9.6 in generated Makefile fragments
179
180         That is the same minimal version required in the DEPENDENCIES file.
181         Moreover, the old code generated a requirement of Automake >= 1.5,
182         and that is an insanely outdated version.
183
184         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
185         * tests/havelib/rpathlx/Makefile.am: Likewise.
186         * tests/havelib/rpathly/Makefile.am: Likewise.
187         * tests/havelib/rpathlyx/Makefile.am: Likewise.
188         * tests/havelib/rpathlz/Makefile.am: Likewise.
189         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
190         * tests/havelib/rpathx/Makefile.am: Likewise.
191         * tests/havelib/rpathy/Makefile.am: Likewise.
192         * tests/havelib/rpathz/Makefile.am: Likewise.
193
194 2013-05-08  Eric Blake  <eblake@redhat.com>
195
196         bootstrap: AC_INIT may have more than four parameters
197         * build-aux/bootstrap (extract_package_name): Correctly extract
198         non-empty tarname field.  Avoid range in regex.
199         Based on a report by Sami Kerola <kerolasa@iki.fi>.
200
201 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
202
203         qacl: port to MS-Windows port of GNU Emacs
204         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
205         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
206         port of GNU Emacs.  Problem reported by Eli Zaretskii in
207         <http://bugs.gnu.org/14295#14>.
208
209 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
210
211         acl: include quote.h
212         * lib/copy-acl.c: Include quote.h.
213         * lib/set-acl.c: Likewise.
214
215 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
216
217         fchownat, renameat, unlinkat: update statat dependencies
218         These modules use statat and lstatat, not fstatat; so depend on
219         the statat module, which was split out recently from fstatat.
220         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
221         * modules/renameat: Likewise.  Also delete fstat.
222         URL: http://bugs.gentoo.org/468790
223
224 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
225
226         Assume gnulib is checked out from Git, not CVS
227
228         In fact, access to the gnulib repository through CVS has been
229         disabled, or more precisely, got broken and was never restored; see:
230         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
231
232         Note that support for CVS is not removed completely and unthinkingly
233         by this change: only support for CVS checkouts of gnulib itself is
234         removed.  For example, the 'bootstrap' script still cater to .cvsingore
235         files and CVS directories, for the benefit of those poor gnulib clients
236         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
237
238         * gnulib-tool: Simplify accordingly.
239         * posix-modules: Likewise.
240         * MODULES.html.sh: Likewise.
241         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
242         repository.
243         * doc/gnulib-intro.texi: Likewise.
244         * doc/gnulib-readme.texi: Likewise.
245         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
246         sample '.gitignore' file rather than a sample '.cvsignore'.
247         * NEWS: Update.
248         * m4/extensions.m4: While at it, remove a comment mistakenly referring
249         to "CVS Autoconf" rather than "git Autoconf".
250
251 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
252
253         utimensat-tests, etc.: try to fix some races
254         Problem reported by Bernhard Voelker in
255         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
256         I don't know whether this patch fixes that race condition, but it
257         fixes *some* race conditions, so it should be a win.
258         * modules/chown-tests (Depends-on):
259         * modules/fchownat-tests (Depends-on):
260         * modules/fdutimensat-tests (Depends-on):
261         * modules/futimens-tests (Depends-on):
262         * modules/lchown-tests (Depends-on):
263         * modules/stat-time-tests (Depends-on):
264         * modules/utimens-tests (Depends-on):
265         * modules/utimensat-tests (Depends-on):
266         Depend on nanosleep, not usleep.
267         * modules/chown-tests (test_chown_LDADD):
268         * modules/lchown-tests (test_lchown_LDADD):
269         * modules/stat-time-tests (test_stat_time_LDADD):
270         New macro.
271         * modules/fchownat-tests (test_fchownat_LDADD):
272         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
273         * modules/futimens-tests (test_futimens_LDADD):
274         * modules/utimens-tests (test_utimens_LDADD):
275         * modules/utimensat-tests (test_utimensat_LDADD):
276         Add $(LIB_NANOSLEEP).
277         * modules/stat-time-tests (Files): Add tests/nap.h.
278         * tests/nap.h: Include <limits.h>, for INT_MAX.
279         (lt_mtime): Remove.
280         (diff_timespec): New function.
281         (get_stat): Rename from get_mtime.  All callers changed.
282         (nap_works): Determine the needed delay by inspecting the
283         file system's timestamp jumps; this should be more reliable.
284         Look at both mtime and ctime, and take the maximum of the two jumps.
285         (nap_works, guess_delay):
286         Return a nanosecond cound, not a microsecond count.
287         All callers changed.
288         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
289         failure.
290         (nap): Multiply the guess by 1.125, to accommodate the case where
291         the file system's clock is a bit slower than nanosleep's clock.
292         * tests/test-stat-time.c (BASE): New macro.
293         Include nap.h.
294         (nap): Remove; nap.h now defines this.  This removes a duplicate
295         implementation of 'nap'.
296
297         utimens, utimensat: work around Solaris UTIME_OMIT bug
298         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
299         Linux kernel 2.6.32 does.  Work around it in the same way.
300         * doc/posix-functions/futimens.texi (futimens):
301         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
302         * lib/utimens.c (fdutimens, lutimens):
303         * lib/utimensat.c (rpl_utimensat): Work around the bug.
304
305         gettext: now it's your responsibility to add -I$(top_builddir)/intl
306         Formerly, it was your responsibility to do this for all Makefile.ams
307         other than Gnulib's.  Now it's your responsibility to do it for
308         Gnulib's Makefile.am, too.
309         * NEWS: Document this.
310         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
311
312         acl: include errno.h to get errno
313         Reported by Daiki Ueno in
314         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
315         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
316
317 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
318
319         tests: don't assume getdtablesize () <= 10000000
320         * modules/cloexec-tests:
321         * modules/dup2-tests:
322         * modules/dup3-tests:
323         * modules/nonblocking-tests:
324         * modules/posix_spawn_file_actions_addclose-tests:
325         * modules/posix_spawn_file_actions_adddup2-tests:
326         * modules/posix_spawn_file_actions_addopen-tests:
327         * modules/unistd-safer-tests:
328         Depend on the getdtablesize module.
329         * tests/test-cloexec.c:
330         * tests/test-dup-safer.c:
331         * tests/test-dup2.c:
332         * tests/test-dup3.c:
333         * tests/test-fcntl.c:
334         * tests/test-nonblocking.c:
335         * tests/test-posix_spawn_file_actions_addclose.c:
336         * tests/test-posix_spawn_file_actions_adddup2.c:
337         * tests/test-posix_spawn_file_actions_addopen.c:
338         Don't assume getdtablesize () <= 10000000.
339
340 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
341
342         extern-inline: work around bug in Sun c99
343         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
344         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
345
346 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
347
348         qacl: new module, broken out from the acl module
349         This is for GNU Emacs, which wants the acl functions but does
350         not want 'error' invoked when they fail.
351         * lib/acl-internal.h: Do not include error.h, quote.h.
352         (ENOSYS, ENOTSUP): Remove; no longer needed.
353         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
354         * lib/acl.h: Include <stdbool.h>.
355         (acl_errno_valid): New function.
356         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
357         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
358         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
359         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
360         (ACL_INTERNAL_INLINE): Remove; no longer needed.
361         * lib/file-has-acl.c (file_has_acl):
362         * lib/qcopy-acl.c (qcopy_acl):
363         * lib/qset-acl.c (qset_acl):
364         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
365         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
366         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
367         lib/file-has-acl.c, m4/acl.m4 to qacl module.
368         Add lib/set-acl.c.
369         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
370         Add qacl.
371         (configure.ac): Move gl_FUNC_ACL to qacl module.
372         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
373         Rename set-mode-acl.c to set-acl.c.
374         * lib/acl-errno-valid.c: New file.
375         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
376         copy_acl function remains in copy-acl.c.
377         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
378         (_): Remove; not needed.
379         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
380         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
381         * modules/qacl: New file, moved from the old modules/acl.
382         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
383         Remove set-mode-acl.c, copy-acl.c.
384         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
385
386         alignof, intprops, malloca: port better to IBM's C compiler
387         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
388         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
389         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
390
391 2013-04-25  Daiki Ueno  <ueno@gnu.org>
392
393         wctype-h: fix gettext link error on mingw
394         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
395         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
396         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
397         rpl_towupper and rpl_towupper.
398
399 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
400
401         regex-tests, regex: allow glibc re_search behavior
402         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
403         re_search input data to make the multi-character collating element
404         in it clearly visible, and treat re_search return code 0 as valid.
405         * m4/regex.m4 (gl_REGEX): Likewise.
406
407 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
408
409         stdalign: doc fix
410         * doc/posix-headers/stdalign.texi (stdalign.h):
411         Gnulib doesn't support '_Alignof expr'.
412
413 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
414
415         stdalign: port to stricter ISO C11
416         ISO C11 says that _Alignof's operand must be a parenthesized type.
417         Problem reported by Eli Zaretskii in
418         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
419         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
420         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
421
422 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
423
424         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
425         Problem reported by Marco Atzeri in
426         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
427         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
428         Simply delegate to the system <sys/select.h> in this case too.
429         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
430         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
431         be needed on Solaris either.
432         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
433         Simply delgate to the system <sys/time.h> in this case.
434
435 2013-03-19  Karl Berry  <karl@gnu.org>
436
437         * build-aux/gnupload: check for erroneous (with gnupload) use of
438         ftp-upload.gnu.org, tweak help.
439
440 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
441
442         copy-file, rpmatch: fix problems found by cppcheck
443         Reported by Arno Onken in
444         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
445         * lib/rpmatch.c (try): Fix memory leak.
446         * lib/copy-file.c: Include "ignore-value.h".
447         (qcopy_file_preserving): Ignore chown value.
448         * modules/copy-file (Depends-on): Add ignore-value.
449
450 2013-01-27  Jim Meyering  <jim@meyering.net>
451
452         prefix-gnulib-mk: give better diagnostics
453         * build-aux/prefix-gnulib-mk: Don't just "die".
454         Give better diagnostics upon failure.
455
456 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
457
458         putenv: port to Solaris 10
459         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
460         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
461         is not what is wanted here.
462         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
463         declaration, not for its existence.
464
465 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
466
467         mktime: fix configure typo
468         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
469
470 2013-03-12  Eric Blake  <eblake@redhat.com>
471
472         regex-tests: skip UTF-8 test on mingw
473         * modules/regex-tests (Depends-on): Add localcharset.
474         * tests/test-regex.c (main): Use it to skip test on mingw.
475
476 2013-03-11  Eric Blake  <eblake@redhat.com>
477
478         tests: make it easier to bypass alarm time in debugger
479         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
480         * tests/test-memmem.c (main): Likewise.
481         * tests/test-passfd.c (main): Likewise.
482         * tests/test-ptsname.c (main): Likewise.
483         * tests/test-ptsname_r.c (main): Likewise.
484         * tests/test-strcasestr.c (main): Likewise.
485         * tests/test-strstr.c (main): Likewise.
486
487         regex: port to mingw's recent addition of undeclared alarm
488         * doc/posix-functions/alarm.texi (alarm): Document that alarm
489         exists but still doesn't work in newer mingw.
490         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
491         not existence.  Ensure SIGALRM is not trapped.
492         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
493         * m4/regex.m4 (gl_REGEX): Likewise.
494         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
495         * tests/test-regex.c (main): Use correct probe for alarm.
496
497         putenv: avoid compilation warning on mingw
498         * lib/putenv.c (_unsetenv): Protect variable declaration.
499         (putenv): Fix indentation.
500
501 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
502
503         unistd: don't prevent Tru64 Unix from using gnulib strtod.
504         * lib/unistd.in.h: be careful not to include un-needed system
505         stdlib.h from here, because that prevents gnulib stdlib.h from
506         defining rpl_strtod correctly.
507
508 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
509
510         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
511         changesets, but for the 'precision 0' test.
512         * tests/test-vasprintf-posix.c (test_function): Don't insist on
513         round-to-even, since POSIX says rounding is implementation-defined
514         and OS X 10.8.2 rounds 1.51 to 1 here.
515
516         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
517         changeset.
518         * tests/test-vasprintf-posix.c (test_function): Don't insist on
519         round-to-even, since POSIX says rounding is implementation-defined
520         and OS X 10.8.2 rounds 1.5 to 1 here.
521
522 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
523
524         vasnprintf-posix-tests: allow rounding 1.5 to 1
525         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
526         round-to-even, since POSIX says rounding is implementation-defined
527         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
528         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
529
530         bootstrap: port to FreeBSD
531         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
532         that treat '--' differently.  Reported by Mats Erik Andersson in
533         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
534
535 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
536
537         regex: rename remaining __attribute calls to __attribute__.
538         2012-02-25 changed definition of __attribute, but left some uses
539         unchanged, preventing compilation of regex module on most non-gcc
540         environments.
541         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
542         (lookup_collation_sequence_value, build_range_exp)
543         (build_collating_symbol): Set attributes with newly renamed
544         __attribute__ decorator.
545         * lib/regex_internal.c (re_string_peek_byte_case)
546         (re_node_set_compare, re_node_set_contains): Likewise.
547         * lib/regexec.c (acquire_init_state_context): Likewise.
548
549 2013-03-06  Bruno Haible  <bruno@clisp.org>
550
551         execute: Revert last change, but use a different condition.
552         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
553         on Windows.
554
555 2013-03-05  Eric Blake  <eblake@redhat.com>
556
557         execute: drop dead code
558         * lib/execute.c (nonintr_close, nonintr_open): Delete.
559
560 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
561
562         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
563         * m4/non-recursive-gnulib-prefix-hack.m4
564         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
565         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
566         <http://bugs.gnu.org/10305#237>.
567
568 2013-03-04  Eric Blake  <eblake@redhat.com>
569
570         test-getsockopt: avoid compiler warning
571         * tests/test-getsockopt.c (includes): Ensure close is declared.
572
573 2013-03-02  Bruno Haible  <bruno@clisp.org>
574
575         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
576         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
577
578 2013-03-02  Bruno Haible  <bruno@clisp.org>
579
580         gettext: Update to version 0.18.2.
581         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
582         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
583                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
584
585 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
586
587         regex: merge patches from libc
588
589         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
590         * lib/regex_internal.h (__attribute__): Rename from __attribute.
591         All uses changed.
592         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
593         (re_string_wchar_at, re_string_elem_size_at):
594         Mark function as possibly unused.
595
596         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
597         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
598         elements compare against the byte sequence of it, not its name.
599
600 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
601
602         putenv: port better to native Windows
603         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
604         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
605         (_unsetenv): Use _putenv if available.
606         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
607         a bit less likely to cause damage.
608         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
609         Fix the wrong value with SetEnvironmentVariable.
610         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
611         code better.
612
613 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
614
615         regex: ignore old-style-definition warnings
616         * lib/regex.c: Add pragma to ignore these warnings.
617         Problem reported for GNU tar by Pavel Raiskup.
618
619 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
620
621         getcwd: support coreutils better
622         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
623         but this might not be correct in coreutils, which disables
624         the raw decl checks.  Problem reported by Nagendra in
625         <http://bugs.gnu.org/10305#192>.
626         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
627         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
628         Test the getcwd function, not any macro, since getcwd.c wants the
629         function.
630         * m4/getcwd.m4 (gl_FUNC_GETCWD):
631         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
632         compile, as might happen if there's a macro but no function.
633
634         strtod: support coreutils better
635         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
636         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
637         disables the raw decl checks.  This assumes there is an underlying
638         strtod, but that's a safe assumption these days.
639         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
640
641         mountlist: port to HP NonStop
642         Reported by Joachim Schmitz in
643         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
644         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
645         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
646
647 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
648
649         extern-inline: avoid compilation error with HP-UX cc
650         Reported by Richard Lloyd in
651         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
652         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
653         Suppress extern inline with HP-UX cc.  This should be safe,
654         though it may hurt performance.  Perhaps someone with some HP-UX
655         experience can come up with a higher-performance fix.
656
657 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
658
659         putenv: fix heap corruption with mixed putenv/_putenv
660         Problem reported by Michael Goffioul in
661         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
662         * lib/putenv.c (putenv) [HAVE__PUTENV]:
663         Rely on _putenv to allocate the new environment.
664         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
665         * modules/putenv (configure.ac): Use it.
666
667 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
668
669         unsetenv etc.: port to Solaris 11 + GNU Emacs
670         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
671         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
672         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
673         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
674         idea but is too painful to fix right now), and without this gnulib
675         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
676         compiling unsetenv.c on Solaris 11.  Fix the problem for
677         unsetenv.c, and fix other similar occurrences.
678
679 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
680
681         secure_getenv: fix C++ declaration typo
682         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
683         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
684         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
685
686 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
687
688         careadlinkat: stop exporting careadlinkatcwd
689         Only Emacs used it directly, and Emacs no longer needs it.
690         * NEWS: Document this simplification.
691         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
692         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
693         for readlink.
694         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
695         Don't include stdlib.h; no longer needed.
696         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
697         * lib/relocwrapper.c: Adjust comment to match new dependencies.
698         * modules/areadlink (Depends-on): Add readlink.
699         (Maintainer): Add self.
700         * modules/careadlinkat (Depends-on): Remove readlink.
701
702         extensions: port better to HP-UX
703         This is merged from git Autoconf.
704         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
705         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
706         so that it's compatible with the value used when compiling.
707
708         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
709         Problem reported by Mats Erik Andersson in
710         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
711         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
712         openpty function exists, not merely when we intend to replace it.
713         This corrects the 2013-01-31 patch, which mistakenly defined
714         HAVE_OPENPTY even on hosts that lacked it.
715
716 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
717
718         secure_getenv: fix include typo
719         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
720
721         secure_getenv: port better to FreeBSD and Solaris
722         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
723         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
724         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
725         This works better on BSDish platforms.
726         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
727         Test for issetugid if __secure_getenv is missing.
728
729 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
730
731         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
732         Some of these changes are merged in from git Autoconf.
733         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
734         When deciding whether to define _XOPEN_SOURCE, inspect the
735         preprocessor macro __hpux instead of the more-heavyweight
736         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
737         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
738         as the key for __EXTENSIONS__.
739
740         unistd: avoid namespace pollution on non-glibc systems
741         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
742         This avoids namespace pollution on non-glibc systems, by causing
743         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
744         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
745         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
746
747 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
748
749         tmpdir: use secure_getenv
750         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
751         Define to secure_getenv, not getenv.
752         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
753         as that's now secure_getenv's job.
754         * modules/tmpdir (Depends-on): Add secure_getenv.
755
756         tempname: use secure_getenv
757         * lib/tempname.c (__secure_getenv) [!_LIBC]:
758         Define to secure_getenv, not getenv.
759         * modules/tempname (Depends-on):
760         Add secure_getenv.
761
762         secure_getenv: new module
763         * MODULES.html.sh (Extra functions based on ANSI C 89):
764         Add secure_getenv.
765         * doc/glibc-functions/secure_getenv.texi: New file.
766         * doc/gnulib.texi: Include it.
767         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
768         New files.
769         * lib/stdlib.in.h (secure_getenv): New decl.
770         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
771         * modules/stdlib (stdlib.h):
772         Add secure_getenv checks.
773
774 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
775
776         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
777         Reported for OS X 10.8.2 by Assaf Gordon in
778         <http://bugs.gnu.org/13516>.
779         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
780         !HAVE_OPENAT && !HAVE_FDOPENDIR.
781         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
782         so that they can be kept in sync more easily.  Avoid PATH_MAX
783         test on the Hurd.  Sync from test-getcwd.c for errno tests after
784         mkdir or chdir failure.
785         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
786         lib/getcwd.c.
787         (test_abort_bug): Do not test for the deep directory bug unless we
788         have openat support.  Avoid PATH_MAX test on the Hurd.
789
790         regex-tests, regex: fix bug: memset undeclared
791         * tests/test-regex.c: Don't include regex.h twice.  Include
792         string.h, to declare memset.  Christensen's report also mentioned
793         this issue.
794         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
795         test-regex.c, to avoid future problems like this.  Remove
796         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
797         twice.
798
799         regex-tests: fix link errors on older Solaris
800         These need to link with @LIBINTL@ to get libintl_gettext.
801         Problem reported by Tom G. Christensen in
802         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
803         * modules/regex-tests (test_regex_LDADD): New macro.
804
805 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
806
807         regex-tests: new module
808         * modules/regex-tests, tests/test-regex.c: New files.
809
810         regex: fix off-by-one error in configure test
811         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
812
813 2013-01-31  Eric Blake  <eblake@redhat.com>
814
815         regex: avoid infinite configure test
816         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
817
818 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
819
820         openpty: fix bug where HAVE_OPENPTY wasn't defined
821         See the thread starting at:
822         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
823         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
824         openpty function exists, not merely when we intend to replace it.
825
826 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
827
828         sys_time: port to Solaris 2.6
829         There is a circularity problem on Solaris 2.6, where <time.h> includes
830         <sys/time.h> for struct timespec.  The include nesting is gnulib
831         <time.h>, system <time.h>, gnulib <sys/time.h>, system
832         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
833         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
834         <sys/siginfo.h>; the last, innermost file needs struct
835         timestruc_t, which is defined in <sys/time.h>, which has not been
836         fully parsed.  Problem reported by Tom G. Christensen in
837         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
838         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
839         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
840         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
841         uses split double-inclusion guards.
842
843 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
844
845         regex: test for buffer overrun
846         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
847         for the just-fixed regex bug.
848
849 2013-01-29  Andreas Schwab  <schwab@suse.de>
850
851         regex: fix buffer overrun in regexp matcher [BZ #15078]
852         * lib/regexec.c (extend_buffers): Add parameter min_len.
853         (check_matching): Pass minimum needed length.
854         (clean_state_log_if_needed): Likewise.
855         (get_subexp): Likewise.
856
857 2013-01-28  Pádraig Brady  <P@draigBrady.com>
858
859         mountlist: don't consider "devtmpfs" as dummy
860         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
861         as there is storage associcated with it.
862
863 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
864
865         futimens-tests, utimens-tests: Depend on gettext.
866         This works around a problem introduced in my 2013-01-12 patch,
867         which added @LIBINTL@ to these modules.
868         * modules/futimens-tests (Depends-on):
869         * modules/utimens-tests (Depends-on): Add gettext.
870
871 2013-01-26  Eric Blake  <eblake@redhat.com>
872
873         test-getpeername: fix typo
874         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
875
876 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
877
878         bootstrap: remove the need for a sorted .gitignore file
879         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
880         rename to insert_if_absent(), so that we don't need or generate
881         a sorted .gitignore file.  We do require a .gitignore with no
882         existing duplicate entries and enforce that.
883         (sort_patterns): Remove this function as we now use the simpler
884         technigue of inserting blacklist entries at the top of the file,
885         assuming gnulib won't be inserting !whitelist entries.
886
887 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
888
889         readlinkat: don't depend on gl_FUNC_OPENAT
890         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
891         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
892         renameat.m4, symlinkat.m4; but one thing at a time.
893
894         statat: new module, split out from fstatat
895         GNU Emacs needs the POSIX-specified fstatat, but not the
896         gnulib-specified statat and lstat.  Split the latter two into a
897         new module 'statat'.
898         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
899         * lib/openat.h, lib/statat.c (STATAT_INLINE):
900         Rename from FSTATAT_INLINE. All uses changed.
901         * modules/fstatat (Files): Remove lib/statat.c.
902         (gl_MODULE_INDICATOR([fstatat])): Remove.
903         (lib_SOURCES): Remove.
904         (Maintainer): Add self.
905         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
906         * tests/test-fstatat.c (BASE): Don't define if already defined.
907         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
908
909 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
910
911         tests: don't assume fd 99 is closed
912         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
913         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
914         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
915         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
916         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
917         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
918         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
919         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
920         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
921         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
922         * tests/test-fwrite.c, tests/test-getpeername.c:
923         * tests/test-getsockname.c, tests/test-getsockopt.c:
924         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
925         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
926         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
927         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
928         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
929         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
930         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
931         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
932         * tests/test-unlinkat.c, tests/test-unlockpt.c:
933         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
934         Close file descriptor 99, instead of assuming it's already closed.
935
936 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
937
938         stpncpy: port to OS X 10.8
939         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
940         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
941
942 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
943
944         unistd: port to recent mingw
945         * lib/unistd.in.h: Remove special invocation convention for mingw,
946         which breaks for the latest mingw version.  See John W. Eaton in
947         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
948
949         largefile: port better to Mac OS X 10.5
950         This patch is backported from Autoconf git.
951         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
952         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
953         with ino_t size being different for configuration time versus
954         build/run time.  Problem reported by PHO in
955         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
956
957 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
958
959         doc: clarify -Werror
960         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
961         clarify that it's intended for developers, not for ordinary builds,
962         and mention --enable-gcc-warnings as one possible use.
963
964 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
965
966         stdint: fix build with Android's Bionic fox x86
967         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
968         was already included as _SSIZE_T_DEFINED_ might also be defined
969         in include/machine/_types.h, which is included by stdio.h
970
971 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
972
973         net_if-tests: port to Solaris 7 + GCC 3.4.6
974         Problem reported by Tom G. Christensen in
975         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
976         * tests/test-net_if.c (ni): Move to next the code that uses it,
977         so that it's declared only if needed.
978
979 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
980
981         net_if-tests: port to older Solaris
982         Problem reported by Tom G. Christensen in
983         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
984         * modules/net_if-tests (NET_IF_LIB): New substitution.
985         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
986         (HAVE_IF_NAMEINDEX): New C macro.
987         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
988
989         system-quote-tests: port to older Solaris
990         Problem reported by Tom G. Christensen in
991         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
992         * tests/test-system-quote-child.c (fopen, fread): Undef.
993
994         c-xvasprintf etc.: fix link errors on older Solaris
995         These need to link with @LIBINTL@ to get libintl_gettext.
996         Problem reported by Tom G. Christensen in
997         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
998         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
999         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1000         * modules/futimens-tests (test_futimens_LDADD):
1001         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1002
1003 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1004
1005         locale: port to Solaris 2.6 and 7 + GNU gettext
1006         * lib/locale.in.h: Just include_next <locale.h> when
1007         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1008         when combining the localename module with GNU gettext 0.18.2.
1009         Problem reported by Tom G. Christensen in
1010         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1011
1012 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1013
1014         stdlib: port to Solaris 2.6
1015         Also, the code worked on Solaris 7 through 9 only by accident.
1016         Problem reported by Tom G. Christensen in
1017         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1018         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1019         simply include the system stdlib.h.
1020         * lib/getopt.in.h (__need_system_stdlib_h):
1021         * lib/pthread.in.h (__need_system_stdlib_h):
1022         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1023         Define when including <stdlib.h>, to avoid problems at least for
1024         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1025         with the system stdlib.h.
1026
1027 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1028
1029         doc: update main copyright year
1030         * doc/gnulib.texi: Update copyright date.
1031
1032         doc: improve ISO 8601 discussion
1033         * doc/parse-datetime.texi (Combined date and time of day items):
1034         Specify more carefully what formats are supported and what is
1035         done with excess precision.
1036
1037 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1038
1039         doc: avoid small caps
1040         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1041         they're more trouble than they're worth.  Suggested by Karl Berry
1042         in <http://bugs.gnu.org/13360>.
1043
1044         regex: conform to strict C
1045         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1046         From Aharon Robbins.
1047
1048         gnulib-tool: fix incompatibility with autopoint 0.18.2
1049         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1050         Problem reported by Tom G. Christensen in
1051         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1052
1053 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1054
1055         fprintftime: bring back and reword fwrite comment
1056         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1057
1058         stdio: remove now-unnecessary stdio.c
1059         Since stdio.in.h no longer uses inline functions, we no longer
1060         need to compile the extern versions.
1061         * lib/stdio.c: Remove.
1062         * modules/stdio (Files): Remove lib/stdio.c.
1063         (lib_SOURCES): Remove.
1064
1065         unicodeio: depend on stdio, not ignore-value
1066         * lib/unicodeio.c: Do not include ignore-value.h.
1067         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1068         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1069
1070         fprintftime: depend on stdio, not ignore-value
1071         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1072         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1073         since the stdio module arranges to silence that warning now.
1074         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1075
1076 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1077
1078         stdint-tests: Fix expanded-before-required-warning.
1079         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
1080
1081 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1082
1083         fwrite: silence __wur only for older glibc versions
1084         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1085         This will help us remove this workaround some time in the far future.
1086
1087 2013-01-03  Eric Blake  <eblake@redhat.com>
1088
1089         fwrite: silence __wur without using inline
1090         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1091         just gcc, and in a way that avoids inline issues.
1092         * modules/stdio (Depends-on): Drop extern-inline.
1093
1094 2013-01-03  Jim Meyering  <jim@meyering.net>
1095
1096         update-copyright: avoid copyright notice date corruption
1097         Given a sequence of copyright year numbers in which the final
1098         one was a two-digit number that happened to be a substring of
1099         a preceding four-digit year number, we would mistakenly update
1100         the substring (from two- to four-digit) rather than the two-digit
1101         number at the end, which, combined with the addition of the current
1102         4-digit year number would yield two 5-digit year numbers, e.g.,
1103         here, it would convert the first "99" to "1999, 2013" rather than
1104         the final one:
1105           1991, 99
1106           11999, 20131, 1999
1107         * build-aux/update-copyright: Tighten a regexp.
1108         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1109         Reported by Joseph Myers in
1110         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1111
1112 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1113
1114         regex: omit needless signed-pointer casts
1115         * lib/regcomp.c (build_charclass, build_charclass_op):
1116         Use char *, not unsigned char *, for class name and extra.
1117         The char values are always nonnegative so there's no need to
1118         insist on unsigned char * here, and using char * removes the need
1119         for casts.  Reported by Aharon Robbins in
1120         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1121
1122         regex: support Gawk, which never uses alloca
1123         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1124         Do not include in this case.  Gawk doesn't supply a substitute
1125         alloca.h and doesn't need one.
1126
1127         regex: port __libc_lock_define usage to C89
1128         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1129         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1130         does not conform to C89, as it has an empty macro argument.
1131         Reported by Aharon Robbins in
1132         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1133
1134 2013-01-01  Eric Blake  <eblake@redhat.com>
1135
1136         maint: update all copyright year number ranges
1137         Run "make update-copyright".
1138
1139         version-etc: bump copyright year reported in --version
1140         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1141
1142 2012-12-31  Eric Blake  <eblake@redhat.com>
1143
1144         sigprocmask-tests: skip test if pid is unexpectedly large
1145         * tests/test-sigprocmask.c (main): Add range check.
1146
1147         git-version-gen: avoid test -z portability glitch
1148         * build-aux/git-version-gen: Prefer portable test spelling, since
1149         git-version-gen is run on more than just developer machines.
1150
1151 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1152
1153         git-version-gen: add --fallback option to use if git is not present
1154         * build-aux/git-version-gen: Add support for the new option --fallback,
1155         which comes into play when there is no $tarball_version_file and
1156         git is not working.
1157         (scriptversion): Update.
1158
1159         maint.mk: handle missing git with more grace
1160         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1161         Quietly proceed if git is not present.
1162
1163 2012-12-31  Eric Blake  <eblake@redhat.com>
1164
1165         dup2: work around cygwin bug
1166         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1167         * lib/dup2.c (rpl_dup2): Work around it.
1168         * doc/posix-functions/dup2.texi (dup2): Document it.
1169
1170 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1171
1172         regex: remove unnecessary dependency on localcharset.h
1173         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1174         hasn't been needed for years.
1175         * modules/regex (Depends-on): Remove localcharset.
1176
1177         regex: revert single-byte change
1178         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1179         to this function.  This was alredy fixed in a different way, at
1180         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1181         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1182         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1183
1184         regex: simplify based on Gawk version
1185         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1186         Reported by Aharon Robbins in
1187         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1188
1189 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1190
1191         regex: check that pattern char is single-byte
1192         Reported by Aharon Robbins in
1193         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1194         * lib/regexec.c (check_node_accept_bytes):
1195         Return 0 if the pattern string has a multibyte character here.
1196
1197         regex: implement rational ranges
1198         Reported by Aharon Robbins in
1199         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1200         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1201         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1202         Implement rational ranges.
1203
1204         regex: avoid redefining __wctype
1205         Reported by Aharon Robbins in
1206         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1207         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1208         #undef before defining.
1209
1210         regex: port to hosts where malloc (0) == NULL
1211         Reported by Aharon Robbins in
1212         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1213         * lib/regex_internal.c (re_node_set_alloc):
1214         Don't assume that malloc (0) yields nonnull.
1215         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1216         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1217         * modules/regex (Files): Add m4/eealloc.m4.
1218
1219         regex: port to C89
1220         Reported by Aharon Robbins in
1221         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1222         * lib/regcomp.c (init_word_char): Declaration before statement.
1223
1224         regex: merge glibc changes
1225         Also, copy the license wording from glibc.  This simplifies
1226         merging changes.  gnulib-tool will change the wording to GPL as
1227         appropriate, when importing it to other packages.  The only
1228         glibc change made since the last merge, which needs merging, is:
1229         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1230         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1231
1232         * users.txt: Add Emacs.
1233
1234         doc: omit mention of version when not needed
1235         * doc/gnulib-intro.texi (Portability and Application Code):
1236         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1237         Don't mention particular dates or versions when not necessary, so
1238         that the documentation won't go out of date so quickly.
1239
1240         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1241
1242 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1243
1244         bootstrap: pass --force to autoreconf.
1245         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1246         Add "--force" so that Automake's ylwrap and other such tools
1247         be updated at each bootstrap invocation.
1248         Use it.
1249
1250 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1251
1252         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1253         The earlier patch forgot to update one of the #if conditions, causing
1254         a problem on Debian testing i386 reported by Mats Erik Andersson
1255         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1256         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1257         (__argp_fmtstream_puts, argp_fmtstream_puts)
1258         (__argp_fmtstream_write, argp_fmtstream_write)
1259         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1260
1261         * doc/gnulib-readme.texi: Minor fixups.
1262         (Portability guidelines): Modernize URLs.  Remove some repetition.
1263         (Indent with spaces not TABs): Reword to avoid too-long lines.
1264         Remove some '@ifset standalone' stuff that isn't used.
1265
1266         * doc/gnulib-readme.texi (Portability guidelines):
1267         ctype.h, not ctime.h.
1268
1269         Correct name of POSIX.1-2001.
1270         * doc/posix-functions/fgetc.texi (fgetc):
1271         * doc/posix-functions/fgets.texi (fgets):
1272         * doc/posix-functions/fread.texi (fread):
1273         * doc/posix-functions/fscanf.texi (fscanf):
1274         * doc/posix-functions/getc.texi (getc):
1275         * doc/posix-functions/getchar.texi (getchar):
1276         * doc/posix-functions/scanf.texi (scanf):
1277         POSIX.1-2001, not POSIX-2001.
1278
1279         doc: move README into manual
1280         * README: Move contents to new file doc/gnulib-readme.texi.
1281         Replace with a one-line summary.
1282         * doc/gnulib.texi (Brief Overview): New section,
1283         with old intro preface.  Include gnulib-readme.texi for contents.
1284         (Philosophy): Rename from "Introduction", since this
1285         section no longer introduces the rest.  Write a new preface.
1286         * doc/gnulib-readme.texi: New file, with the old contents of
1287         README texinfo-ized.  This way, the README info appears
1288         in the online and printed manual.
1289
1290 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1291
1292         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1293         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1294         c_vasprintf() prototype.
1295
1296 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1297
1298         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1299         * lib/c-vasprintf.h: Remove stray semicolon.
1300
1301 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1302
1303         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1304         It is obsolete and is planned to be removed from Automake 1.14; see
1305         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1306         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1307         (installdirs-data, installdirs-data-yes):
1308         Use $(MKDIR_P), not $(mkdir_p).
1309         * m4/intl.m4 (AM_INTL_SUBDIR):
1310         * m4/po.m4 (AM_PO_SUBDIRS):
1311         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1312
1313 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1314
1315         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1316         On this platform, we are not optimizing but we are using
1317         the substitute for extern inlines, so compile as if
1318         C99-style extern inline, or a substitute, is available.
1319         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1320         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1321         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1322         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1323         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1324         Declare as ARGP_FS_EI, not as extern.
1325         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1326         (__option_is_short, _option_is_end, __option_is_end)
1327         [!_LIBC && __USE_EXTERN_INLINES]:
1328         Declare as ARGP_EI, not as extern.
1329
1330 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1331
1332         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1333         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1334         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1335         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1336         ...), as the latter is fatal with older Autoconfs.
1337         Problem reported and fix suggested by Eric Blake in thread starting at
1338         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1339
1340 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1341
1342         AC_PROG_MKDIR_P: don't workaround if not buggy
1343         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1344         Define only for Autoconf versions before 2.62.
1345         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1346         undocumented m4_PACKAGE_VERSION, for consistency with the
1347         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1348         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1349         was introduced in 2.62.
1350
1351 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1352
1353         New 'c-*printf' modules for formatted output in C locale.
1354
1355         New module 'c-vasnprintf'.
1356         * modules/c-vasnprintf: New file.
1357         * lib/c-vasnprintf.c: New file.
1358         * lib/c-vasnprintf.h: New file.
1359
1360         New module 'c-snprintf'.
1361         * modules/c-snprintf: New file.
1362         * modules/c-snprintf-tests: New file.
1363         * lib/c-snprintf.c: New file.
1364         * lib/c-snprintf.h: New file.
1365         * tests/test-c-snprintf.c: New file.
1366         * tests/test-c-snprintf.sh: New file.
1367
1368         New module 'c-vsnprintf'.
1369         * modules/c-vsnprintf: New file.
1370         * modules/c-vsnprintf-tests: New file.
1371         * lib/c-vsnprintf.c: New file.
1372         * lib/c-vsnprintf.h: New file.
1373         * tests/test-c-vsnprintf.c: New file.
1374         * tests/test-c-vsnprintf.sh: New file.
1375
1376         New module 'c-vasprintf'.
1377         * modules/c-vasprintf: New file.
1378         * modules/c-vasprintf-tests: New file.
1379         * lib/c-asprintf.c: New file.
1380         * lib/c-vasprintf.c: New file.
1381         * lib/c-vasprintf.h: New file.
1382         * tests/test-c-vasprintf.c  +: New file.
1383         * tests/test-c-vasprintf.sh: New file.
1384
1385         New module 'c-xvasprintf'.
1386         * modules/c-xvasprintf: New file.
1387         * modules/c-xvasprintf-tests: New file.
1388         * lib/c-xasprintf.c: New file.
1389         * lib/c-xvasprintf.c: New file.
1390         * lib/c-xvasprintf.h: New file.
1391         * tests/test-c-xvasprintf.c: New file.
1392         * tests/test-c-xvasprintf.sh: New file.
1393
1394 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1395
1396         argp: better 'inline'
1397         Use extern-inline module to declare extern inline functions.
1398         This avoids some bogus warning diagnostics.  Problem discovered
1399         when modifying GNU tar to use the manywarnings module.
1400         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1401         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1402         Define based on extern-inline.
1403         * modules/argp (Depends-on): Add extern-inline.
1404
1405 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1406
1407         filemode, sys_stat: Handle MPX files a la AIX.
1408         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1409         * lib/sys_stat.in.h (S_ISMPX): New macro.
1410         * tests/test-sys_stat.c: Add tests for MPX files.
1411
1412 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1413
1414         x-to-1: honor $PERL
1415         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1416         a chance to use his preferred version of Perl.  This is typically
1417         required by Darwin users whose default /usr/bin/perl does not have all
1418         the libraries required by help2man, and who need to use their MacPorts
1419         installation of Perl instead.
1420
1421 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1422
1423         gnu-web-doc-update: add all the new files, even in new directories
1424         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1425         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1426         Use it.
1427         (main): Don't use cvsutils to get the list of unknown files,
1428         just add all the existing files and directories.
1429
1430 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1431
1432         gnu-web-doc-update: improve --help
1433         * build-aux/gnu-web-doc-update: Move comments into --help.
1434
1435 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1436
1437         mountlist: recognize more "dummy" file systems
1438         * lib/mountlist.c (ME_DUMMY_0):
1439         Add these dummy FS names to the list:
1440         - "debugfs" virtual filesystem for kernel debugging
1441         - "devpts" PTY slave filesystem
1442         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1443         - "fusectl" control filesystem for FUSE
1444         - "mqueue" enumerates POSIX message queues
1445         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1446         - "sysfs" is for exporting kernel objects
1447         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1448
1449 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1450
1451         extern-inline: avoid incompatibility with Darwin Libc
1452         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1453         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1454         Problem reported by Akim Demaille in
1455         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1456
1457 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1458
1459         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1460         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1461         let it handle password prompting.
1462
1463 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1464
1465         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1466         * lib/canonicalize.c (canonicalize_filename_mode):
1467         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1468         fetching the current directory.  Don't overrun the beginning of
1469         rpath if there's no slashes after the MS-Windows drive letter.
1470
1471 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1472
1473         maint.mk: avoid extra forks
1474         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1475         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1476         So use that instead of "$(shell test -f FILE && echo FILE)".
1477
1478 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1479
1480         vasnprintf: fix ASCII_ONLY typo
1481         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1482         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1483         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1484         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1485         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1486
1487 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1488
1489         list, oset, xlist, xoset: fix extern inline issue with C99
1490         This was introduced by my recent changes for 'inline'.
1491         Problem reported for gettext by Daiki Ueno in
1492         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1493         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1494         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1495         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1496         (gl_list_previous_node, gl_list_get_at)
1497         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1498         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1499         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1500         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1501         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1502         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1503         (gl_list_iterator_free, gl_sortedlist_search)
1504         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1505         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1506         (gl_sortedlist_remove):
1507         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1508         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1509         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1510         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1511         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1512         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1513         (gl_list_add_at, gl_sortedlist_add):
1514         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1515         Wrap these extern decls inside "#if 0", because they are implemented
1516         as inline functions, and extern inline is not what's wanted here.
1517         It would simplify these .h files to remove the extern decls entirely,
1518         although a downside would be less-clear separation between
1519         specification and implementation.
1520
1521 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1522
1523         sys_stat: no 'static inline'
1524         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1525         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1526
1527         extern-inline: no 'static inline'
1528         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1529         Do not require AC_C_INLINE.
1530         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1531         'static inline', for older compilers.
1532
1533         snippet/warn-on-use: no 'static inline'
1534         * build-aux/snippet/warn-on-use.h:
1535         Remove unnecessary 'inline' in comment.
1536
1537         rbtree-list, rbtreehash-list: no 'static inline'
1538         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1539         * lib/gl_anytree_list2.h (node_at):
1540         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1541         (gl_oset_first, add_nodes_to_buckets):
1542         Now static, not static inline.
1543
1544         regex: no 'static inline'
1545         * lib/regex_internal.c (calc_state_hash):
1546         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1547         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1548         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1549         Now static, not static inline.
1550         (inline) [__GNUC__ < 3 && _LIBC]:
1551         Remove macro; no longer needed.
1552
1553         xvasprintf: no 'static inline'
1554         * lib/xvasprintf.c (xstrcat):
1555         Now static, not static inline.
1556         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1557         Do not require AC_C_INLINE.
1558
1559         parse-datetime, parse-duration: no 'static inline'
1560         * lib/parse-datetime.y (to_uchar):
1561         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1562         (scale_n_add):
1563         Now static, not static inline.
1564         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1565         * modules/parse-duration (configure.ac):
1566         Do not require AC_C_INLINE.
1567
1568         getaddrinfo: no 'static inline'
1569         * lib/getaddrinfo.c (validate_family):
1570         Now static, not static inline.
1571         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1572         Do not require AC_C_INLINE.
1573
1574         ftruncate, fts, lstat, openat, raise: no 'static inline'
1575         * lib/ftruncate.c (chsize_nothrow):
1576         * lib/fts.c (opendirat, diropen):
1577         * lib/lstat.c (orig_lstat):
1578         * lib/openat.c (orig_openat):
1579         * lib/raise.c (raise_nothrow):
1580         Now static, not static inline.
1581         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1582         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1583         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1584         * m4/openat.m4 (gl_PREREQ_OPENAT):
1585         * m4/raise.m4 (gl_PREREQ_RAISE):
1586         Do not require AC_C_INLINE.
1587
1588         fflush, stat: no 'static inline'
1589         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1590         (clear_ungetc_buffer, disable_seek_optimization)
1591         (restore_seek_optimization, update_fpos_cache):
1592         * lib/stat.c (orig_stat):
1593         Now static, not static inline.
1594         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1595         (update_fpos_cache):
1596         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1597         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1598         * m4/stat.m4 (gl_PREREQ_STAT):
1599         Do not require AC_C_INLINE.
1600
1601         error, filevercmp: no 'static inline'
1602         * lib/error.c (is_open, flush_stdout):
1603         * lib/filevercmp.c (order):
1604         Now static, not static inline.
1605         * m4/error.m4 (gl_PREREQ_ERROR):
1606         * modules/filevercmp (configure.ac):
1607         Do not require AC_C_INLINE.
1608
1609         dup, execute, fatal-signal, etc.: no 'static inline'
1610         * lib/dup.c (dup_nothrow):
1611         * lib/execute.c (nonintr_close, nonintr_open):
1612         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1613         * lib/fopen.c (orig_fopen):
1614         * lib/freadseek.c (freadptrinc):
1615         * lib/freopen.c (orig_freopen):
1616         * lib/fstat.c (orig_fstat, fstat_nothrow):
1617         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1618         (get_rusage_as_via_iterator):
1619         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1620         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1621         * lib/isatty.c (_isatty_nothrow):
1622         * lib/open.c (orig_open):
1623         * lib/read.c (read_nothrow):
1624         * lib/sigprocmask.c (signal_nothrow):
1625         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1626         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1627         * lib/wait-process.c (unregister_slave_subprocess):
1628         * lib/write.c (write_nothrow):
1629         Now static, not static inline.
1630         * lib/spawn-pipe.c (nonintr_open): Define only if
1631         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1632         * m4/dup.m4 (gl_PREREQ_DUP):
1633         * m4/execute.m4 (gl_EXECUTE):
1634         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1635         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1636         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1637         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1638         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1639         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1640         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1641         * m4/open.m4 (gl_PREREQ_OPEN):
1642         * m4/read.m4 (gl_PREREQ_READ):
1643         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1644         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1645         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1646         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1647         * m4/write.m4 (gl_PREREQ_WRITE):
1648         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1649         Do not require AC_C_INLINE.
1650
1651         c-strtod, memcoll, readutmp: no 'static inline'
1652         * lib/c-strtod.c (c_locale):
1653         * lib/memcoll.c (strcoll_loop):
1654         * lib/readutmp.c (desirable_utmp_entry):
1655         Now static, not static inline.
1656         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1657         * m4/memcoll.m4 (gl_MEMCOLL):
1658         * m4/readutmp.m4 (gl_READUTMP):
1659         Do not require AC_C_INLINE.
1660
1661         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1662         * lib/arctwo.c (to_uchar):
1663         * lib/md4.c (set_uint32):
1664         * lib/md5.c (set_uint32):
1665         * lib/sha1.c (set_uint32):
1666         * lib/sha256.c (set_uint32):
1667         * lib/sha512.c (set_uint64):
1668         Now static, not static inline.  This is a bit simpler, and doesn't
1669         affect performance with GCC and default optimization.
1670         * m4/arctwo.m4 (gl_ARCTWO):
1671         * m4/md4.m4 (gl_MD4):
1672         * m4/md5.m4 (gl_MD5):
1673         * m4/sha1.m4 (gl_SHA1):
1674         * m4/sha256.m4 (gl_SHA256):
1675         * m4/sha512.m4 (gl_SHA512):
1676         Do not require AC_C_INLINE.
1677
1678         cond, lock, thread: better 'inline'
1679         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1680         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1681         New macros.  Use them instead of static inline, for header functions.
1682         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1683         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1684         * lib/glthread/lock.c (gl_waitqueue_init)
1685         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1686         * lib/glthread/thread.c (get_current_thread_handle):
1687         Change 'static inline' to 'inline'.
1688         * lib/glthread/cond.h, lib/glthread/thread.h:
1689         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1690         * m4/cond.m4 (gl_COND):
1691         * m4/lock.m4 (gl_PREREQ_LOCK):
1692         * m4/thread.m4 (gl_THREAD):
1693         Do not require AC_C_INLINE.
1694         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1695
1696         chdir-long, cycle-check, savewd: better 'inline'
1697         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1698         (find_non_slash):
1699         * lib/cycle-check.c (is_zero_or_power_of_two):
1700         * lib/savewd.c (savewd_delegating):
1701         Change 'static inline' to 'inline'.
1702         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1703         Replace all remaining uses of 'static inline' with it.
1704         * lib/savewd.h:
1705         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1706         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1707         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1708         * m4/savewd.m4 (gl_SAVEWD):
1709         Do not require AC_C_INLINE.
1710         * modules/savewd (Depends-on): Add extern-inline.
1711
1712         base32, base64: no need for 'inline'
1713         * lib/base32.c (to_uchar, get_8, decode_8):
1714         * lib/base64.c (to_uchar, get_4, decode_4):
1715         Change 'static inline' to 'inline'.
1716         * m4/base32.m4 (gl_PREREQ_BASE32):
1717         * m4/base64.m4 (gl_PREREQ_BASE64):
1718         Do not require AC_C_INLINE.
1719
1720         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1721         * lib/gl_array_oset.c (gl_array_nx_add_at):
1722         (gl_array_remove_at):
1723         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1724         (add_to_bucket, remove_from_bucket):
1725         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1726         Change 'static inline' to 'static', as it's simpler to omit
1727         'inline' unless there's a significant performance advantage.
1728
1729         list, oset, xlist, xoset, xsublist: simplify via extern inline
1730         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1731         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1732         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1733         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1734         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1735         New macro.  Replace all uses of 'static inline' with it.
1736         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1737         instead of as macros FOO that are defined to static inline
1738         functions FOO_inline.
1739         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1740         * lib/gl_xsublist.c:
1741         Reimplement from scratch, by defining the corresponding *_INLINE
1742         macro and including the corresponding .h file.  This is simpler.
1743         * modules/list, modules/oset, modules/xlist, modules/xoset:
1744         (Files): Remove m4/gl_list.m4.
1745         (configure.ac): Remove gl_LIST.
1746         * m4/gl_list.m4: Remove.
1747         * modules/list, modules/oset, modules/xlist, modules/xoset:
1748         * modules/xsublist:
1749         (Depends-on): Depend on extern-inline, not inline.
1750
1751         xalloc: better 'inline'
1752         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1753         New macro.  Replace all uses of 'static inline' with it.
1754         (static_inline): Remove.
1755         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1756         Let 'extern inline' do the work automatically, instead of doing
1757         it by hand.
1758         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1759         Remove.  All uses removed.
1760         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1761
1762         gethrxtime: better 'inline'
1763         * lib/xtime.c: New file.
1764         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1765         * lib/xtime.h (XTIME_INCLUDE):
1766         New macros.  Replace all uses of 'static inline' with them.
1767         * lib/gethrxtime.c (gethrxtime): Define only if
1768         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1769         this source file is now always compiled, because of the extern inline.
1770         * lib/gethrxtime.h, lib/xtime.h:
1771         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1772         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1773         if gethrtime works, as they're not needed in that case.
1774         (gl_XTIME): Do not require AC_C_INLINE.
1775         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1776         compiled now.  Move the check into gl_GETHRXTIME.
1777         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1778         (Depends-on): Add extern-inline.
1779         (configure.ac): gethrxtime is always compiled now.
1780         (lib_SOURCES): Add gethrxtime.c.
1781
1782         wctype-h: better 'inline'
1783         * lib/wctype-h.c: New file.
1784         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1785         New macro.  Replace all uses of 'static inline' with it.
1786         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1787         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1788         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1789         (Depends-on): Add extern-inline.
1790
1791         unistd: better 'inline'
1792         * lib/unistd.c: New file.
1793         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1794         New macro.  Replace all uses of 'static inline' with it.
1795         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1796         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1797         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1798         (Depends-on): Add extern-inline.
1799
1800         sys_socket: better 'inline'
1801         * lib/sys_socket.c: New file.
1802         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1803         New macro.  Replace all uses of 'static inline' with it.
1804         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1805         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1806         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1807         (Depends-on): Add extern-inline.
1808
1809         stdio: better 'inline'
1810         * lib/stdio.c: New file.
1811         * lib/stdio.in.h (_GL_STDIO_INLINE):
1812         New macro.  Replace all uses of 'static inline' with it.
1813         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1814         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1815         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1816         (Depends-on): Add extern-inline.
1817
1818         sigaction: better 'inline'
1819         * lib/sig-handler.c: New file.
1820         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1821         New macro.  Replace all uses of 'static inline' with it.
1822         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1823         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1824         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1825         (Depends-on): Add extern-inline.
1826
1827         selinux-h: better 'inline'
1828         * lib/se-context.c, lib/se-selinux.c: New files.
1829         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1830         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1831         New macro.  Replace all uses of 'static inline' with it.
1832         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1833         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1834         New macro.  Replace all uses of 'static inline' with it.
1835         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1836         * modules/selinux-h (Files, lib_SOURCES):
1837         Add lib/se-context.c, lib/se-selinux.c.
1838         (Depends-on): Add extern-inline.
1839         (configure.ac): Do not require AC_C_INLINE.
1840
1841         pthread: better 'inline'
1842         * lib/pthread.c: New file.
1843         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1844         New macro.  Replace all uses of 'static inline' with it.
1845         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1846         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1847         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1848         * modules/pthread (Files): Add lib/pthread.c.
1849         (Depends-on): Add extern-inline.
1850
1851         math: better 'inline'
1852         * lib/math.c: New file.
1853         * lib/math.in.h (_GL_MATH_INLINE):
1854         New macro.  Replace all uses of 'static inline' with it.
1855         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1856         * m4/math_h.m4 (gl_MATH_H):
1857         Do not require AC_C_INLINE.
1858         * modules/math (Files, lib_SOURCES):
1859         Add lib/math.c.
1860         (Depends-on): Add extern-inline.
1861
1862         count-one-bits: better 'inline'
1863         * lib/count-one-bits.c: New file.
1864         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1865         New macro.  Replace all uses of 'static inline' with it.
1866         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1867         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1868         Do not require AC_C_INLINE.
1869         * modules/count-one-bits (Files, lib_SOURCES):
1870         Add lib/count-one-bits.c.
1871         (Depends-on): Add extern-inline.
1872
1873         count-leading-zeros: better 'inline'
1874         * lib/count-leading-zeros.c: New file.
1875         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1876         New macro.  Replace all uses of 'static inline' with it.
1877         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1878         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1879         Do not require AC_C_INLINE.
1880         * modules/count-leading-zeros (Files, lib_SOURCES):
1881         Add lib/count-leading-zeros.c.
1882         (Depends-on): Add extern-inline.
1883
1884         bitrotate: better 'inline'
1885         * lib/bitrotate.c: New file.
1886         * lib/bitrotate.h (BITROTATE_INLINE):
1887         New macros.
1888         Replace all uses of 'static inline' with them.
1889         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1890         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1891         (Depends-on): Add extern-inline.
1892         (configure.ac): Do not require AC_C_INLINE.
1893
1894 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1895
1896         maint.mk: avoid gratuitous failure
1897         Reported by Stefano Lattarini in
1898         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1899         * top/maint.mk (public-submodule-commit): Quote more safely.
1900
1901 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1902
1903         canonicalize, canonicalize-lgpl: support MS-Windows file names
1904         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1905         for test cases, which it'd be nice to add at some point.
1906         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1907         * lib/canonicalize.c (canonicalize_filename_mode):
1908         * lib/canonicalize-lgpl.c (__realpath):
1909         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1910         slash is at the beginning of the file name.  Use ISSLASH, instead
1911         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1912         the first character with '/'.  Test for
1913         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1914         with a drive letter.
1915         * lib/canonicalize.c (SLASHES): New macro.
1916         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1917
1918 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1919
1920         fts: introduce FTS_VERBATIM
1921         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1922         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1923         * lib/fts.c (fts_open): Honor it.
1924
1925 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1926
1927         getlogin-tests: allow errno == ENXIO
1928         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1929         with errno == ENXIO (No controlling tty).
1930         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1931         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1932         with errno == ENOENT.  This was reported to happen in various
1933         situations on GNU/Linux.
1934
1935 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1936
1937         getlogin-tests: allow errno == ENOENT
1938         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1939         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1940         when running a test in an Emacs shell buffer.
1941
1942 2012-11-08  Jim Meyering  <jim@meyering.net>
1943
1944         tests/nap.h: avoid warning about unused variable
1945         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1946
1947         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1948         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1949         white space before each of the special-cased file names, to avoid
1950         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1951         in http://bugs.gnu.org/12830.
1952
1953 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1954
1955         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1956         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1957         fails with errno == EBADF when fd is opened with O_PATH.
1958         Reported by Jim Meyering in
1959         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1960         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1961         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1962
1963 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1964
1965         test-utimens: speed up by taking shorter naps
1966         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1967         New functions.
1968         (nap): Use them, to do a better job of guessing the delay.
1969         On Fedora 17 with ext4 atop md atop hard disks, this made
1970         test-utimens run 10x faster, because the test napped for
1971         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1972         <http://bugs.gnu.org/12820#11>.
1973
1974 2012-11-07  Jim Meyering  <jim@meyering.net>
1975
1976         mountlist.c: fix a compilation failure
1977         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1978         I introduced while transforming commit v0.0-7683-g613bcb6
1979
1980 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1981
1982         errno: port to LynxOS 178 2.2.2
1983         Problem reported by Joel Brobecker in
1984         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1985         * doc/posix-headers/errno.texi (errno.h): Document this.
1986         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1987         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1988         Supply a string for EILSEQ.
1989         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1990
1991 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1992
1993         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1994         Linux kernel 2.6.39 introduced O_PATH (see
1995         <http://lwn.net/Articles/433854/>) and this is a better fallback
1996         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1997         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1998         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1999         * lib/fcntl.in.h (O_ACCMODE):
2000         * tests/test-fcntl-h.c (main):
2001         Do not reject O_ACCMODE merely because it has more than the
2002         minimal number of bits, as POSIX allows extensions here.
2003
2004 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2005
2006         mountlist: do not classify a bind-mounted dir entry as "dummy"
2007         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2008         the "none"-testing clause.
2009         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2010         exception for bind-mounted directories.
2011
2012 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2013
2014         quote: provide a means to escape strings with nul characters
2015         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2016         (quote, quote_n): Rename formal arguments for consistency with
2017         quotearg.
2018
2019 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2020
2021         test-raise: don't assume 199 is an invalid signal
2022         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2023
2024         sh-quote-tests: port to Solaris 9
2025         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2026         Problem reported by Dagobert Michelsen in
2027         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2028
2029 2012-10-28  Jim Meyering  <jim@meyering.net>
2030
2031         maint.mk: rename a new configurable variable
2032         * top/maint.mk (_gl_translatable_string_re): Rename from
2033         translation-markers: _gl_ prefix to insulate from user Makefile code,
2034         and the _re suffix to inform that it's a regular expression.
2035
2036 2012-10-26  Eric Blake  <eblake@redhat.com>
2037
2038         maint.mk: let packages tweak sc_po_check pattern
2039         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2040         finding files with other translation markers.
2041
2042 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2043
2044         euidaccess: speed up 'configure' on GNU hosts
2045         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2046         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2047         it's needed only in this case.  Use AC_CHECK_DECLS, not
2048         AC_CHECK_DECLS_ONCE.
2049         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2050         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2051
2052         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2053
2054 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2055
2056         fchmodat, fchownat, fstatat: port to non-inlining compilers
2057         Problem reported for FreeBSD 9 by Jim Meyering in
2058         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2059         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2060         New files, which define FCHMODAT_INLINE etc.
2061         * lib/fchmodat.c (FCHMODAT_INLINE):
2062         * lib/fchownat.c (FCHOWNAT_INLINE):
2063         * lib/fstatat.c (FSTATAT_INLINE):
2064         Remove, as chmodat.c etc. now do this.
2065         * modules/fchmodat (Files): Add lib/chmodat.c.
2066         * modules/fchownat (Files): Add lib/chownat.c.
2067         * modules/fstatat (Files): Add lib/statat.c.
2068
2069 2012-10-15  Jim Meyering  <jim@meyering.net>
2070
2071         fchmodat.c, fchownat.c: compile-impeding typos
2072         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2073         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2074         Introduced in commit v0.0-7636-gd202279.
2075
2076 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2077
2078         fcntl-h: support GNU flags like O_IGNORE_CTTY
2079         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
2080         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
2081         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
2082         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2083         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2084         Define to 0 if not already defined.
2085         * tests/test-fcntl-h.c: Test these new flags.
2086
2087 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2088
2089         faccessat, etc.: support AT_FDCWD-only use
2090         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2091         this function only if its first argument is AT_FDCWD.
2092         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2093         values other than AT_FDCWD, so it doesn't want all the openat
2094         machinery with fchdir etc.
2095         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2096         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2097         * modules/unlinkat (Files):
2098         Remove lib/openat-priv.h, as at-internal supplies this file.
2099         Removing this file here allows us to support programs like Emacs
2100         that avoid at-internal.
2101
2102         faccessat: speed up 'configure' on mainstream hosts
2103         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2104         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2105         since it's only on unusual platforms that we need to check for
2106         'access', and it's better not to slow 'configure' down on all
2107         platforms.
2108
2109         faccessat: port to Solaris 10
2110         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2111         Needed on Solaris 10, which doesn't have AT_EACCESS,
2112         so we need the Gnulib fcntl.h, which defines it.
2113
2114 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2115         canonicalize: fix C89 compilation
2116         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2117         declarations so C89 is supported.  Also remove the comment
2118         referencing memorty allocation as the suggested feature could
2119         not be implemented as suggested.
2120         Reported by Michael Goffioul.
2121
2122 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2123
2124         group-member: omit unnecessary dependencies
2125         This is for Emacs, which has its own allocator and where we
2126         don't want to use xalloc.
2127         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2128         since we no longer use xmalloc.  Do not include stdbool.h, since
2129         the changes below happen to remove the only use of bool.
2130         (GROUPBUF_SIZE): New constant.
2131         (struct group_info): Remove n_groups member.  Add groupbuf member.
2132         This lets us get the groups without using malloc, usually.
2133         (free_group_info, get_group_info): Adjust to this.
2134         (get_group_info): Return the number of groups found, or -1 on error.
2135         Use plain malloc not xmalloc, and treat its failure as if there
2136         are no groups, as the user already loses in case of error.
2137         (group_member): Simplify, based on changes to get_group_info.
2138         * modules/group-member (Depends-on): Remove dependencies on
2139         xalloc and stdbool.  Add dependency on xalloc-oversized.
2140
2141 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2142
2143         gethrxtime: port to C++
2144         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2145
2146 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2147
2148         ptsname: fix macro-name typo
2149         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2150
2151 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2152
2153         inttostr: Relax license.
2154         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2155
2156 2012-10-03  Eric Blake  <eblake@redhat.com>
2157
2158         ptsname_r: support ptys returned by FreeBSD posix_openpt
2159         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2160         lives in /dev/pts/.
2161
2162 2012-10-02  Eric Blake  <eblake@redhat.com>
2163
2164         pselect: reject invalid file descriptors
2165         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2166         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2167         * modules/pselect (Depends-on): Add dup2.
2168         * doc/posix-functions/pselect.texi (pselect): Document this.
2169
2170         select: reject invalid file descriptors
2171         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2172         * lib/select.c (rpl_select) [!win32]: Work around it.
2173         * modules/select (Depends-on): Add dup2.
2174         * doc/posix-functions/select.texi (select): Document this.
2175
2176         select: enhance test
2177         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2178         New functions.
2179         (test_function): Enhance test.
2180         (do_select_bad_fd): Avoid any stale errno values.
2181
2182         ptsname: reject invalid file descriptors
2183         http://www.austingroupbugs.net/view.php?id=503
2184         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2185         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2186         * modules/stdlib (Makefile.am): Replace witness.
2187         * lib/stdlib.in.h (ptsname): Allow for replacement.
2188         * modules/ptsname (configure.ac): Trigger replacement.
2189         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2190
2191 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2192
2193         hash-pjw-bare: new module
2194         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2195         * lib/hash-pjw-bare.h: Likewise.
2196         * modules/hash-pjw-bare: New file.
2197         * MODULES.html.sh (Misc): Add it.
2198
2199 2012-10-02  Eric Blake  <eblake@redhat.com>
2200
2201         manywarnings: cater to more gcc infelicities
2202         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2203         -Wuninitialized without -O.
2204
2205 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2206
2207         select, poll tests: Make setsockopt invocation effective.
2208         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2209         the bind() call.
2210         * tests/test-select.h (open_server_socket): Likewise.
2211
2212 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2213
2214         sockets, sys_stat: restore AC_C_INLINE
2215         This undoes the 2012-09-22 patch.
2216         * m4/sockets.m4 (gl_SOCKETS):
2217         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2218         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2219         and does not support plain 'inline'.  Reported by Bruno Haible in
2220         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2221
2222 2012-09-30  Bruno Haible  <bruno@clisp.org>
2223
2224         localeconv tests: Avoid test failure on OpenIndiana.
2225         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2226         skip the 'grouping' and 'mon_grouping' tests.
2227         Reported by Jim Meyering.
2228
2229 2012-09-30  Bruno Haible  <bruno@clisp.org>
2230
2231         havelib: Follow libtool developments.
2232         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2233         Suggested by Simon Josefsson.
2234
2235 2012-09-29  Jim Meyering  <meyering@redhat.com>
2236
2237         fstatat.c: fix a compile-impeding typo
2238         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2239         Introduced in commit v0.0-7636-gd202279.
2240         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2241
2242 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2243
2244         extern-inline: provide a -Wundef safe config.h
2245         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2246         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2247         to produce a -Wundef warning free config.h.
2248
2249 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2250
2251         hash-pjw: relax license to LGPLv2+
2252         * modules/hash-pjw (License): Relax, with consent of author.
2253
2254 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2255
2256         maint.mk: fix strict vs. lazy variable issues with RELEASE
2257         * top/maint.mk (_equal): New function.
2258         (member_check): Strip the result to avoid spurious spaces.
2259         (url_dir_list): Do not use ifeq, which is strict, as it will
2260         require RELEASE_TYPE to be defined.
2261         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2262         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2263         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2264         (announcement_Cc_beta,announcement_mail_headers_beta)
2265         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2266         (release): Do not depend on $(release-type), as it forces its
2267         evaluation.  Bounce to it.
2268
2269 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2270
2271         maint.mk: formatting changes
2272         * top/maint.mk: Indent bodies of if's.
2273
2274 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2275
2276         maint.mk: factor the validation of RELEASE_TYPE
2277         With help from Jim Meyering.
2278         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2279         * top/maint.mk (_empty, _sp): Move their definition earlier.
2280         (member-check, release-type): New.
2281         Use the latter instead of $(RELEASE_TYPE).
2282         Remove now useless local checks.
2283
2284 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2285
2286         maint.mk: provide "make upload" to ease uploading
2287         See
2288         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2289         Do not depend simply on the current $(VERSION), as there may have been
2290         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2291         as "make release-commit" already does.
2292
2293         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2294         "make TYPE".
2295
2296         * top/maint.mk (upload_command, upload, release): New.
2297         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2298         (VERSION): first word of $(RELEASE) is always right.
2299         (emit_upload_commands): Adjust.
2300         * top/README-release: Update.
2301
2302 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2303
2304         maint.mk: silent rules
2305         With help from Stefano Lattarini.
2306         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2307         (announcement): Use $(AM_V_at).
2308
2309 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2310
2311         localename: port gl_locale_name_thread_unsafe to FreeBSD
2312         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2313         and use the simpler FreeBSD implementation on Mac OS X as well.
2314         Original idea suggested by Ed Maste in
2315         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2316
2317 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2318
2319         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2320         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2321         * lib/mbuiter.c, lib/xsize.c: New files.
2322         * lib/binary-io.h (BINARY_IO_INLINE):
2323         * lib/eealloc.h (EEALLOC_INLINE):
2324         * lib/mbfile.h (MBFILE_INLINE):
2325         * lib/mbiter.h (MBITER_INLINE):
2326         * lib/mbuiter.h (MBUITER_INLINE):
2327         * lib/xsize.h (XSIZE_INLINE):
2328         New macros.
2329         Replace all uses of 'static inline' with them.
2330         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2331         * m4/eealloc.m4 (gl_EEALLOC):
2332         * m4/mbfile.m4 (gl_MBFILE):
2333         * m4/mbiter.m4 (gl_MBITER):
2334         * m4/xsize.m4 (gl_XSIZE):
2335         Do not require AC_C_INLINE.
2336         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2337         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2338         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2339         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2340         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2341         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2342         * modules/binary-io, modules/eealloc, modules/mbfile:
2343         * modules/mbiter, modules/mbuiter:
2344         (Depends-on): Add extern-inline.
2345
2346         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2347         * lib/pipe-filter-aux.c: New file.
2348         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2349         Replace all uses of 'static inline' with it.
2350         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2351         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2352         (filter_retcode): No real need for inline here.
2353         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2354         (Files): Add lib/pipe-filter-aux.c.
2355         (Depends-on): Add extern-inline.
2356         (configure.ac): Do not require AC_C_INLINE.
2357         (lib_SOURCES): Add pipe-filter-aux.c.
2358
2359         fdutimensat: omit unnecessary AC_C_INLINE
2360         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2361
2362         fchmodat, fchownat, fstatat: use extern-inline
2363         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2364         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2365         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2366         New macros.
2367         * lib/openat.h:
2368         Replace all uses of 'static inline' with them.
2369         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2370         * modules/fchmodat, modules/fchownat, modules/fstatat:
2371         * modules/openat-h:
2372         (Depends-on):
2373         Add extern-inline.
2374         (configure.ac): Remove AC_C_INLINE.
2375
2376         acl, mbchar, priv-set: use extern-inline
2377         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2378         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2379         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2380         New macros.
2381         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2382         Replace all uses of 'static inline' with it.
2383         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2384         * m4/acl.m4 (gl_FUNC_ACL):
2385         * m4/mbchar.m4 (gl_MBCHAR):
2386         * m4/priv-set.m4 (gl_PRIV_SET):
2387         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2388         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2389         Add extern-inline.
2390
2391         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2392         * m4/sockets.m4 (gl_SOCKETS):
2393         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2394         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2395         environments where it's already guaranteed to work, so we needn't
2396         check for it at 'configure'-time.
2397
2398         tls-tests: omit unnecessary 'inline'
2399         * tests/test-tls.c (perhaps_yield): No longer inline.
2400         Simplicity and portability trump efficiency in test cases.
2401
2402         utimens-tests: avoid unnecessary 'inline'
2403         * modules/fdutimensat-tests (configure.ac):
2404         * modules/futimens-tests (configure.ac):
2405         * modules/utimens-tests (configure.ac):
2406         * modules/utimensat-tests (configure.ac):
2407         Remove AC_C_INLINE.
2408         * tests/test-utimens-common.h (ctime_compare):
2409         No longer inline.  Simplicity and portability trump efficiency here.
2410
2411         misc: don't limit commentary to inline functions
2412         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2413         * lib/xalloc-oversized.h, lib/xsize.h:
2414         Contrast macros to functions in general, not just to inline functions,
2415         when the commentary does not apply only to inline functions.
2416
2417 2012-09-20  Jim Meyering  <meyering@redhat.com>
2418
2419         non-recursive-gnulib-prefix-hack: new module
2420         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2421         the file that originated in Bison.
2422         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2423         largely copied from a snippet that resided in bison's configure.ac.
2424         * modules/non-recursive-gnulib-prefix-hack: New file.
2425         * MODULES.html.sh (Support for maintaining and releasing projects):
2426         Add it.
2427
2428 2012-09-18  Jim Meyering  <meyering@redhat.com>
2429
2430         maint.mk: generalize _gl_tight_scope for non-recursive make
2431         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2432         that *.h would describe additional .h files in the directory
2433         specified by $(_gl_TS_dir).  I.e., add this...
2434         (_gl_TS_other_headers): New variable.
2435
2436         maint.mk: exempt trailing blanks found in "binary" files
2437         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2438         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2439         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2440
2441 2012-09-17  Jim Meyering  <meyering@redhat.com>
2442
2443         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2444         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2445         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2446         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2447
2448 2012-09-17  Jim Meyering  <meyering@redhat.com>
2449
2450         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2451         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2452         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2453         It is not in the same category as "exit (0)" or "exit (1)", and
2454         besides, I know of no symbolic name for that 77.  Reported by
2455         Richard W.M. Jones in
2456         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2457
2458 2012-09-17  Jim Meyering  <meyering@redhat.com>
2459
2460         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2461         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2462         all uses of #define, not just those that start in column 1.
2463         Richard W.M. Jones reported a false positive in
2464         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2465
2466 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2467
2468         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2469         * lib/localcharset.c (locale_charset) [DARWIN7]:
2470         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2471         as these two values are incompatible.  Problem reported by Max Horn.
2472         For more discussion, please see
2473         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2474
2475         doc: document sticky-EOF issue
2476         * doc/posix-functions/fgetc.texi (fgetc):
2477         * doc/posix-functions/fgets.texi (fgets):
2478         * doc/posix-functions/fread.texi (fread):
2479         * doc/posix-functions/fscanf.texi (fscanf):
2480         * doc/posix-functions/getc.texi (getc):
2481         * doc/posix-functions/getchar.texi (getchar):
2482         * doc/posix-functions/scanf.texi (scanf):
2483         Mention that glibc and default Solaris do not conform to
2484         C99 and POSIX-2001 or later, with respect to how getchar
2485         etc. behave when feof reports nonzero.
2486
2487 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2488
2489         poll: fix poll(0, NULL, msec)
2490         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2491         but nfd is 0.  In that case poll should behave like select.
2492
2493 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2494             Paolo Bonzini <bonzini@gnu.org>
2495
2496         poll: fix for systems that can't recv() on a non-socket
2497         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2498         is readable.  In this case POLLHUP will not be supported.
2499         * doc/posix-functions/poll.texi: Document this.
2500
2501 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2502
2503         poll/select: document portability problems not fixed by Gnulib.
2504         * doc/posix-functions/poll.texi: poll does not work well on
2505         pipes under Windows.  It has the same limitations as select on
2506         BeOS.
2507         * doc/posix-functions/select.texi: select does not work well
2508         on pipes under Windows.
2509
2510 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2511
2512         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2513         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2514         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2515         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2516
2517 2012-09-06  Eric Blake  <eblake@redhat.com>
2518
2519         net_if: give more details about the bug being fixed
2520         * doc/posix-headers/net_if.texi: Add clarification.
2521
2522 2012-09-05  Eric Blake  <eblake@redhat.com>
2523
2524         net_if: new module
2525         * modules/net_if: New module, borrowing ideas from netinet_in.
2526         * m4/net_if_h.m4: New file.
2527         * lib/net_if.in.h: Likewise.
2528         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2529         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2530         * tests/test-net_if.c: Make function checks conditional.
2531         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2532
2533 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2534
2535         readutmp: fix non-portable UT_PID use
2536         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2537         Use `UT_PID (u) > 0' as absolute condition.
2538
2539 2012-09-04  Jim Meyering  <meyering@redhat.com>
2540
2541         fts: reduce two or more trailing spaces to just one, usually
2542         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2543         or more slashes, trim all but the final one.  But if a name consists
2544         solely of two slashes, don't modify it.  If it consists solely of
2545         three or more slashes, strip all but one.
2546
2547         This is part of the solution to a minor problem with rm:
2548         it would print a bogus ELOOP diagnostic when failing to remove
2549         the slash-decorated name of a symlink-to-directory:
2550
2551             $ mkdir d && ln -s d s && env rm -r s/
2552             rm: cannot remove 's': Too many levels of symbolic links
2553
2554         With the change below and a trivial don't-trim-trailing-slashes
2555         adjustment to remove.c, it does this:
2556
2557             $ env rm -r s/
2558             rm: cannot remove 's/': Not a directory
2559
2560         Improved by: Eric Blake
2561
2562         fts: when there is no risk of overlap, use memcpy, not memmove
2563         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2564
2565 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2566
2567         stdbool: be more compatible with mixed C/C++ compiles
2568         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2569         Define to bool, true, false, respectively, as GCC's builtin
2570         stdbool.h does.  Problem reported by Michael Goffioul in
2571         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2572
2573 2012-08-28  Jim Meyering  <meyering@redhat.com>
2574
2575         revert last change: it was not needed
2576         * tests/test-vc-list-files-git.sh: There's already a test for
2577         a working git, just below.
2578
2579 2012-08-28  Jim Meyering  <meyering@redhat.com>
2580
2581         tests: test-vc-list-files-git.sh: skip if git is not available
2582         * tests/test-vc-list-files-git.sh: Skip this test when git is
2583         not available.
2584
2585 2012-08-26  Bruno Haible  <bruno@clisp.org>
2586
2587         gnulib-tool: Remove no-op option --no-changelog.
2588         * gnulib-tool (func_usage): Don't mention --no-changelog.
2589         (do_changelog): Remove variable.
2590         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2591
2592 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2593
2594         doc: remove fdl-1.2.texi
2595         It is no longer used or maintained, and its use of @acronym
2596         is problematic.  See the thread containing
2597         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2598         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2599         * doc/old-licenses/fdl-1.2.texi: Remove.
2600
2601         execinfo: port to FreeBSD
2602         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2603         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2604         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2605         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2606
2607 2012-08-23  Jim Meyering  <meyering@redhat.com>
2608
2609         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2610         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2611         to placate gcc's -Wold-style-declaration.
2612
2613 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2614
2615         doc: do not use @acronym
2616         * doc/inet_ntoa.texi (inet_ntoa):
2617         * doc/parse-datetime.texi (Seconds since the Epoch)
2618         (Specifying time zone rules):
2619         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2620         Don't use @acronym.  Problem reported by John Darlington in
2621         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2622
2623 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2624
2625         stdnoreturn: port to newer GCCs
2626         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2627         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2628         Problem reported by Jim Meyering in
2629         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2630         Also, rename the 'test' function to a void a clash with the
2631         already-supplied 'main' function; this fixes a bug that incorrectly
2632         rejected GCC 4.7.1's <stdnoreturn.h>.
2633         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2634         Document GCC problem.
2635
2636 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2637
2638         pipe-filter: fix comment typo
2639         * lib/pipe-filter.h: Mention correct function.
2640
2641 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2642
2643         execinfo: new module
2644         This is for Emacs.  Currently, it provides a no-effect stub
2645         on all platforms where it does not already work.
2646         It already works on glibc-based systems, and on Solaris 11.
2647         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2648         New files.
2649         * doc/glibc-headers/execinfo.texi (execinfo.h):
2650         * MODULES.html.sh (Misc): Document it.
2651
2652 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2653
2654         extern-inline: support old GCC 'inline'
2655         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2656         if available.  This applies to GCC versions 2.7 through 4.2, or
2657         when newer GCC is using -fgnu89-inline.  The goal is to address
2658         some of the performance issues mentioned by Bruno Haible in
2659         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2660
2661 2012-08-20  Eric Blake  <eblake@redhat.com>
2662
2663         maint.mk: avoid redundant file name in message
2664         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2665         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2666         (sc_makefile_path_separator_check): Remove bogus $(ME).
2667
2668 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2669
2670         timer-time: fix link order when static linking on glibc
2671         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2672         _after_ -lrt so that it's significant.
2673
2674 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2675
2676         timespec: omit unnecessary AC_C_INLINE
2677         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2678
2679         stat-time: omit unnecessary AC_C_INLINE
2680         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2681         Do not require AC_C_INLINE.
2682
2683         ignore-value: omit unnecessary AC_C_INLINE
2684         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2685
2686         sys_select: avoid 'static inline'
2687         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2688
2689         mktime: avoid 'static inline'
2690         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2691         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2692
2693 2012-08-19  Bruno Haible  <bruno@clisp.org>
2694
2695         gnulib-tool: Improve coding style.
2696         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2697         func_emit_lib_Makefile_am.
2698         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2699
2700 2012-08-19  Bruno Haible  <bruno@clisp.org>
2701
2702         gnulib-tool: Fix indentation.
2703         * gnulib-tool (func_import): Fix indentation.
2704
2705 2012-08-19  Bruno Haible  <bruno@clisp.org>
2706
2707         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2708         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2709         on the list of removed files.
2710
2711 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2712
2713         test-parse-datetime: avoid glibc leap-second glitch
2714         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2715         with the 2012 rules.  Problem reported by Bruce Dubbs in
2716         <http://bugs.gnu.org/12206>.
2717
2718 2012-08-14  Bruno Haible  <bruno@clisp.org>
2719
2720         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2721         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2722         from argument.
2723         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2724
2725 2012-08-14  Eric Blake  <eblake@redhat.com>
2726
2727         ldexp: relax license
2728         * modules/ldexp (License): Trivial relax, since the module only
2729         provides a permissively licensed m4 file.
2730
2731 2012-08-13  Bruno Haible  <bruno@clisp.org>
2732
2733         gnulib-tool: Fix persistence of --witness-c-macro option.
2734         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2735         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2736
2737 2012-08-11  Eric Blake  <eblake@redhat.com>
2738
2739         count-leading-zeros: use a lookup table on non-gcc compilers
2740         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2741         alternate implementation, suggested by Jim Meyering.
2742
2743 2012-08-10  Eric Blake  <eblake@redhat.com>
2744
2745         count-leading-zeros: new module
2746         * modules/count-leading-zeros: New module.
2747         * m4/count-leading-zeros.m4: New file.
2748         * lib/count-leading-zeros.h: Likewise.
2749         * modules/count-leading-zeros-tests: New test.
2750         * tests/test-count-leading-zeros.c: New file.
2751         * MODULES.html.sh (Integer arithmetic functions): Document it.
2752
2753 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2754             Jim Meyering  <meyering@redhat.com>
2755
2756         maintainer-makefile: Fix syntax error with dash.
2757         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2758         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2759
2760 2012-08-05  Jim Meyering  <meyering@redhat.com>
2761
2762         extern-inline: also ignore -Wmissing-declarations
2763         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2764         required with gcc-4.8.0-to-be.
2765
2766         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2767         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2768         for /error ?([^,]*)/.  This avoids false-positives for strings like
2769         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2770
2771 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2772
2773         gnumakefile: better interaction with Automake-NG
2774         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2775         Automake-NG always contain a definition of VPATH, even in non-VPATH
2776         builds (its value being simply '.' in that case).  So, in the
2777         'clean-GNUmakefile' rule, to determine whether running under a
2778         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2779         '$(VPATH)' expands to the empty string.
2780
2781 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2782
2783         base64: Use extern C scope in header file, for C++.
2784         * lib/base64.h: Add C++ namespace protection.
2785
2786 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2787
2788         stat-time, timespec, u64: support naive out-of-dir builds
2789         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2790         Use '#include "foo.h"', not '#include <foo.h>', when including
2791         one's own interface.  This works better when configuring with
2792         out-of-directory builds, since packages need not add an
2793         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2794
2795 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2796
2797         utimens: use extern-inline
2798         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2799         * lib/utimens.h: Add copyright notice, since this is now large enough
2800         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2801         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2802         * modules/utimens (Depends-on): Add extern-inline.
2803
2804         u64: use extern-inline
2805         * lib/u64.c: New file.
2806         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2807         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2808         * modules/u64 (Files): Add lib/u64.c.
2809         (Depends-on): Add extern-inline.
2810         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2811         does that now.
2812         (lib_SOURCES): Add u64.c.
2813
2814         timespec: use extern-inline
2815         * lib/timespec.c: New file.
2816         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2817         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2818         * modules/timespec (Files): Add lib/timespec.c.
2819         (Depends-on): Add extern-inline.
2820         (lib_SOURCES): Add timespec.c.
2821
2822         stat-time: use extern-inline
2823         * lib/stat-time.c: New file.
2824         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2825         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2826         * modules/stat-time (Files): Add lib/stat-time.c.
2827         (Depends-on): Add extern-inline.
2828         (lib_SOURCES): Add stat-time.c.
2829
2830         extern-inline: new module
2831         * modules/extern-inline, m4/extern-inline.m4: New files.
2832         This is for better support of 'extern inline' a la ISO C99,
2833         with a portable alternative on compilers that do not support
2834         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2835         of the Emacs executable, when compiled with debugging disabled,
2836         which is a typical way that Emacs is built while developing.
2837
2838 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2839
2840         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2841         * build-aux/do-release-commit-and-tag: Move variable definitions
2842         together.
2843         ($branch): Instead of defaulting to "master", default to the current
2844         branch (as gnu-web-doc-update does).
2845         (help): Display the current values of the option arguments.
2846         * top/maint.mk (release-commit): New.
2847         * top/README-release: Simplify the corresponding step.
2848
2849 2012-07-30  Eric Blake  <eblake@redhat.com>
2850
2851         passfd: fix comment on recvfd
2852         * lib/passfd.c (recvfd): Fix comment.
2853         Reported by Jann Horn <jannhorn@googlemail.com>.
2854
2855 2012-07-30  Jim Meyering  <meyering@redhat.com>
2856
2857         maint.mk: avoid a sub-shell
2858         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2859
2860 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2861
2862         maint.mk: use silent-rules support from Automake
2863         * top/maint.mk (news-check, vc-diff-check, announcement)
2864         (no-submodule-changes, alpha beta stable, release-prep)
2865         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2866
2867 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2868
2869         maint.mk: provide a web-manual-update target
2870         * top/maint.mk: here.
2871         * top/README-release: Use it to simplify the web manual update step.
2872
2873 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2874
2875         README-release: shorten the circuit to post a news
2876         * top/README-release: Point directly to the news submission form.
2877
2878 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2879
2880         gnu-web-doc-update: fix --help
2881         * build-aux/gnu-web-doc-update: The information "top level" was written
2882         twice.
2883
2884 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2885
2886         maint.mk: absolute VPATH issue
2887         * top/maint.mk (release-prep): Help Git find .git/.
2888         From Jim Meyering.
2889
2890 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2891
2892         gitlog-to-changelog: fix previous change
2893         * build-aux/gitlog-to-changelog: Fix condition.
2894         Add missing ";".
2895
2896 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2897
2898         gitlog-to-changelog: don't expect .git to be in $srcdir
2899         Reported by Bruno Haible.
2900         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2901         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2902         Use it.
2903
2904 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2905
2906         maint.mk: absolute VPATH build fix
2907         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2908         $(srcdir) is not a parent of $(builddir).
2909
2910 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2911
2912         clean-temp: Fix memory leak.
2913         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2914         'files' members of tmpdir.
2915
2916 2012-07-27  Jim Meyering  <meyering@redhat.com>
2917
2918         maint.mk: new rule: refresh-gnulib-patches
2919         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2920         Use this rule to refresh them.
2921         * top/maint.mk (refresh-gnulib-patches): New rule.
2922
2923 2012-07-24  Bruno Haible  <bruno@clisp.org>
2924
2925         gnulib-tool: Fix handling of inctests variable.
2926         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2927         Reported by Nick Bowler <nbowler@elliptictech.com>.
2928
2929 2012-07-22  Bruno Haible  <bruno@clisp.org>
2930
2931         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2932         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2933         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2934         Remove exemption for getpass.h.
2935         Suggested by Eric Blake.
2936
2937 2012-07-20  Eric Blake  <eblake@redhat.com>
2938
2939         verify: document conflict with -Wnested-externs
2940         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2941
2942         maint.mk: forbid exit(-1)
2943         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2944
2945 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2946
2947         fsusage: port back to Solaris
2948         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2949         error (fsd not declared) on Solaris 10.  Reported privately by
2950         Andrew Borodin.
2951
2952 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2953
2954         gnu-web-doc-update: fix error messages
2955         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2956
2957         gnu-web-doc-update: check the requirements.
2958         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2959         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2960         * build-aux/bootstrap (find_tool): Comment change.
2961
2962 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2963
2964         maint.mk: minor simplication.
2965         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2966         for default values.
2967
2968 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2969
2970         gitlog-to-changelog: VPATH build issues
2971         If builddir is not a subdirectory of srcdir, running git from it will
2972         fail.
2973         * build-aux/gitlog-to-changelog (--srcdir): New option.
2974
2975 2012-07-15  Bruno Haible  <bruno@clisp.org>
2976
2977         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2978         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2979         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2980         Remove exemption for fpending.h.
2981         Suggested by Eric Blake.
2982
2983 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2984
2985         pthread_sigmask: fix bug on FreeBSD 9
2986         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2987         Include string.h.
2988         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2989         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2990         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2991         but pthread_sigmask (1729, NULL, NULL) returns zero.
2992         See <http://bugs.gnu.org/11884>.
2993         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2994         by inspecting whether the main call changed the old mask.
2995
2996 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2997
2998         README-release: make it more legible
2999         * top/README-release: Improve typography slightly.
3000
3001 2012-07-15  Jim Meyering  <meyering@redhat.com>
3002
3003         maint: require that each sc_... command start with "@"
3004         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3005         "make sc_maint" helps us avoid this nit.
3006
3007 2012-07-15  Jim Meyering  <meyering@redhat.com>
3008
3009         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3010         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3011
3012 2012-07-13  Eric Blake  <eblake@redhat.com>
3013
3014         maint.mk: new syntax check for HAVE_DECL checks
3015         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3016         * cfg.mk
3017         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3018         Exempt some false positives.
3019         Based on a report by Karel Zak.
3020
3021         argp: make HAVE_DECL usage consistent
3022         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3023         macros, not whether they are defined.
3024         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3025         convention with other declaration checks.
3026         Reported by Karel Zak, with suggestions from Paul Eggert.
3027
3028         stat-time: relax license to LGPLv2+
3029         * modules/stat-time (License): Relax, with consent of all authors.
3030
3031         strndup: fix m4 usage error
3032         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3033         defined, to either 0 or 1.
3034         Reported by Karel Zak.
3035
3036 2012-07-11  Jim Meyering  <meyering@redhat.com>
3037
3038         maint: enable the sc_avoid_if_before_free syntax-check rule
3039         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3040         (if_before_free_offenders_): Define.
3041         (if_before_free_basename_re_): Define.
3042         Exempt current files with useless if-before-free.
3043
3044 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3045
3046         gettext: do not assume '#define ... defined ...' behavior
3047         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3048         Do not use '#define FOO ... defined BAR ...', as the C standard says
3049         it's not portable to expect that this works after macro expansion.
3050         Problem reported for gzip by Steven M. Schweda in
3051         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3052
3053 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3054
3055         getloadavg: clean out old Emacs and Autoconf cruft
3056         See Glenn Morris in <http://bugs.gnu.org/11905>.
3057         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3058         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3059         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3060         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3061
3062 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3063
3064         bootstrap: let warn be like tests/init.sh's warn_
3065         Reported by Jim Meyering.
3066         * build-aux/bootstrap (warn): Remove, replaced by...
3067         (warnf_, warn_): these.
3068         Adjust callers.
3069         Shorten messages that no longer fit in 80 columns.
3070
3071 2012-07-09  Bruno Haible  <bruno@clisp.org>
3072
3073         getopt: Simplify after Emacs changed.
3074         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3075         (gl_GETOPT_IFELSE): Remove macro.
3076
3077 2012-07-09  Jim Meyering  <meyering@redhat.com>
3078
3079         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
3080         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
3081
3082         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3083         Bugs in both of those conspired to make the
3084         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3085         _sc_search_regexp's handling of non-empty $in_files would filter
3086         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3087         choice of in_files value meant there would be no match in most
3088         projects, due to the presence of two or more Makefile.in files.
3089         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3090         Fix a bug in how a non-empty $$in_files was processed:
3091         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3092         in spite of the name, it's a regexp, not a list of file names.
3093
3094 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3095
3096         getloadavg, getopt: fix commentary re configure.in
3097         Autoconf is deprecating the name 'configure.in', so change it to
3098         to the new name 'configure.ac' in a couple of places.
3099         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3100         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3101         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3102         Emacs has renamed it to configure.ac, and it no longer refers
3103         to these macros anyway.
3104
3105         timespec: mark functions with const attributes
3106         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3107         Mark with _GL_ATTRIBUTE_CONST.
3108
3109 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3110
3111         canonicalize[-lgpl]: handle "guessing" values when cross-building
3112         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3113         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3114         matches "*yes" instead of just "yes".  Regression introduced in commit
3115         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3116
3117 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3118             Bruno Haible  <bruno@clisp.org>
3119
3120         canonicalize: make the right guess when cross-compiling to GNU
3121         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3122         determine whether cross-compiling to glibc systems, so as to
3123         include GNU/Hurd.
3124
3125 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3126
3127         timespec-sub: avoid duplicate include
3128         * lib/timespec-sub.c: Do not include <config.h> twice.
3129         Reported by Juanma Barranquero.
3130
3131 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3132
3133         bootstrap: use a more consistent error reporting scheme
3134         * build-aux/bootstrap (warn, die): New.
3135         Use them.
3136
3137 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3138
3139         sys_time: allow too-wide tv_sec
3140         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3141         timeval even if tv_sec is wider than time_t.  This allows
3142         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3143         as without this patch gnulib replaces struct timeval
3144         and OpenBSD futimes therefore has a type mismatch.
3145         * doc/posix-headers/sys_time.texi: Mention this.
3146
3147         pthread: check for both pthread_create and pthread_join
3148         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3149         alter the check so that it tests for both pthread_create and
3150         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3151         Suggested by Bruno Haible and Richard Yao in
3152         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3153
3154         parse-datetime: doc tuneup
3155         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3156         spacing issues.
3157
3158 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3159
3160         do-release-commit-and-tag: fix the previous commit
3161         * build-aux/do-release-commit-and-tag: Actually the test was right,
3162         but the comment and the error message were misleading.
3163         Fix comment, and improve error message.
3164         Perform check first, so that NEWS is not modified uselessly.
3165
3166         do-release-commit-and-tag: fix typo
3167         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3168         _not_ start with a stub.
3169
3170 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3171
3172         pthread: check for pthread_create, not pthread_join
3173         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3174         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3175         pthread_join in libc.  I hope this removes the need for all the
3176         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3177         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3178
3179 2012-07-04  Jim Meyering  <meyering@redhat.com>
3180
3181         parse-datetime: fix failure to diagnose invalid input
3182         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3183         rather than diagnosing the invalid input.  Now it reports this:
3184         date: invalid date '\260'
3185         * lib/parse-datetime.y (to_uchar): Define.
3186         (yylex): Don't sign-extend "other" bytes.
3187         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3188         Thanks to Bruno Haible for the patch to this file.
3189         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3190         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3191
3192 2012-07-03  Jim Meyering  <meyering@redhat.com>
3193
3194         bootstrap: do not require now-removed build-aux/missing
3195         Now that build-aux/missing is, er, missing, bootstrap would
3196         silently fail.
3197         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3198         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3199         no longer part of gnulib.
3200         Diagnose the failure.
3201
3202 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3203
3204         alloca: add support for HP NonStop TNS/E native
3205         * lib/alloca.in.h (alloca): Support the new host.
3206         From a suggestion by Joachim Schmitz in
3207         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3208
3209 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3210
3211         fsusage: remove code not needed on non GNU/Linux systems.
3212
3213         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3214         Don't include headers no longer needed in this case.
3215         * lib/fsusage.c [STAT_STATVFS &&
3216         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3217         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3218
3219 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3220
3221         fsusage: include files needed for glibc 2.6 fallback
3222         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3223         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3224         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3225         Problem reported by Ludovic Courtès in
3226         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3227
3228         fsusage: avoid needless check on GNU/Linux
3229         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3230         on GNU/Linux systems, since it can't possibly work.
3231
3232 2012-07-01  Bruno Haible  <bruno@clisp.org>
3233
3234         log: Fix an autoconf >= 2.64 warning.
3235         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3236         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3237
3238 2012-06-28  Bruno Haible  <bruno@clisp.org>
3239
3240         log10f: Fix possible configuration problem.
3241         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3242         $LOGF_LIBM.
3243         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3244
3245 2012-06-28  Bruno Haible  <bruno@clisp.org>
3246
3247         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3248         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3249         not gl_cv_func_unlink_works.
3250         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3251
3252 2012-06-27  Eric Blake  <eblake@redhat.com>
3253
3254         config: drop scripts that automake says are not independent
3255         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3256         * build-aux/elisp-comp: Delete.
3257         * build-aux/missing: Likewise.
3258         * build-aux/ylwrap: Likewise.
3259         * modules/elisp-comp: Likewise.
3260         * MODULES.html.sh: Drop mention of elisp-comp.
3261         * NEWS: Mention this.
3262
3263 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3264
3265         root-uid: new module
3266         This is for portability to Tandem's NonStop Kernel.
3267         * lib/root-uid.h, modules/root-uid: New files.
3268         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3269         * lib/write-any-file.c, tests/test-sethostname2.c:
3270         Include "root-uid.h".
3271         * lib/euidaccess.c (euidaccess):
3272         * lib/pt_chown.c (main):
3273         * lib/unlinkdir.c (cannot_unlink_dir):
3274         * lib/write-any-file.c (can_write_any_file):
3275         * m4/mknod.m4 (gl_FUNC_MKNOD):
3276         * tests/test-sethostname2.c (geteuid, main):
3277         Don't assume ROOT_UID == 0.
3278         * modules/euidaccess (Depends-on):
3279         * modules/pt_chown (Depends-on):
3280         * modules/sethostname-tests (Depends-on):
3281         * modules/unlinkdir (Depends-on):
3282         * modules/write-any-file (Depends-on):
3283         Add root-uid.
3284
3285         regex: use locale-independent comparison for codeset name
3286         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3287         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3288         for codeset name.
3289         * lib/regex_internal.h: Do not include <strings.h>, since we
3290         no longer use strcasecmp.
3291         * modules/regex (Depends-on): Remove strcase.
3292
3293 2012-06-23  Bruno Haible  <bruno@clisp.org>
3294
3295         getopt-posix: No longer guarantee that option processing is resettable.
3296         * doc/posix-functions/getopt.texi: Drop description of problem with
3297         internal state. Fix info about mingw and msvc9.
3298         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3299         option processing by getopt(). Run three test programs instead of one.
3300         Simplify cross-compilation guess.
3301         * NEWS: Mention the change.
3302         Reported by Rich Felker <dalias@aerifal.cx>.
3303
3304 2012-06-26  Bruno Haible  <bruno@clisp.org>
3305
3306         argp, regex: Ensure strcasecmp gets declared.
3307         * lib/argp-help.c: Include <strings.h>.
3308         * lib/regex_internal.h: Likewise.
3309         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3310
3311 2012-06-24  Bruno Haible  <bruno@clisp.org>
3312
3313         ptsname_r: Make it consistent with ptsname on AIX.
3314         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3315         implementation as for OSF/1.
3316         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3317         a pty master.
3318
3319         ptsname_r: Make it consistent with ptsname on OSF/1.
3320         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3321         OSF/1.
3322
3323 2012-06-24  Bruno Haible  <bruno@clisp.org>
3324
3325         ttyname_r: Fix result on OSF/1, Solaris.
3326         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3327
3328 2012-06-24  Bruno Haible  <bruno@clisp.org>
3329
3330         ptsname_r: Add support for Solaris.
3331         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3332         Solaris.
3333
3334         ptsname_r: Fix test failure on native Windows.
3335         * modules/ptsname_r (Depends-on): Add isatty.
3336
3337         ptsname_r: Fix test failures on IRIX, Solaris.
3338         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3339         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3340         accordingly.
3341         * lib/ptsname_r.c: Include <fcntl.h>.
3342         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3343         set errno if fd is invalid.
3344         * tests/test-isatty.c (main): Update comments.
3345
3346 2012-06-24  Bruno Haible  <bruno@clisp.org>
3347
3348         ptsname test: Extend test.
3349         * tests/test-ptsname.c: Include <errno.h>.
3350         (main): Test behaviour with invalid file descriptor.
3351
3352 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3353
3354         time: fix obsolete comment
3355         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3356         reference to HAVE_STRUCT_TIMESPEC in comment.
3357
3358 2012-06-23  Bruno Haible  <bruno@clisp.org>
3359
3360         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3361         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3362         does not handle abbreviated long options with equivalent
3363         disambiguations, set gl_replace_getopt to yes.
3364         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3365
3366 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3367
3368         time_r: fix typo that always overrode localtime_r decl
3369         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3370         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3371         not in a standard include.
3372
3373 2012-06-22  Bruno Haible  <bruno@clisp.org>
3374
3375         Write "Mac OS X" instead of "MacOS X".
3376         * README: Write "Mac OS X" instead of "MacOS X".
3377         * build-aux/bootstrap: Likewise.
3378         * build-aux/install-reloc: Likewise.
3379         * lib/acl-internal.h: Likewise.
3380         * lib/acl_entries.c: Likewise.
3381         * lib/argp-ba.c: Likewise.
3382         * lib/argp-pv.c: Likewise.
3383         * lib/config.charset: Likewise.
3384         * lib/copy-acl.c: Likewise.
3385         * lib/csharpexec.c: Likewise.
3386         * lib/euidaccess.c: Likewise.
3387         * lib/fbufmode.c: Likewise.
3388         * lib/fflush.c: Likewise.
3389         * lib/file-has-acl.c: Likewise.
3390         * lib/filemode.h: Likewise.
3391         * lib/fpurge.c: Likewise.
3392         * lib/freadable.c: Likewise.
3393         * lib/freadahead.c: Likewise.
3394         * lib/freading.c: Likewise.
3395         * lib/freadptr.c: Likewise.
3396         * lib/freadseek.c: Likewise.
3397         * lib/fseeko.c: Likewise.
3398         * lib/fseterr.c: Likewise.
3399         * lib/fsusage.c: Likewise.
3400         * lib/fwritable.c: Likewise.
3401         * lib/fwriting.c: Likewise.
3402         * lib/get-rusage-as.c: Likewise.
3403         * lib/get-rusage-data.c: Likewise.
3404         * lib/getdomainname.c: Likewise.
3405         * lib/idpriv-drop.c: Likewise.
3406         * lib/idpriv-droptemp.c: Likewise.
3407         * lib/localcharset.c: Likewise.
3408         * lib/locale.in.h: Likewise.
3409         * lib/localename.c: Likewise.
3410         * lib/mbsrtowcs-state.c: Likewise.
3411         * lib/nproc.c: Likewise.
3412         * lib/passfd.c: Likewise.
3413         * lib/posix_openpt.c: Likewise.
3414         * lib/printf-parse.c: Likewise.
3415         * lib/progreloc.c: Likewise.
3416         * lib/safe-read.h: Likewise.
3417         * lib/safe-write.h: Likewise.
3418         * lib/sched.in.h: Likewise.
3419         * lib/set-mode-acl.c: Likewise.
3420         * lib/signal.in.h: Likewise.
3421         * lib/stdint.in.h: Likewise.
3422         * lib/stdio-impl.h: Likewise.
3423         * lib/stdlib.in.h: Likewise.
3424         * lib/strtod.c: Likewise.
3425         * lib/sys_select.in.h: Likewise.
3426         * lib/tcgetsid.c: Likewise.
3427         * lib/unistd.in.h: Likewise.
3428         * lib/unlockpt.c: Likewise.
3429         * lib/vasnprintf.c: Likewise.
3430         * lib/vma-iter.c: Likewise.
3431         * lib/wcsrtombs-state.c: Likewise.
3432         * m4/acl.m4: Likewise.
3433         * m4/acosl.m4: Likewise.
3434         * m4/asinl.m4: Likewise.
3435         * m4/atanl.m4: Likewise.
3436         * m4/c-stack.m4: Likewise.
3437         * m4/cosl.m4: Likewise.
3438         * m4/expl.m4: Likewise.
3439         * m4/extensions.m4: Likewise.
3440         * m4/fdatasync.m4: Likewise.
3441         * m4/fmal.m4: Likewise.
3442         * m4/frexp.m4: Likewise.
3443         * m4/frexpf.m4: Likewise.
3444         * m4/frexpl.m4: Likewise.
3445         * m4/fsusage.m4: Likewise.
3446         * m4/getdomainname.m4: Likewise.
3447         * m4/getloadavg.m4: Likewise.
3448         * m4/getopt.m4: Likewise.
3449         * m4/gettext.m4: Likewise.
3450         * m4/gnulib-common.m4: Likewise.
3451         * m4/intdiv0.m4: Likewise.
3452         * m4/intlmacosx.m4: Likewise.
3453         * m4/largefile.m4: Likewise.
3454         * m4/ldexpl.m4: Likewise.
3455         * m4/link-follow.m4: Likewise.
3456         * m4/locale-ar.m4: Likewise.
3457         * m4/locale-fr.m4: Likewise.
3458         * m4/locale-ja.m4: Likewise.
3459         * m4/locale-tr.m4: Likewise.
3460         * m4/locale-zh.m4: Likewise.
3461         * m4/locale_h.m4: Likewise.
3462         * m4/lock.m4: Likewise.
3463         * m4/logl.m4: Likewise.
3464         * m4/mathfunc.m4: Likewise.
3465         * m4/minus-zero.m4: Likewise.
3466         * m4/mktime.m4: Likewise.
3467         * m4/mmap-anon.m4: Likewise.
3468         * m4/multiarch.m4: Likewise.
3469         * m4/nanosleep.m4: Likewise.
3470         * m4/nocrash.m4: Likewise.
3471         * m4/poll.m4: Likewise.
3472         * m4/printf-frexpl.m4: Likewise.
3473         * m4/printf.m4: Likewise.
3474         * m4/signbit.m4: Likewise.
3475         * m4/sinl.m4: Likewise.
3476         * m4/sqrtl.m4: Likewise.
3477         * m4/strerror_r.m4: Likewise.
3478         * m4/tanl.m4: Likewise.
3479         * m4/threadlib.m4: Likewise.
3480         * m4/ttyname_r.m4: Likewise.
3481         * m4/unlink.m4: Likewise.
3482         * m4/visibility.m4: Likewise.
3483         * m4/wcwidth.m4: Likewise.
3484         * tests/minus-zero.h: Likewise.
3485         * tests/test-alloca-opt.c: Likewise.
3486         * tests/test-copy-acl.sh: Likewise.
3487         * tests/test-copy-file.sh: Likewise.
3488         * tests/test-fdatasync.c: Likewise.
3489         * tests/test-file-has-acl.sh: Likewise.
3490         * tests/test-flock.c: Likewise.
3491         * tests/test-fsync.c: Likewise.
3492         * tests/test-localename.c: Likewise.
3493         * tests/test-malloca.c: Likewise.
3494         * tests/test-nonblocking-pipe.h: Likewise.
3495         * tests/test-nonblocking-socket.h: Likewise.
3496         * tests/test-openpty.c: Likewise.
3497         * tests/test-posix_openpt.c: Likewise.
3498         * tests/test-ptsname.c: Likewise.
3499         * tests/test-ptsname_r.c: Likewise.
3500         * tests/test-sameacls.c: Likewise.
3501         * tests/test-select.h: Likewise.
3502         * tests/test-set-mode-acl.sh: Likewise.
3503         * tests/test-snprintf-posix.h: Likewise.
3504         * tests/test-sprintf-posix.h: Likewise.
3505         * tests/test-strtod.c: Likewise.
3506         * tests/test-time.c: Likewise.
3507         * tests/test-vasnprintf-posix.c: Likewise.
3508         * tests/test-vasprintf-posix.c: Likewise.
3509         * doc/acl-resources.txt: Likewise.
3510         * doc/**/*.texi: Likewise.
3511         Reported by Max Horn <max@quendi.de>.
3512
3513 2012-06-22  Bruno Haible  <bruno@clisp.org>
3514
3515         grantpt: Relax requirement regarding invalid file descriptors.
3516         * lib/grantpt.c: Don't include <fcntl.h>.
3517         (grantpt): Don't verify the validity of the file descriptor.
3518         * modules/grantpt (Depends-on): Remove fcntl-h.
3519         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3520         file descriptors.
3521         * doc/posix-functions/grantpt.texi: Document more platforms on which
3522         grantpt succeeds for invalid file descriptors.
3523         Reported by Rich Felker <dalias@aerifal.cx>.
3524
3525 2012-06-22  Bruno Haible  <bruno@clisp.org>
3526
3527         fbufmode test: Don't test unportable behaviour.
3528         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3529         (main): Invoke it three times.
3530         Reported by Szabolcs Nagy <nsz@port70.net>
3531         and Rich Felker <dalias@aerifal.cx>.
3532
3533 2012-06-21  Bruno Haible  <bruno@clisp.org>
3534
3535         gnulib-tool: Refactor inctests variable.
3536         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3537         (func_modules_transitive_closure,
3538         func_modules_transitive_closure_separately,
3539         func_import, func_create_testdir): Update.
3540
3541         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3542         * gnulib-tool: Accept option --without-tests.
3543         (func_usage): Document --without-tests option. Rearrange.
3544         (inctests): Normalize according to the mode.
3545         * NEWS: Mention the change.
3546         Suggested by Simon Josefsson.
3547
3548 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3549
3550         parse-duration test: Avoid spurious output.
3551         * tests/test-parse-duration.sh: Reindent with leading tabs.
3552
3553 2012-06-21  Jim Meyering  <meyering@redhat.com>
3554
3555         maint: disable the strncpy prohibition
3556         * cfg.mk: Do not prohibit strncpy here.
3557
3558 2012-06-21  Bruno Haible  <bruno@clisp.org>
3559
3560         nonblocking: Avoid compilation error on mingw64.
3561         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3562         fscanf.
3563         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3564         * modules/vfscanf (configure.ac): Likewise.
3565         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3566         definition only if stdio.h has prepared it.
3567         Reported by Daniel P. Berrange <berrange@redhat.com>.
3568
3569 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3570
3571         gnulib-tool: Use readlink if it is available.
3572         * gnulib-tool (func_readlink): Choose function more appropriately.
3573
3574 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3575
3576         posixtm-tests: port to buggy compiler
3577         Problem reported by Simon Josefsson in
3578         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3579         * modules/posixtm-tests (Depends-on): Add stdint.
3580         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3581         Now of type int_least64_t, not int64_t, both because that's
3582         what INT64_C returns and because int_least64_t works even
3583         on 72-bit hosts.
3584         (T): Use INT64_C on constants outside the traditional int range,
3585         to work around compiler bug noted by Simon.
3586
3587         mktime: fix integer overflow in 'configure'-time test
3588         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3589         after integer overflow.  Problem reported by Rich Felker in
3590         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3591         Also, don't look for further instances of a bug if we've already
3592         found one instance; this helps 'configure' run faster.
3593
3594 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3595
3596         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3597         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3598         GetVersionEx correctly.
3599         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3600
3601 2012-06-20  Bruno Haible  <bruno@clisp.org>
3602
3603         fdopen: Allow implementations that don't reject invalid fd arguments.
3604         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3605         succeeds.
3606         Reported by Rich Felker <dalias@aerifal.cx>.
3607
3608 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3609
3610         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3611         bring in LIBINTL.
3612
3613 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3614
3615         init.sh: do not rely on autoupated PWD
3616         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3617         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3618         Although Nelson's bug was not necessarily fixed by this patch,
3619         it seems wise to make the change for safety.
3620         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3621         automagically after 'cd'; this is not reliable on older shells.
3622         (setup_): Fail if we cannot cd to temporary directory.
3623
3624 2012-06-19  Bruno Haible  <bruno@clisp.org>
3625
3626         stat, fstat: Avoid warnings on mingw64.
3627         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3628         redefining.
3629         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3630         Reported by Daniel P. Berrange <berrange@redhat.com>.
3631
3632 2012-06-19  Bruno Haible  <bruno@clisp.org>
3633
3634         stdioext: Add support for musl libc.
3635
3636         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3637         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3638
3639         * m4/fseterr.m4: New file.
3640         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3641         function exists.
3642         * modules/fseterr (Files): Add m4/fseterr.m4.
3643         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3644         __fseterr does not exist.
3645         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3646
3647         * lib/freadable.h: Update comment.
3648
3649         * lib/fwritable.h: Update comment.
3650
3651         * lib/freading.h: Update comment.
3652
3653         * lib/fwriting.h: Update comment.
3654
3655         * m4/freadahead.m4: New file.
3656         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3657         that function exists.
3658         * modules/freadahead (Files): Add m4/freadahead.m4.
3659         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3660         __freadahead does not exist.
3661         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3662
3663         * m4/freadptr.m4: New file.
3664         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3665         function exists.
3666         * modules/freadptr (Files): Add m4/freadptr.m4.
3667         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3668         __freadptr does not exist.
3669         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3670
3671         * m4/freadseek.m4: New file.
3672         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3673         exists.
3674         * modules/freadseek (Files): Add m4/freadseek.m4.
3675         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3676
3677         * lib/fpurge.c (fpurge): Update comment.
3678
3679         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3680
3681 2012-06-19  Bruno Haible  <bruno@clisp.org>
3682
3683         *printf-posix: Put more info into config.log.
3684         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3685         exit code into config.log.
3686
3687 2012-06-19  Bruno Haible  <bruno@clisp.org>
3688
3689         getopt-gnu: Fix exit code overflow in autoconf test.
3690         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3691         to keep them below < 128.
3692
3693 2012-06-17  Jim Meyering  <meyering@redhat.com>
3694
3695         maint.mk: fix typo in code to derive GPG key at release time
3696         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3697
3698 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3699
3700         regex: avoid warning when pointers are not long
3701         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3702         and uintptr_t, not long, for portability to hosts where pointers and
3703         long have different sizes.  Issue noted by Daniel P. Berrange in
3704         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3705         and fix suggested by Bruno Haible in
3706         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3707
3708 2012-06-17  Bruno Haible  <bruno@clisp.org>
3709
3710         dummy: Relicense into the public domain.
3711         * modules/dummy (License): Set to "public domain".
3712         Suggested by Reuben Thomas.
3713
3714 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3715
3716         announce-gen: VPATH issues
3717         * build-aux/announce-gen (--srcdir): New option, used to trim the
3718         $srcdir part of the path from $builddir to NEWS.
3719         * top/maint.mk (announcement): Adjust.
3720
3721 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3722
3723         gnu-web-doc-update: VPATH builds
3724         * build-aux/gnu-web-doc-update (--builddir): New option.
3725         Revamp the handling of options.
3726         Prefer $(...) to `...`.
3727         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3728         the template, and it is GNU mktemp specific.
3729         Prefer set -e to long series of &&.
3730         Restore the initial git branch, not "master".
3731         Properly initialize submodules (don't rely only on bootstrap).
3732         Do not reconfigure blindly, use config.status.
3733         * top/README-release: Update instructions for gnu-web-doc-update.
3734
3735 2012-06-11  Jim Meyering  <meyering@redhat.com>
3736
3737         maint.mk: revert most of the previous change re "all these"
3738         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3739         For rationale, see the discussion at
3740         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3741
3742 2012-06-10  Karl Berry  <karl@gnu.org>
3743
3744         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3745
3746         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3747
3748 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3749
3750         parse-duration: Relicense under LGPLv2+.
3751         * modules/parse-duration (License): Change to LGPLv2+.
3752
3753 2012-06-10  Jim Meyering  <meyering@redhat.com>
3754
3755         maint.mk: prohibit common grammar error: "all these"
3756         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3757         the list of prohibited word sequences.  It should be "all of these".
3758         * lib/tempname.c (__gen_tempname): Fix one of them.
3759
3760 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3761
3762         do-release-commit-and-tag: support VPATH builds
3763         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3764         (noteworthy): Defined earlier to factor its value.
3765         (noteworthy_stub): New.
3766         Use it to factor.
3767         (help_version): Split into...
3768         (help, version): these.
3769         Adjust the option processing part.
3770         Support "--option=value" in addition to "--option value".
3771         (builddir): New.
3772         (--builddir): New option.
3773         * top/README-release: Document this.
3774         Reword slightly so that the reader cannot understand that he
3775         has to do these steps before calling do-release-commit-and-tag.
3776
3777 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3778
3779         readme-release: also require announce-gen and maintainer-makefile
3780         * modules/readme-release (Depends-on): here.
3781         * modules/announce-gen, modules/do-release-commit-and-tag,
3782         modules/gnu-web-doc-update, modules/maintainer-makefile
3783         (Description): Point to readme-release.
3784
3785 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3786
3787         maint.mk: fix VPATH issues.
3788         * top/maint.mk (news-check): GNU Make understand $< very well.
3789         (release-prep): NEWS is in $(srcdir).
3790
3791 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3792
3793         readme-release: require the promoted modules.
3794         * modules/readme-release (Depends-on): Add
3795         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3796         in this text.
3797
3798 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3799             Bruno Haible  <bruno@clisp.org>
3800
3801         error, strerror-override: Support mingw64 from Fedora 17.
3802         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3803         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3804         EINPROGRESS.
3805         * lib/strerror-override.h (strerror_override): Test it.
3806         * lib/strerror-override.c (strerror_override): Likewise.
3807         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3808
3809 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3810             Bruno Haible  <bruno@clisp.org>
3811
3812         error, strerror-override: Support mingw64 from Fedora 17.
3813         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3814         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3815         * lib/strerror-override.h (strerror_override): Test it.
3816         * lib/strerror-override.c (strerror_override): Likewise.
3817
3818 2012-06-03  Bruno Haible  <bruno@clisp.org>
3819
3820         error, strerror-override: Support new errno values from POSIX:2008.
3821         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3822         ENOTRECOVERABLE.
3823         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3824         platforms.
3825         * lib/strerror-override.c (strerror_override): Conditionalize the
3826         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3827         * lib/strerror-override.h (strerror_override): Declare also if
3828         GNULIB_defined_EOWNERDEAD is defined.
3829         * tests/test-errno.c (e130, e131): New variables.
3830         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3831         ENOTRECOVERABLE.
3832         Reported by Paolo Bonzini.
3833
3834 2012-05-31  Jim Meyering  <meyering@redhat.com>
3835
3836         savewd: add missing dependency on sys_wait module
3837         * modules/savewd (Depends-on): Add sys_wait, needed at least
3838         for MSVC.  Report and suggested change by Michael Goffioul.
3839
3840 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3841
3842         system-quote-tests: port to CentOS 5
3843         Problem reported by Tom G. Christensen in
3844         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3845         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3846
3847 2012-05-29  Jim Meyering  <meyering@redhat.com>
3848
3849         maint: fix typos in comments and ChangeLog
3850         Culprits identified and fixed mostly automatically using these commands:
3851         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3852         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3853         using http://github.com/lyda/misspell-check
3854         * ChangeLog: Fix typos.
3855         * doc/solaris-versions: Likewise.
3856         * lib/regexec.c (re_search_stub): Likewise.
3857         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3858
3859 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3860
3861         manywarnings: remove duplicate -Wmultichar entry
3862         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3863         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3864         so keep the entry marked as documented.
3865
3866 2012-05-27  Karl Berry  <karl@gnu.org>
3867
3868         * config/srclist.txt (mktime.c): remove last libc sync,
3869         perhaps just temporarily.
3870
3871 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3872
3873         regex: don't assume uint64_t or uint32_t
3874         * lib/regcomp.c (init_word_char): Don't assume that the types
3875         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3876         them, and on some 32-bit compilers there is no uint64_t.
3877         Problem reported by Gianluigi Tiesi in
3878         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3879
3880 2012-05-25  Jim Meyering  <meyering@redhat.com>
3881
3882         maint.mk: add strncpy-prohibiting syntax-check rule
3883         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3884
3885 2012-05-24  Jim Meyering  <meyering@redhat.com>
3886
3887         maint.mk: compute $(gpg_key_ID) more portably
3888         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3889         That use of sed is not portable to some fringe systems.
3890         Reported by Paul Eggert in
3891         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3892
3893 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3894
3895         mktime: sync from glibc
3896         * config/srclist.txt: Uncomment mktime.c.
3897         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3898         First, indent with tabs, since glibc uses tabs and doesn't want to
3899         change and we'd rather be identical to glibc.  Also, two small
3900         coding changes:
3901         (isdst_differ): Use &&, not &, as && is the usual style.
3902         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3903         for clarity.
3904
3905 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3906
3907         announce-gen: du -h is more portable than du --human
3908         * build-aux/announce-gen (sizes): Invoke du with -h instead
3909         of --human.  Accept leading white space in its output.
3910
3911 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3912
3913         announce-gen: Improve diagnostics.
3914         * build-aux/announce-gen: When parsing command line options,
3915         prefer "announce-gen: option --release-type requires an argument"
3916         to "Option release-type requires an argument".
3917
3918 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3919
3920         maint.mk: gpg_key_ID: use sed more portably
3921         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3922         the closing brace.
3923         (refresh-po): Fuse two sed invocations into one.
3924
3925 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3926
3927         gitlog-to-changelog: support the log message format used in Bison.
3928         * build-aux/gitlog-to-changelog: Support --strip-tab and
3929         --strip-cherry-picked.
3930
3931 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3932
3933         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3934         the rest of the current time slice to another thread in the current
3935         process. So if the thread that feeds the file decscriptor we're
3936         polling is not in the current process, we get busy-waiting.
3937         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3938         Patch from Theodore Leblond.
3939         * lib/select.c: Split polling out of the loop that sets the output
3940         fd_sets.  Check for zero result and loop if the wait timeout is
3941         infinite.
3942
3943 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3944
3945         select: Fix build error on IRIX 6.5.
3946         * lib/select.c: Include stddef.h for NULL.
3947
3948 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3949
3950         gc: fix libgcrypt detection on older machines.
3951         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3952         copyright years because the file has been distributed every year
3953         since it was created.
3954
3955 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3956
3957         crypto: fix bug in large buffer handling
3958         Problem reported by Serge Belyshev for glibc in
3959         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3960         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3961         * lib/md4.c (md4_process_block):
3962         * lib/md5.c (md5_process_block):
3963         * lib/sha1.c (sha1_process_block):
3964         * lib/sha256.c (sha256_process_block):
3965         Don't assume the buffer length is less than 2**32.
3966         * lib/sha512.c (sha512_process_block): Likewise.
3967         Here, the bug is present only in the rare case where the host does
3968         not support uint64_t or where size_t is wider than 64 bits.
3969         Use u64size to work around the problems.
3970         * lib/u64.h (u64size): New macro.
3971
3972 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3973
3974         fsusage: fix block size returned on older Linux 2.6
3975
3976         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3977         which is available since Linux 2.6.
3978         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3979         when the member is available so it can be used as a fallback.
3980         * doc/posix-functions/statvfs.texi: Mention the hang issue
3981         on Linux < 2.6.36.
3982
3983 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3984
3985         bootstrap: suppress stderr chatter
3986         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3987         Omit unnecessary chatter to stderr.  The main program chatter
3988         was there only inadvertantly.
3989
3990         bootstrap: .gitignore files created by autopoint, libtool
3991         I ran into this problem when bootstrapping the latest diffutils.
3992         After './bootstrap', 'git status' reported lots of untracked files
3993         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3994         autopoint and do not need to be version-controlled.
3995         * build-aux/bootstrap: Put into .gitignore the files that
3996         autopoint and libtool create, by keeping track of files that exist
3997         after but not before these programs are run.
3998         (version_controlled_file): Move up.  2nd arg is now full file
3999         name, not base name; this is more convenient.  Put CVS at the end,
4000         as it's now somewhat deprecated.
4001
4002 2012-05-14  Jim Meyering  <meyering@redhat.com>
4003
4004         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4005         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4006         definition.  Reported by Bruno Haible.
4007
4008 2012-05-13  Bruno Haible  <bruno@clisp.org>
4009             Paul Eggert  <eggert@cs.ucla.edu>
4010
4011         binary-io: Define set_binary_mode function.
4012         * lib/binary-io.h (set_binary_mode): New function.
4013         (SET_BINARY): Define in terms of set_binary_mode.
4014         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4015         * tests/test-binary-io.c (main): Accept an argument, and test either
4016         set_binary_mode or SET_BINARY depending on the argument.
4017         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4018         argument. Clean up also t-bin-out0.tmp.
4019
4020 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4021
4022         bootstrap: take advantage of POSIX shell features
4023
4024         The 'bootstrap' script offered by Gnulib script already uses POSIX
4025         shell features (like $((...)) arithmetic expansions) that are not
4026         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4027         means that bootstrap must already be run using a proper POSIX shell,
4028         which will thus provide more features, like ${var#pattern} parameter
4029         expansion or inversion of a command exit status with '!'.  We can
4030         thus use these features to improve the clarity and the performances
4031         of the bootstrap script.
4032
4033         Suggested by Eric Blake.
4034
4035         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4036         of sed/expr plus command substitutions, to save some forks.  While
4037         we are at it, prefer the POSIX $(...) form of command substitution,
4038         rather than the legacy form `...` (since the former is visually
4039         clearer and interacts better with quoting), and prefer the idiom:
4040           "if ! CMD; then ACTION ..."
4041         over the idiom:
4042           "if CMD; then :; else ACTION ..."
4043         which was required by legacy Bourne shells not supporting '!'.
4044
4045 2012-05-12  Bruno Haible  <bruno@clisp.org>
4046
4047         system-quote: Add more comments.
4048         * lib/system-quote.h: Add more comments about wilcards and limitations.
4049         Suggested by Eli Zaretskii <eliz@gnu.org>.
4050
4051         sh-quote, system-quote: Add comments about wildcards.
4052         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4053         * lib/system-quote.h: Likewise.
4054         Reported by Eli Zaretskii <eliz@gnu.org>.
4055
4056 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4057
4058         fsusage: check for GNU/Linux statvfs problem dynamically
4059         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4060         Define STAT_STATFS2_BSIZE too, since in this case the code now
4061         checks dynamically whether statvfs is reliable, falling back on
4062         Linux-style statfs otherwise.
4063         (statvfs_works): New function, for dynamically testing statvfs.
4064         (get_fs_usage) [STAT_STATVFS]: Use it.
4065         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4066         statvfs on GNU/Linux hosts, since it's now done dynamically.
4067
4068 2012-05-10  Bruno Haible  <bruno@clisp.org>
4069
4070         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4071         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4072         '?' character.
4073         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4074         * tests/test-system-quote-main.c (check_all): Check also strings like
4075         "??????????".
4076         Reported by Eli Zaretskii <eliz@gnu.org>.
4077
4078 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4079
4080         _Noreturn: port config.h to gcc -Wundef
4081         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
4082         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4083         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4084
4085 2012-05-10  Bruno Haible  <bruno@clisp.org>
4086
4087         system-quote: Refactor.
4088         * lib/system-quote.h (system_quote_copy): Fix comment.
4089         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4090         New functions, extracted from system_quote_copy.
4091         (system_quote_length, system_quote_copy): Use these functions.
4092         Reported by Paul Eggert.
4093
4094 2012-05-08  Bruno Haible  <bruno@clisp.org>
4095
4096         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4097         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4098
4099 2012-05-08  Bruno Haible  <bruno@clisp.org>
4100
4101         Tests for module 'system-quote'.
4102         * modules/system-quote-tests: New file.
4103         * tests/test-system-quote.sh: New file.
4104         * tests/test-system-quote-main.c: New file.
4105         * tests/test-system-quote-child.c: New file.
4106
4107         New module 'system-quote'.
4108         * lib/system-quote.h: New file.
4109         * lib/system-quote.c: New file.
4110         * modules/system-quote: New file.
4111
4112 2012-05-08  Bruno Haible  <bruno@clisp.org>
4113
4114         sh-quote: Make C++ safe and allow multiple inclusion.
4115         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4116         declarations in extern "C".
4117
4118 2012-05-08  Bruno Haible  <bruno@clisp.org>
4119
4120         sh-quote tests: Make tests stricter.
4121         * tests/test-sh-quote.c (check_one): Check the return value of
4122         shell_quote_copy.
4123         (main): Check a string with a CR character. Check a string that
4124         contains UCHAR_MAX.
4125
4126 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4127
4128         warnings.m4: provide a means to specify the program to compile.
4129         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4130         (gl_WARN_ADD): here.
4131         Use gl_AS_VAR_APPEND.
4132         Support an argument to specify the program to compile.
4133         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4134         AC_SUBST the WARN_CFLAGS when they are used.
4135         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4136         leave this to gl_WARN_ADD.
4137
4138 2012-05-08  Eric Blake  <eblake@redhat.com>
4139
4140         doc: recommendations on gettext version
4141         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4142         choice between versions.
4143         * DEPENDENCIES (gettext): Cover both approaches.
4144
4145 2012-05-08  Jim Meyering  <meyering@redhat.com>
4146
4147         init.sh: explain why EXEEXT support uses aliases rather than functions
4148         * tests/init.sh: Add a comment.
4149
4150         init.sh: don't let bash aliases interfere with tests
4151         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4152         is bash.  This avoids problems for those who alias standard commands to
4153         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4154         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4155
4156 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4157
4158         stdint: be more consistent with glibc, SunOS libc
4159         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4160         (gl_int_fast16_t, gl_uint_fast16_t)
4161         (gl_int_fast32_t, gl_uint_fast32_t)
4162         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4163         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4164         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4165         Be consistent with glibc by default, and with SunOS 5.10 and later
4166         if __sun is defined.  This lessens the likelihood of clashes if
4167         code compiled for older hosts is combined with code compiled for
4168         newer ones.  Problem reported by Niels Möller in
4169         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4170
4171 2012-05-07  Eric Blake  <eblake@redhat.com>
4172
4173         isatty: relax license to LGPLv2+
4174         * modules/isatty (License): Relax license.
4175
4176 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4177
4178         stat-size: comment fix
4179         * lib/stat-size.h: Remove obsolete comment about indenting.
4180
4181 2012-05-06  Bruno Haible  <bruno@clisp.org>
4182
4183         Tests for module 'sh-quote'.
4184         * modules/sh-quote-tests: New file.
4185         * tests/test-sh-quote.c: New file.
4186
4187 2012-05-06  Bruno Haible  <bruno@clisp.org>
4188
4189         sh-quote: Improve shell_quote_argv's signature.
4190         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4191         * lib/sh-quote.c (shell_quote_argv): Likewise.
4192
4193 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4194
4195         stdint: document issues with int_fast8_t etc.
4196         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4197         stdint.h substitutes may define these types differently.  See
4198         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4199
4200 2012-05-05  Bruno Haible  <bruno@clisp.org>
4201
4202         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4203         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4204         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4205         or 'guessing no (mishandles large arguments)'.
4206
4207 2012-05-05  Bruno Haible  <bruno@clisp.org>
4208
4209         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4210         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4211         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4212         set gl_cv_func_link_follows_symlink to "guessing no".
4213
4214 2012-05-05  Bruno Haible  <bruno@clisp.org>
4215
4216         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4217         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4218         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4219         "guessing no".
4220         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4221
4222 2012-05-05  Bruno Haible  <bruno@clisp.org>
4223
4224         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4225         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4226         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4227         set gl_cv_struct_dirent_d_ino to "guessing yes".
4228
4229 2012-05-05  Bruno Haible  <bruno@clisp.org>
4230
4231         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4232         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4233         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4234         "guessing yes".
4235
4236 2012-05-05  Bruno Haible  <bruno@clisp.org>
4237
4238         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4239         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4240         compiling to a glibc system, set gl_cv_func_signbit and
4241         gl_cv_func_signbit_gcc to "guessing yes".
4242
4243 2012-05-05  Bruno Haible  <bruno@clisp.org>
4244
4245         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4246         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4247         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4248         to "guessing yes".
4249         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4250         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4251
4252 2012-05-05  Bruno Haible  <bruno@clisp.org>
4253
4254         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4255         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4256         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4257         gl_cv_func_realpath_works to "guessing yes".
4258
4259 2012-05-05  Bruno Haible  <bruno@clisp.org>
4260
4261         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4262         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4263         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4264
4265 2012-05-04  Bruno Haible  <bruno@clisp.org>
4266
4267         Tweak last commit.
4268         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4269         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4270
4271 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4272
4273         unistd_h: make it easier to avoid sys_types_h
4274         This is useful for Emacs, which has its own method of porting to
4275         Windows, and which therefore does not need the sys_types_h module.
4276         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4277         code moved here from gl_SYS_TYPES_H.
4278         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4279         using the code directly.
4280         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4281         gl_SYS_TYPES_H.
4282         * modules/sys_types (Files):
4283         * modules/unistd (Files): Add m4/off_t.m4.
4284
4285 2012-05-03  Bruno Haible  <bruno@clisp.org>
4286
4287         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4288         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4289         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4290         "guessing yes" or "guessing no".
4291         (gl_FUNC_LSTAT): Update.
4292         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4293         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4294         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4295
4296 2012-05-03  Bruno Haible  <bruno@clisp.org>
4297
4298         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4299         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4300         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4301         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4302         cross-compiling, choose the first alternative on glibc systems.
4303         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4304
4305 2012-05-03  Bruno Haible  <bruno@clisp.org>
4306
4307         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4308         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4309         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4310
4311 2012-05-03  Bruno Haible  <bruno@clisp.org>
4312
4313         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4314         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4315
4316 2012-05-03  Bruno Haible  <bruno@clisp.org>
4317
4318         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4319         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4320         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4321         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4322         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4323         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4324         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4325         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4326         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4327         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4328         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4329         gl_cv_func_chown_ctime_works to "guessing yes".
4330         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4331         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4332         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4333         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4334         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4335         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4336         compiling to glibc systems, set gl_cv_func_open_directory_works to
4337         "guessing yes".
4338         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4339         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4340         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4341         "guessing yes".
4342         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4343         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4344         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4345         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4346         "guessing yes".
4347         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4348         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4349         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4350         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4351         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4352         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4353         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4354         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4355         "guessing yes".
4356         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4357         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4358         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4359         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4360         "guessing yes".
4361         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4362         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4363         "guessing yes".
4364         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4365         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4366         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4367         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4368         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4369         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4370         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4371         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4372         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4373         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4374         "guessing yes".
4375         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4376         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4377         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4378         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4379         "guessing yes".
4380         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4381         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4382         "guessing yes".
4383         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4384         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4385         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4386         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4387         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4388         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4389         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4390         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4391         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4392         "guessing yes".
4393         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4394         compiling to glibc systems, set gl_cv_func_mknod_works to
4395         "guessing yes".
4396         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4397         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4398         "guessing yes".
4399         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4400         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4401         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4402         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4403         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4404         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4405         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4406         compiling to glibc systems, set gl_cv_func_svid_putenv to
4407         "guessing yes".
4408         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4409         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4410         "guessing yes".
4411         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4412         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4413         "guessing yes".
4414         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4415         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4416         to "guessing yes".
4417         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4418         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4419         to "guessing yes".
4420         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4421         compiling to glibc systems, set gl_cv_func_rmdir_works to
4422         "guessing yes".
4423         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4424         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4425         gl_cv_func_unlink_parent_fails to "guessing yes".
4426         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4427         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4428         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4429         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4430         gl_cv_func_rename_dest_works to "guessing yes".
4431         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4432         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4433         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4434         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4435         "guessing yes".
4436         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4437         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4438         "guessing yes".
4439         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4440         compiling to glibc systems, set gl_cv_func_setenv_works to
4441         "guessing yes".
4442         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4443         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4444         "guessing yes".
4445         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4446         compiling to glibc systems, set gl_cv_func_sleep_works to
4447         "guessing yes".
4448         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4449         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4450         "guessing yes".
4451         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4452         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4453         "guessing yes".
4454         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4455         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4456         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4457         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4458         "guessing yes".
4459         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4460         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4461         "guessing yes".
4462         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4463         compiling to glibc systems, set gl_cv_func_usleep_works to
4464         "guessing yes".
4465         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4466         compiling to glibc systems, set gl_cv_func_futimesat_works to
4467         "guessing yes".
4468
4469 2012-05-03  Bruno Haible  <bruno@clisp.org>
4470
4471         Say "guessing yes" or "guessing no" when cross-compiling.
4472         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4473         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4474         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4475         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4476         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4477         am_cv_func_working_getline to "guessing yes" or "guessing no".
4478         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4479         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4480         (gl_FUNC_MEMMEM): When cross-compiling, set
4481         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4482         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4483         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4484         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4485         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4486         "guessing no".
4487         (gl_FUNC_STRCASESTR): When cross-compiling, set
4488         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4489         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4490         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4491         (gl_FUNC_STRSTR): When cross-compiling, set
4492         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4493         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4494         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4495         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4496         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4497
4498 2012-05-01  Bruno Haible  <bruno@clisp.org>
4499
4500         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4501         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4502         * build-aux/reloc-ldflags: Likewise.
4503         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4504
4505 2012-05-01  Bruno Haible  <bruno@clisp.org>
4506
4507         gnulib-tool: Remove transitional code.
4508         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4509         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4510
4511 2012-05-01  Bruno Haible  <bruno@clisp.org>
4512
4513         getcwd: Fix misindentation.
4514         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4515
4516 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4517
4518         exclude: process exclude and include directives in order
4519         This restores the pre-2009 behavior, and is part of a fix of a
4520         grep bug reported by Quentin Arce in
4521         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4522         * lib/exclude.c (struct exclude): Remove 'tail' member.
4523         (new_exclude_segment): Prepend the new segment instead of appending.
4524         Return void, since that's now more convenient.
4525         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4526         (file_name_matches): Renamed from excluded_file_name_p.
4527         (file_pattern_matches, file_name_matches):
4528         Return true if the pattern matches, not if it excludes.
4529         All callers changed.
4530         (excluded_file_name): Process the list in reverse order;
4531         since the list is now reversed this restores the pre-2009 behavior.
4532         (add_exclude): Adjust to new reversed-order list.  Use local var
4533         rather than macro, for clarity.
4534         * tests/test-exclude7.sh: Adjust to corrected behavior.
4535
4536         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4537         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4538         it's not possible here.  Handle the case of \ at end of pattern
4539         without dumping core.
4540         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4541
4542         _Noreturn: future-proof non-GNU and non-MSVC compilers
4543         * build-aux/snippet/_Noreturn.h (_Noreturn):
4544         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4545         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4546         C11 or later.  This is more likely to work with random future C
4547         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4548         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4549
4550         exclude: handle wildcards with FNM_EXTMATCH
4551         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4552         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4553         comment that "has wildcards" really means "has or may have
4554         wildcards".  Simplify by avoiding the need to call strcspn.
4555
4556 2012-04-29  Bruno Haible  <bruno@clisp.org>
4557
4558         gnulib-tool: Fix list of authors.
4559         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4560
4561 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4562
4563         bootstrap: support Automake-NG in $buildreq
4564         * bootstrap (check_versions): Handle automake and aclocal from
4565         Automake-NG specially.  They can be specified as respectively
4566         the "automake-ng" and "aclocal-ng" requirements.
4567
4568 2012-04-25  Eric Blake  <eblake@redhat.com>
4569
4570         bootstrap: only force latest Makefile.in.in for gettext module
4571         * build-aux/bootstrap (with_gettext): Only install latest
4572         Makefile.in.in for projects requesting bleeding edge gettext.
4573
4574 2012-04-22  Bruno Haible  <bruno@clisp.org>
4575
4576         doc: Mention reason for replacement on glibc/Linux systems.
4577         * doc/posix-functions/dprintf.texi: Mention the problem with special
4578         'long double' values.
4579         * doc/posix-functions/fprintf.texi: Likewise.
4580         * doc/posix-functions/printf.texi: Likewise.
4581         * doc/posix-functions/snprintf.texi: Likewise.
4582         * doc/posix-functions/sprintf.texi: Likewise.
4583         * doc/posix-functions/vdprintf.texi: Likewise.
4584         * doc/posix-functions/vfprintf.texi: Likewise.
4585         * doc/posix-functions/vprintf.texi: Likewise.
4586         * doc/posix-functions/vsnprintf.texi: Likewise.
4587         * doc/posix-functions/vsprintf.texi: Likewise.
4588         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4589         platforms with F_DUPFD_CLOEXEC problems.
4590         * doc/posix-functions/glob.texi: Mention which platforms are affected
4591         by the problem with symbolic links.
4592         * doc/posix-functions/linkat.texi: Mention the problem with
4593         AT_SYMLINK_FOLLOW on Linux.
4594
4595 2012-04-22  Bruno Haible  <bruno@clisp.org>
4596
4597         pwrite: Don't replace on all platforms.
4598         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4599
4600 2012-04-22  Bruno Haible  <bruno@clisp.org>
4601
4602         rint* tests: Avoid gcc warnings.
4603         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4604         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4605         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4606
4607 2012-04-21  Bruno Haible  <bruno@clisp.org>
4608
4609         users.txt: Update.
4610         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4611         switched from CVS to git, bzr, or svn.
4612
4613 2012-04-21  Bruno Haible  <bruno@clisp.org>
4614
4615         Large File Support for native Windows platforms.
4616
4617         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4618         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4619
4620         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4621         type.
4622         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4623         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4624         * doc/posix-headers/sys_types.texi: Mention the effect of the
4625         'largefile' module.
4626
4627         * lib/fcntl.in.h: Add comments about off_t.
4628         * modules/fcntl-h (Depends-on): Add sys_types.
4629
4630         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4631         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4632         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4633         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4634         * modules/unistd (Depends-on): Add sys_types.
4635         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4636
4637         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4638         instead of lseek.
4639         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4640         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4641         * modules/lseek (Depends-on): Add sys_types.
4642
4643         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4644         msvc-nothrow.h.
4645         (SetFileSize): New function.
4646         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4647         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4648         if Large File Support is requested.
4649         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4650         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4651
4652         * lib/stdio.in.h: Add comments about off_t.
4653         * modules/stdio (Depends-on): Add sys_types.
4654
4655         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4656         instead of ftello.
4657         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4658         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4659         (gl_PREREQ_FTELLO): New macro.
4660         * modules/ftello (Depends-on): Add sys_types.
4661         (configure.ac): Incoke gl_PREREQ_FTELLO.
4662
4663         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4664         instead of fseeko.
4665         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4666         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4667         (gl_PREREQ_FSEEKO): New macro.
4668         * modules/fseeko (Depends-on): Add sys_types.
4669         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4670
4671         * lib/sys_stat.in.h: Add comments about off_t.
4672         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4673         64-bit integer for st_size in 'struct stat'.
4674         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4675         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4676         * modules/sys_stat (Depends-on): Add sys_types.
4677         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4678
4679         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4680         instead of stat or _stat.
4681
4682         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4683         'struct _stati64' instead of fstat and 'struct stat'.
4684         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4685         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4686
4687         Reported by Ray Satiro <raysatiro@yahoo.com>.
4688
4689 2012-04-19  Eric Blake  <eblake@redhat.com>
4690
4691         bootstrap: accommodate older libtool
4692         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4693         Reported by Daniel P. Berrange.
4694
4695 2012-04-19  Jim Meyering  <meyering@redhat.com>
4696
4697         announce-gen: avoid failure due to lack of Digest::SHA1
4698         Even with the preferred Digest::SHA available, this script
4699         would fail when the backup module, Digest::SHA1, was not installed.
4700         * build-aux/announce-gen: Quote the conditional use of "use".
4701         Reported by Reuben Thomas in:
4702         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4703
4704         bootstrap: don't let a user's CDPATH setting affect this script
4705         When CDPATH is set, cd will sometimes generate output.
4706         When "cd" is run in a subshell whose output matters, that
4707         surprising-to-some output can cause malfunction.
4708         Unsetting CDPATH turns off this shell "feature."
4709         * build-aux/bootstrap (CDPATH): Unset.
4710         Reported by Reuben Thomas in:
4711         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4712         and inspired by his patch here:
4713         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4714
4715 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4716         and Jim Meyering  <meyering@redhat.com>
4717
4718         maint.mk: catch "see @xref{}" and similar
4719         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4720         prohibit "See also @xref{", "Also see @pxref{", and similar.
4721
4722 2012-04-16  Jim Meyering  <meyering@redhat.com>
4723
4724         bootstrap: really use gnulib's po/Makefile.in.in
4725         * build-aux/bootstrap: Correct the source file name in previous change.
4726         Reported by Akim Demaille.
4727
4728         configmake: correct minor inconsistency in Makefile rule
4729         * modules/configmake (Makefile.am): All other rules like this one
4730         run the final "mv -f ..." in the same backslash-continued command
4731         as the one that does everything else.  This one put the mv -f ...
4732         command on a separate, non-backslash-continued line.
4733         Make it like the others.
4734
4735         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4736         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4737         the one from gettext.  Reported by Akim Demaille.
4738
4739 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4740
4741         Fix recursion of install-* into po directories.
4742         Bison's install-pdf bug reported by Hans Aberg at
4743         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4744         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4745         (install-info, install-pdf, install-ps): New targets.
4746
4747 2012-04-16  Jim Meyering  <meyering@redhat.com>
4748
4749         maint: avoid spurious "make sc_maint" failure
4750         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4751         exempt all *.class file names, for lib/javaversion.class.
4752
4753 2012-04-15  Bruno Haible  <bruno@clisp.org>
4754
4755         lseek: Make configure test independent of environment.
4756         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4757         Windows, we know that lseek() on pipes is broken; skip the runtime
4758         test.
4759
4760 2012-04-14  Bruno Haible  <bruno@clisp.org>
4761
4762         stat: Bypass buggy override in mingw64.
4763         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4764         * lib/stat.c (stat) [mingw64]: Define to _stat.
4765         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4766
4767 2012-04-14  Bruno Haible  <bruno@clisp.org>
4768
4769         pathmax: Fix compilation error on MSVC 9.
4770         * modules/pathmax (Depends-on): Add unistd.
4771
4772 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4773
4774         README: document pointer comparison assumption
4775         * README (Portability guidelines): Document assumption about
4776         pointer comparisons, in response to a recent bug-gnulib comment by
4777         Jeffrey Kegler.
4778
4779 2012-04-12  Bruno Haible  <bruno@clisp.org>
4780
4781         Tests for module 'getrusage'.
4782         * modules/getrusage-tests: New file.
4783         * tests/test-getrusage.c: New file.
4784
4785         New module 'getrusage'.
4786         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4787         warn-on-use.h.
4788         (getrusage): New declaration.
4789         * lib/getrusage.c: New file.
4790         * m4/getrusage.m4: New file.
4791         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4792         is declared.
4793         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4794         HAVE_GETRUSAGE.
4795         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4796         snippet/c++defs, snippet/warn-on-use.
4797         (Makefile.am): Update generation of sys/resource.h. Substitute
4798         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4799         * modules/getrusage: New file.
4800         * doc/posix-functions/getrusage.texi: Mention the new module.
4801
4802 2012-04-12  Bruno Haible  <bruno@clisp.org>
4803
4804         Tests for module 'sys_resource'.
4805         * modules/sys_resource-tests: New file.
4806         * tests/test-sys_resource.c: New file.
4807
4808         New module 'sys_resource'.
4809         * lib/sys_resource.in.h: New file.
4810         * m4/sys_resource_h.m4: New file.
4811         * modules/sys_resource: New file.
4812         * doc/posix-headers/sys_resource.texi: Mention the new module.
4813
4814 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4815
4816         ioctl: Fix compilation error on mingw.
4817         * lib/ioctl.c: Include <windows.h>.
4818         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4819
4820 2012-04-04  Jim Meyering  <meyering@redhat.com>
4821
4822         regex: correct #pragma guard expression
4823         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4824         not 4.3.  Correct its cpp guard expression.
4825
4826 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4827
4828         regex: remove unnecessary type punning
4829         Problem reported by Vladimir Serbinenko in
4830         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4831         * lib/regex.h (struct re_pattern_buffer): Change the type of
4832         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4833         Fix comment to match code.
4834         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4835         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4836         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4837         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4838         (set_regs):
4839         Omit no-longer-necessary casts.
4840
4841 2012-04-03  Bruno Haible  <bruno@clisp.org>
4842
4843         Tests for module 'ilogbl'.
4844         * modules/ilogbl-tests: New file.
4845         * tests/test-ilogbl.c: New file.
4846
4847         New module 'ilogbl'.
4848         * lib/math.in.h (ilogbl): New declaration.
4849         * lib/ilogbl.c: New file.
4850         * m4/ilogbl.m4: New file.
4851         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4852         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4853         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4854         Split sed invocation, to avoid the limit of 100 substitutions of
4855         HP-UX 'sed'.
4856         * modules/ilogbl: New file.
4857         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4858         * doc/posix-functions/ilogbl.texi: Mention the new module.
4859
4860 2012-04-03  Bruno Haible  <bruno@clisp.org>
4861
4862         Tests for module 'ilogbf'.
4863         * modules/ilogbf-tests: New file.
4864         * tests/test-ilogbf.c: New file.
4865
4866         New module 'ilogbf'.
4867         * lib/math.in.h (ilogbf): New declaration.
4868         * lib/ilogbf.c: New file.
4869         * m4/ilogbf.m4: New file.
4870         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4871         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4872         REPLACE_ILOGBF.
4873         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4874         REPLACE_ILOGBF.
4875         * modules/ilogbf: New file.
4876         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4877         * doc/posix-functions/ilogbf.texi: Mention the new module.
4878
4879 2012-04-03  Bruno Haible  <bruno@clisp.org>
4880
4881         Tests for module 'ilogb'.
4882         * modules/ilogb-tests: New file.
4883         * tests/test-ilogb.c: New file.
4884         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4885         tests/test-logb-ieee.h.
4886
4887         New module 'ilogb'.
4888         * lib/math.in.h (ilogb): New declaration.
4889         * lib/ilogb.c: New file.
4890         * m4/ilogb.m4: New file.
4891         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4893         REPLACE_ILOGB.
4894         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4895         REPLACE_ILOGB.
4896         * modules/ilogb: New file.
4897         * tests/test-math-c++.cc: Check the declaration of ilogb.
4898         * doc/posix-functions/ilogb.texi: Mention the new module.
4899
4900 2012-04-03  Bruno Haible  <bruno@clisp.org>
4901
4902         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4903         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4904         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4905         (main): Check their values.
4906         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4907         problem.
4908
4909 2012-04-03  Bruno Haible  <bruno@clisp.org>
4910
4911         Tests for module 'logbl-ieee'.
4912         * modules/logbl-ieee-tests: New file.
4913         * tests/test-logbl-ieee.c: New file.
4914
4915         New module 'logbl-ieee'.
4916         * modules/logbl-ieee: New file.
4917
4918         Tests for module 'logb-ieee'.
4919         * modules/logb-ieee-tests: New file.
4920         * tests/test-logb-ieee.c: New file.
4921
4922         New module 'logb-ieee'.
4923         * modules/logb-ieee: New file.
4924
4925         Tests for module 'logbf-ieee'.
4926         * modules/logbf-ieee-tests: New file.
4927         * tests/test-logbf-ieee.c: New file.
4928         * tests/test-logb-ieee.h: New file.
4929
4930         New module 'logbf-ieee'.
4931         * modules/logbf-ieee: New file.
4932
4933 2012-04-03  Bruno Haible  <bruno@clisp.org>
4934
4935         Tests for module 'logbl'.
4936         * modules/logbl-tests: New file.
4937         * tests/test-logbl.c: New file.
4938
4939         New module 'logbl'.
4940         * lib/math.in.h (logbl): New declaration.
4941         * lib/logbl.c: New file.
4942         * m4/logbl.m4: New file.
4943         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4944         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4945         REPLACE_LOGBL.
4946         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4947         REPLACE_LOGBL.
4948         * modules/logbl: New file.
4949         * tests/test-math-c++.cc: Check the declaration of logbl.
4950         * doc/posix-functions/logbl.texi: Mention the new module.
4951
4952 2012-04-02  Bruno Haible  <bruno@clisp.org>
4953
4954         Tests for module 'logbf'.
4955         * modules/logbf-tests: New file.
4956         * tests/test-logbf.c: New file.
4957
4958         New module 'logbf'.
4959         * lib/math.in.h (logbf): New declaration.
4960         * lib/logbf.c: New file.
4961         * m4/logbf.m4: New file.
4962         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4964         REPLACE_LOGBF.
4965         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4966         REPLACE_LOGBF.
4967         * modules/logbf: New file.
4968         * tests/test-math-c++.cc: Check the declaration of logbf.
4969         * doc/posix-functions/logbf.texi: Mention the new module.
4970
4971 2012-04-02  Bruno Haible  <bruno@clisp.org>
4972
4973         logb tests: More tests.
4974         * tests/test-logb.h: New file, based on tests/test-logb.c and
4975         tests/test-frexp.h.
4976         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4977         (main): Just invoke test_function.
4978         * modules/logb-tests (Files): Add tests/test-logb.h,
4979         tests/minus-zero.h, tests/randomd.c.
4980         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4981
4982         logb: Provide replacement and workarounds.
4983         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4984         is 1.
4985         * lib/logb.c: New file.
4986         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4987         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4988         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4989         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4990         * modules/logb (Files): Add lib/logb.c.
4991         (Depends-on): Add isfinite, frexp, isnand.
4992         (configure.ac): Compile the replacement code logb.c if needed.
4993         * tests/test-math-c++.cc: Check the declaration of logb.
4994         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4995         with subnormal numbers.
4996
4997 2012-04-02  Bruno Haible  <bruno@clisp.org>
4998
4999         log10* tests: Speed up.
5000         * tests/test-log10.h (test_function): Reduce amount of random numbers
5001         to test.
5002
5003 2012-04-01  Bruno Haible  <bruno@clisp.org>
5004
5005         logf-ieee: Fix test whether logf works.
5006         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5007
5008 2012-04-01  Bruno Haible  <bruno@clisp.org>
5009
5010         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5011         * lib/log10l.c: Include <float.h>
5012         (log10l): On IRIX, normalize the +Infinity value.
5013         * modules/log10l (Depends-on): Add 'float'.
5014         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5015         +Infinity.
5016
5017         log10f-ieee: Work around test failure on NetBSD 5.1.
5018         * m4/log10f-ieee.m4: New file.
5019         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5020         test whether log10f works with a negative argument. Replace it if not.
5021         * lib/log10f.c (log10f): For negative arguments, return NaN.
5022         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5023         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5024         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5025
5026         log10f-ieee: Work around test failure on Solaris 9.
5027         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5028         (configure.ac): Require gl_FUNC_LOG10F.
5029
5030         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5031         * m4/log10-ieee.m4: New file.
5032         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5033         whether log10 works with a negative argument. Replace it if not.
5034         * lib/log10.c (log10): For negative arguments, return NaN.
5035         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5036         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5037         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5038
5039         Tests for module 'log10l-ieee'.
5040         * modules/log10l-ieee-tests: New file.
5041         * tests/test-log10l-ieee.c: New file.
5042
5043         New module 'log10l-ieee'.
5044         * modules/log10l-ieee: New file.
5045
5046         Tests for module 'log10-ieee'.
5047         * modules/log10-ieee-tests: New file.
5048         * tests/test-log10-ieee.c: New file.
5049
5050         New module 'log10-ieee'.
5051         * modules/log10-ieee: New file.
5052
5053         Tests for module 'log10f-ieee'.
5054         * modules/log10f-ieee-tests: New file.
5055         * tests/test-log10f-ieee.c: New file.
5056         * tests/test-log10-ieee.h: New file.
5057
5058         New module 'log10f-ieee'.
5059         * modules/log10f-ieee: New file.
5060
5061 2012-04-01  Bruno Haible  <bruno@clisp.org>
5062
5063         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5064         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5065         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5066         workaround.
5067         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5068         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5070         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5071         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5072         (Depends-on): Update conditions.
5073         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5074         IRIX 6.5, OSF/1 5.1 problems.
5075
5076 2012-04-01  Bruno Haible  <bruno@clisp.org>
5077
5078         log10f: Work around OSF/1 5.1 bug.
5079         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
5080         * lib/log10f.c (log10f): If logf exists, use it and provide just the
5081         workaround.
5082         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5083         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5084         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5085         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5086         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5087         (Depends-on): Update conditions.
5088         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5089
5090 2012-04-01  Bruno Haible  <bruno@clisp.org>
5091
5092         log10: Work around OSF/1 5.1 bug.
5093         * lib/math.in.h (log10): New declaration.
5094         * lib/log10.c: New file.
5095         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5096         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5097         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5098         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5099         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5100         * modules/log10 (Files): Add lib/log10.c.
5101         (Depends-on): Add math.
5102         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5103         * tests/test-math-c++.cc: Check the declaration of log10.
5104         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5105
5106 2012-03-31  Bruno Haible  <bruno@clisp.org>
5107
5108         log10l tests: More tests.
5109         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5110         tests/minus-zero.h, tests/randoml.c.
5111         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5112         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5113         (main): Invoke test_function.
5114
5115         log10f tests: More tests.
5116         * modules/log10f-tests (Files): Add tests/test-log10.h,
5117         tests/minus-zero.h, tests/randomf.c.
5118         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5119         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5120         (main): Invoke test_function.
5121
5122         log10 tests: More tests.
5123         * tests/test-log10.h: New file.
5124         * modules/log10-tests (Files): Add tests/test-log10.h,
5125         tests/minus-zero.h, tests/randomd.c.
5126         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5127         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5128         (main): Invoke test_function.
5129
5130 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5131
5132         fflush: Fix syntax error.
5133         * lib/fflush.c: Include unused-parameter.h, needed for
5134         _GL_UNUSED_PARAMETER.
5135         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5136
5137 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5138
5139         regex: pacify GCC when compiling GRUB
5140         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5141         a diagnostic.  Reported by Vladimir Serbinenko in
5142         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5143
5144 2012-03-29  Eric Blake  <eblake@redhat.com>
5145
5146         stdio: don't assume gets any more
5147         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5148         support.
5149         * modules/stdio (Makefile.am): Likewise.
5150         * lib/stdio-read.c (gets): Likewise.
5151         * tests/test-stdio-c++.cc: Likewise.
5152         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5153         * lib/stdio.in.h (gets): Make warning occur in more places.
5154         * doc/posix-functions/gets.texi (gets): Update documentation.
5155         Reported by Christer Solskogen.
5156
5157         maint.mk: fix syntax checks without exclusions
5158         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5159         Reported by Daniel P. Berrange.
5160
5161         strerror_r: avoid compiler warning
5162         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5163         level.
5164
5165         fflush: avoid compiler warning
5166         * lib/fflush.c (update_fpos_cache): Mark variables that are
5167         potentially unused.
5168
5169 2012-03-25  Bruno Haible  <bruno@clisp.org>
5170
5171         Tests for module 'localeconv'.
5172         * modules/localeconv-tests: New file.
5173         * tests/test-localeconv.c: New file.
5174
5175         New module 'localeconv'.
5176         * lib/locale.in.h (localeconv): New declaration.
5177         * lib/localeconv.c: New file.
5178         * m4/localeconv.m4: New file.
5179         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5180         REPLACE_LOCALECONV.
5181         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5182         REPLACE_LOCALECONV.
5183         * modules/localeconv: New file.
5184         * modules/nl_langinfo (Depends-on): Add localeconv.
5185         * modules/human (Depends-on): Likewise.
5186         * doc/posix-functions/localeconv.texi: Mention the new module.
5187
5188 2012-03-25  Bruno Haible  <bruno@clisp.org>
5189
5190         locale: Provide a complete 'struct lconv'.
5191         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5192         'struct lconv' does not contain int_p_cs_precedes.
5193         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5194         * doc/posix-headers/locale.texi: Update.
5195
5196         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5197         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5198         * doc/posix-headers/locale.texi: Update.
5199
5200         locale: Provide a working 'struct lconv'.
5201         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5202         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5203         'struct lconv' does not even contain decimal_point.
5204         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5205         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5206         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5207         * doc/posix-headers/locale.texi: Mention the problems with
5208         'struct lconv'.
5209         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5210
5211 2012-03-24  Bruno Haible  <bruno@clisp.org>
5212
5213         Enable common subexpression optimization in GCC.
5214         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5215         macros.
5216         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5217         GCC attribute 'const'.
5218         (uc_locale_language): Declare with GCC attribute 'pure'.
5219         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5220         with GCC attribute 'const'.
5221         * lib/unictype.in.h (uc_is_general_category_withtable,
5222         uc_combining_class, uc_combining_class_name,
5223         uc_combining_class_long_name, uc_bidi_class_name,
5224         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5225         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5226         uc_decimal_value, uc_digit_value, uc_numeric_value,
5227         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5228         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5229         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5230         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5231         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5232         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5233         Declare with GCC attribute 'const'.
5234         (uc_general_category_name, uc_general_category_long_name,
5235         uc_general_category_byname, uc_general_category,
5236         uc_is_general_category, uc_combining_class_byname,
5237         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5238         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5239         Declare with GCC attribute 'pure'.
5240         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5241         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5242         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5243         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5244         with GCC attribute 'pure'.
5245         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5246         'const'.
5247         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5248         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5249         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5250         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5251         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5252         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5253         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5254         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5255         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5256         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5257         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5258         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5259         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5260         GCC attribute 'pure'.
5261         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5262         'const'.
5263         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5264         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5265         u32_strwidth): Declare with GCC attribute 'pure'.
5266
5267         Enable common subexpression optimization in GCC.
5268         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5269         (alphasort): Declare with GCC attribute 'pure'.
5270         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5271         (atoll): Declare with GCC attribute 'pure'.
5272         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5273         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5274         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5275         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5276         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5277         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5278         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5279
5280 2012-03-24  Bruno Haible  <bruno@clisp.org>
5281
5282         gnulib-tool: Avoid unintended error output from 'cmp'.
5283         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5284         "cmp -s", not "cmp > /dev/null".
5285
5286 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5287
5288         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5289
5290         It's not just Automake versions < 1.9b that creates an empty
5291         pkgdatadir at installation time if pkgdata_DATA is specified
5292         to empty; modern automake versions do this as well, at least
5293         until automake 1.11.4 (not yet released at the moment of writing,
5294         but soon to appear).  That behaviour was generally considered a
5295         feature rather than a bug, at least until this discussion:
5296         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5297
5298         See also automake bugs #10997 and #11030.
5299
5300         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5301         reference to relevant automake bug numbers.
5302         (func_emit_tests_Makefile_am): Likewise.
5303
5304 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5305
5306         announce-gen: use Digest::SHA when possible
5307         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5308         back to Digest::SHA1 if necessary.
5309
5310 2012-03-20  Jim Meyering  <meyering@redhat.com>
5311
5312         tests: avoid gcc warnings about argv vs. const initializers
5313         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5314         warnings about discarding 'const' qualifier from pointer target type.
5315         * tests/test-posix_spawn2.c (main): Likewise.
5316
5317 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5318
5319         README-release: simplify slightly
5320         * top/README-release: Run "git checkout master" only once.
5321
5322 2012-03-15  Mark Wielaard  <mark@klomp.org>
5323
5324         git-merge-changelog: add specific example on how to use with hg.
5325         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5326
5327 2012-03-18  Mark Wielaard  <mark@klomp.org>
5328
5329         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5330
5331 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5332
5333         git-version-gen: don't let "prefix" envvar cause trouble
5334         * build-aux/git-version-gen (prefix): Initialize properly,
5335         so as not to use a value specified via the environment.
5336         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5337
5338 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5339
5340         regex: diagnose too-large repeat counts in EREs
5341         Previously, the code did not diagnose the too-large repeat count
5342         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5343         as if it were 'b\{1000000000}', which is unexpected.
5344         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5345         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5346         is a reasonable one for this problem.  Another option would be to
5347         create a new REG_OVERFLOW error for repeat counts that are too large.
5348         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5349         count is too large, so that the caller can distinguish the two cases.
5350         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5351         "Too large" return code, and that repeat counts are one example of this.
5352
5353 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5354
5355         doc: some glibc x32 integer width issues
5356         * doc/posix-headers/sys_types.texi (sys/types.h):
5357         * doc/posix-headers/time.texi (time.h):
5358         Mention that glibc x32 does not conform to POSIX in a couple of
5359         areas related to integer widths.
5360
5361 2012-03-15  Bruno Haible  <bruno@clisp.org>
5362
5363         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5364         * lib/fma.c (VOLATILE): New macro.
5365         (FUNC): Use it to work around a GCC compiler bug.
5366
5367 2012-03-13  Bruno Haible  <bruno@clisp.org>
5368
5369         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5370         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5371         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5372         REPLACE_HYPOTL to 1.
5373         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5374
5375 2012-03-13  Bruno Haible  <bruno@clisp.org>
5376
5377         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5378         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5379         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5380         REPLACE_REMAINDERL to 1.
5381         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5382         bug.
5383
5384 2012-03-13  Bruno Haible  <bruno@clisp.org>
5385
5386         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5387         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5388         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5389         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5390         too big rounding errors.
5391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5392         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5393         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5394         (Depends-on): Update conditions.
5395         * tests/test-sqrtl.c (my_ldexpl): New function.
5396         (main): Add test of a particular value.
5397         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5398
5399 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5400
5401         doc: Update timer_* platform portability notes.
5402         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5403         that always return ENOSYS.
5404         * doc/posix-functions/timer_delete.texi: Likewise.
5405         * doc/posix-functions/timer_gettime.texi: Likewise.
5406         * doc/posix-functions/timer_settime.texi: Likewise.
5407
5408 2012-03-13  Bruno Haible  <bruno@clisp.org>
5409
5410         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5411         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5412         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5413         REPLACE_CBRTL to 1.
5414         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5415
5416 2012-03-13  Bruno Haible  <bruno@clisp.org>
5417
5418         remainderl: Avoid compilation error on AIX >= 5.2.
5419         * lib/math.in.h (remainderl): Undefine macro from the system header.
5420
5421 2012-03-13  Bruno Haible  <bruno@clisp.org>
5422
5423         Avoid compilation errors with MSVC option -fp:strict.
5424         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5425         * lib/cbrtf.c: Likewise.
5426         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5427
5428 2012-03-12  Bruno Haible  <bruno@clisp.org>
5429
5430         uninorm: Don't crash in out-of-memory conditions.
5431         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5432         gracefully.
5433         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5434         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5435
5436 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5437
5438         quote: fix syntax-check
5439         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5440         also exports quote_quoting_options.
5441
5442 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5443
5444         Collapse list of copyright years to ranges.  See
5445         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5446         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5447         build-aux/csharpexec.sh.in, build-aux/gnupload,
5448         build-aux/install-reloc, build-aux/javacomp.sh.in,
5449         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5450         build-aux/move-if-change, build-aux/reloc-ldflags,
5451         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5452
5453 2012-03-11  Bruno Haible  <bruno@clisp.org>
5454
5455         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5456         * m4/log2f-ieee.m4: New file.
5457         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5458         whether log2f works with a minus zero argument. Replace it if not.
5459         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5460         (Depends-on): Add log2-ieee.
5461         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5462         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5463
5464         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5465         * m4/log2-ieee.m4: New file.
5466         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5467         whether log2 works with a minus zero argument. Replace it if not.
5468         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5469         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5470         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5471
5472         Tests for module 'log2l-ieee'.
5473         * modules/log2l-ieee-tests: New file.
5474         * tests/test-log2l-ieee.c: New file.
5475
5476         New module 'log2l-ieee'.
5477         * modules/log2l-ieee: New file.
5478
5479         Tests for module 'log2-ieee'.
5480         * modules/log2-ieee-tests: New file.
5481         * tests/test-log2-ieee.c: New file.
5482
5483         New module 'log2-ieee'.
5484         * modules/log2-ieee: New file.
5485
5486         Tests for module 'log2f-ieee'.
5487         * modules/log2f-ieee-tests: New file.
5488         * tests/test-log2f-ieee.c: New file.
5489         * tests/test-log2-ieee.h: New file.
5490
5491         New module 'log2f-ieee'.
5492         * modules/log2f-ieee: New file.
5493
5494 2012-03-11  Bruno Haible  <bruno@clisp.org>
5495
5496         Tests for module 'log2l'.
5497         * modules/log2l-tests: New file.
5498         * tests/test-log2l.c: New file.
5499
5500         New module 'log2l'.
5501         * lib/math.in.h (log2l): New declaration.
5502         * lib/log2l.c: New file.
5503         * m4/log2l.m4: New file.
5504         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5505         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5506         REPLACE_LOG2L.
5507         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5508         REPLACE_LOG2L.
5509         * modules/log2l: New file.
5510         * tests/test-math-c++.cc: Check the declaration of log2l.
5511         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5512         and OSF/1 problems.
5513
5514 2012-03-11  Bruno Haible  <bruno@clisp.org>
5515
5516         Tests for module 'log2f'.
5517         * modules/log2f-tests: New file.
5518         * tests/test-log2f.c: New file.
5519
5520         New module 'log2f'.
5521         * lib/math.in.h (log2f): New declaration.
5522         * lib/log2f.c: New file.
5523         * m4/log2f.m4: New file.
5524         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5525         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5526         REPLACE_LOG2F.
5527         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5528         REPLACE_LOG2F.
5529         * modules/log2f: New file.
5530         * tests/test-math-c++.cc: Check the declaration of log2f.
5531         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5532         and OSF/1 and Cygwin problems.
5533
5534 2012-03-11  Bruno Haible  <bruno@clisp.org>
5535
5536         Tests for module 'log2'.
5537         * modules/log2-tests: New file.
5538         * tests/test-log2.c: New file.
5539         * tests/test-log2.h: New file.
5540
5541         New module 'log2'.
5542         * lib/math.in.h (log2): New declaration.
5543         * lib/log2.c: New file.
5544         * m4/log2.m4: New file.
5545         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5547         REPLACE_LOG2.
5548         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5549         REPLACE_LOG2.
5550         * modules/log2: New file.
5551         * tests/test-math-c++.cc: Check the declaration of log2.
5552         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5553         and OSF/1 and Cygwin problems.
5554
5555 2012-03-11  Bruno Haible  <bruno@clisp.org>
5556
5557         exp2* tests: More tests.
5558         * tests/test-exp2.h (test_function): Test all integral arguments that
5559         don't need to overflow or denormalized numbers.
5560         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5561         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5562         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5563
5564 2012-03-10  Bruno Haible  <bruno@clisp.org>
5565
5566         log1pl-ieee: Work around test failure on AIX 7.1.
5567         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5568
5569         log1pl-ieee: Work around test failure on IRIX 6.5.
5570         * m4/log1pl-ieee.m4: New file.
5571         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5572         test whether log1pl works with a minus zero argument. Replace it if
5573         not.
5574         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5575         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5576         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5577         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5578         (Depends-on): Update conditions.
5579         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5580         m4/signbit.m4.
5581         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5582         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5583
5584         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5585         * m4/log1pf-ieee.m4: New file.
5586         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5587         test whether log1pf works with a minus zero argument. Replace it if
5588         not.
5589         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5590         m4/signbit.m4.
5591         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5592         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5593
5594         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5595         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5596         (configure.ac): Require gl_FUNC_LOG1PF.
5597
5598         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5599         * m4/log1p-ieee.m4: New file.
5600         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5601         whether log1p works with a minus zero argument. Replace it if not.
5602         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5603         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5604         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5605         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5606         (Depends-on): Update conditions.
5607         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5608         m4/signbit.m4.
5609         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5610         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5611
5612         Tests for module 'log1pl-ieee'.
5613         * modules/log1pl-ieee-tests: New file.
5614         * tests/test-log1pl-ieee.c: New file.
5615
5616         New module 'log1pl-ieee'.
5617         * modules/log1pl-ieee: New file.
5618
5619         Tests for module 'log1p-ieee'.
5620         * modules/log1p-ieee-tests: New file.
5621         * tests/test-log1p-ieee.c: New file.
5622
5623         New module 'log1p-ieee'.
5624         * modules/log1p-ieee: New file.
5625
5626         Tests for module 'log1pf-ieee'.
5627         * modules/log1pf-ieee-tests: New file.
5628         * tests/test-log1pf-ieee.c: New file.
5629         * tests/test-log1p-ieee.h: New file.
5630
5631         New module 'log1pf-ieee'.
5632         * modules/log1pf-ieee: New file.
5633
5634 2012-03-10  Bruno Haible  <bruno@clisp.org>
5635
5636         Tests for module 'log1pl'.
5637         * modules/log1pl-tests: New file.
5638         * tests/test-log1pl.c: New file.
5639
5640         New module 'log1pl'.
5641         * lib/math.in.h (log1pl): New declaration.
5642         * lib/log1pl.c: New file.
5643         * m4/log1pl.m4: New file.
5644         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5645         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5646         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5647         * modules/log1pl: New file.
5648         * tests/test-math-c++.cc: Check the declaration of log1pl.
5649         * doc/posix-functions/log1pl.texi: Mention the new module.
5650
5651 2012-03-10  Bruno Haible  <bruno@clisp.org>
5652
5653         Tests for module 'log1pf'.
5654         * modules/log1pf-tests: New file.
5655         * tests/test-log1pf.c: New file.
5656
5657         New module 'log1pf'.
5658         * lib/math.in.h (log1pf): New declaration.
5659         * lib/log1pf.c: New file.
5660         * m4/log1pf.m4: New file.
5661         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5662         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5663         REPLACE_LOG1PF.
5664         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5665         REPLACE_LOG1PF.
5666         * modules/log1pf: New file.
5667         * tests/test-math-c++.cc: Check the declaration of log1pf.
5668         * doc/posix-functions/log1pf.texi: Mention the new module.
5669
5670 2012-03-10  Bruno Haible  <bruno@clisp.org>
5671
5672         log1p tests: More tests.
5673         * tests/test-log1p.h: New file.
5674         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5675         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5676         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5677         (main): Invoke test_function.
5678
5679         log1p: Provide replacement for Minix and MSVC.
5680         * lib/math.in.h (log1p): New declaration.
5681         * lib/log1p.c: New file.
5682         * m4/log1p.m4: New file.
5683         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5684         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5685         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5686         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5687         (Depends-on): Add math, isnand, log, round.
5688         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5689         HAVE_LOG1P is 0.
5690         * tests/test-math-c++.cc: Check the declaration of log1p.
5691         * doc/posix-functions/log1p.texi: Mention the replacement.
5692
5693 2012-03-10  Bruno Haible  <bruno@clisp.org>
5694
5695         math tests: Small simplification.
5696         * tests/test-exp.h (test_function): Use the same err_bound for
5697         'double' on platforms with sizeof (long double) == sizeof (double)
5698         than on platforms with sizeof (long double) > sizeof (double).
5699         * tests/test-exp2.h (test_function): Likewise.
5700         * tests/test-expm1.h (test_function): Likewise.
5701         * tests/test-log.h (test_function): Likewise.
5702
5703 2012-03-10  Bruno Haible  <bruno@clisp.org>
5704
5705         Fix some comments.
5706         * lib/expl.c: Fix an ambiguous comment.
5707         * lib/expm1.c: Likewise.
5708         * lib/expm1l.c: Likewise.
5709         * lib/exp2.c: Likewise.
5710         * lib/exp2l.c: Likewise.
5711
5712 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5713
5714         regex: allow inclusion of <regex.h> before <limits.h>
5715         Without this patch, portable programs had to include <limits.h> before
5716         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5717         I ran into this problem with a test version of GNU grep on Solaris 8.
5718         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5719         This is done conditionally so that this change can be merged
5720         back to glibc.
5721         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5722         using the included regex.
5723
5724         fts: depend on fdopendir
5725         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5726         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5727         problem was introduced when fdopendir was split out.
5728
5729 2012-03-10  Bruno Haible  <bruno@clisp.org>
5730
5731         Remove unused variables.
5732         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5733         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5734
5735 2012-03-10  Bruno Haible  <bruno@clisp.org>
5736
5737         isnanf-nolibm: Fix last commit.
5738         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5739
5740         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5741         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5742
5743 2012-03-10  Bruno Haible  <bruno@clisp.org>
5744
5745         logf-ieee: Work around test failure on NetBSD 5.1.
5746         * m4/logf-ieee.m4: New file.
5747         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5748         whether logf works with a negative argument. Replace it if not.
5749         * lib/logf.c (logf): For negative arguments, return NaN.
5750         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5751         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5752         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5753
5754         logf-ieee: Work around test failure on Solaris 9.
5755         * modules/logf-ieee (Depends-on): Add log-ieee.
5756         (configure.ac): Require gl_FUNC_LOGF.
5757
5758         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5759         * m4/log-ieee.m4: New file.
5760         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5761         log works with a negative argument. Replace it if not.
5762         * lib/log.c (log): For negative arguments, return NaN.
5763         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5764         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5765         * doc/posix-functions/log.texi: Mention the log-ieee module.
5766
5767         Tests for module 'logl-ieee'.
5768         * modules/logl-ieee-tests: New file.
5769         * tests/test-logl-ieee.c: New file.
5770
5771         New module 'logl-ieee'.
5772         * modules/logl-ieee: New file.
5773
5774         Tests for module 'log-ieee'.
5775         * modules/log-ieee-tests: New file.
5776         * tests/test-log-ieee.c: New file.
5777
5778         New module 'log-ieee'.
5779         * modules/log-ieee: New file.
5780
5781         Tests for module 'logf-ieee'.
5782         * modules/logf-ieee-tests: New file.
5783         * tests/test-logf-ieee.c: New file.
5784         * tests/test-log-ieee.h: New file.
5785
5786         New module 'logf-ieee'.
5787         * modules/logf-ieee: New file.
5788
5789 2012-03-10  Bruno Haible  <bruno@clisp.org>
5790
5791         log: Fix bug introduced on 2012-03-09.
5792         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5793
5794 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5795
5796         timer-time: link explicitly with pthreads on glibc
5797         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5798         to support static linking, when newer glibc is
5799         detected, as that contains pthread emulation of
5800         POSIX timer functions where required.
5801         * modules/timer-time: Depend on threadlib to
5802         pull in the appropriate library to link.
5803
5804 2012-03-10  Bruno Haible  <bruno@clisp.org>
5805
5806         log* tests: More tests.
5807         * tests/test-log.h: New file.
5808         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5809         (main): Invoke test_function.
5810         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5811         (main): Invoke test_function.
5812         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5813         (main): Invoke test_function.
5814         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5815         tests/randomd.c.
5816         (Makefile.am): Add randomd.c to test_log_SOURCES.
5817         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5818         tests/randomf.c.
5819         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5820         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5821         tests/randoml.c.
5822         (Depends-on): Add 'float'.
5823         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5824
5825 2012-03-09  Bruno Haible  <bruno@clisp.org>
5826
5827         logl: Work around OSF/1 5.1 bug.
5828         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5829         * lib/logl.c (logl): If logl exists, use it and provide just the
5830         workaround.
5831         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5832         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5834         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5835         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5836         (Depends-on): Update conditions.
5837         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5838
5839 2012-03-09  Bruno Haible  <bruno@clisp.org>
5840
5841         logf: Work around OSF/1 5.1 bug.
5842         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5843         * lib/logf.c (logf): If logf exists, use it and provide just the
5844         workaround.
5845         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5846         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5847         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5848         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5849         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5850         (Depends-on): Update conditions.
5851         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5852
5853 2012-03-09  Bruno Haible  <bruno@clisp.org>
5854
5855         log: Work around OSF/1 5.1 bug.
5856         * lib/math.in.h (log): New declaration.
5857         * lib/log.c: New file.
5858         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5859         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5860         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5861         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5862         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5863         * modules/log (Files): Add lib/log.c.
5864         (Depends-on): Add math.
5865         (configure.ac): If REPLACE_LOG is 1, compile an override.
5866         * tests/test-math-c++.cc: Check the declaration of log.
5867         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5868
5869 2012-03-09  Jim Meyering  <meyering@redhat.com>
5870
5871         readtokens.c: adjust wording in a comment
5872         * lib/readtokens.c: Insert omitted "that" in a comment.
5873
5874 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5875
5876         modechange: add notations +40, 00440, etc.
5877         * lib/modechange.c (mode_compile): Support new notations
5878         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5879
5880 2012-03-08  Bruno Haible  <bruno@clisp.org>
5881
5882         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5883         * m4/exp2l-ieee.m4: New file.
5884         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5885         test whether exp2l works with a NaN argument and with a negative
5886         infinity argument. Replace it if not.
5887         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5888         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5889         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5890         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5891         (Depends-on): Update conditions.
5892         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5893         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5894         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5895
5896         Tests for module 'exp2l-ieee'.
5897         * modules/exp2l-ieee-tests: New file.
5898         * tests/test-exp2l-ieee.c: New file.
5899
5900         New module 'exp2l-ieee'.
5901         * modules/exp2l-ieee: New file.
5902
5903         Tests for module 'exp2-ieee'.
5904         * modules/exp2-ieee-tests: New file.
5905         * tests/test-exp2-ieee.c: New file.
5906
5907         New module 'exp2-ieee'.
5908         * modules/exp2-ieee: New file.
5909
5910         Tests for module 'exp2f-ieee'.
5911         * modules/exp2f-ieee-tests: New file.
5912         * tests/test-exp2f-ieee.c: New file.
5913         * tests/test-exp2-ieee.h: New file.
5914
5915         New module 'exp2f-ieee'.
5916         * modules/exp2f-ieee: New file.
5917
5918 2012-03-08  Bruno Haible  <bruno@clisp.org>
5919
5920         Tests for module 'exp2l'.
5921         * modules/exp2l-tests: New file.
5922         * tests/test-exp2l.c: New file.
5923
5924         New module 'exp2l'.
5925         * lib/math.in.h (exp2l): New declaration.
5926         * lib/exp2l.c: New file.
5927         * lib/expl-table.c: New file, extracted from lib/expl.c.
5928         * lib/expl.c (gl_expl_table): New declaration.
5929         (expl): Remove expl_table. Update reference.
5930         * m4/exp2l.m4: New file.
5931         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5933         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5934         * modules/exp2l: New file.
5935         * modules/expl (Files): Add lib/expl-table.c.
5936         (configure.ac): Compile also expl-table.c.
5937         * tests/test-math-c++.cc: Check the declaration of exp2l.
5938         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5939         problem.
5940
5941 2012-03-08  Bruno Haible  <bruno@clisp.org>
5942
5943         Tests for module 'exp2f'.
5944         * modules/exp2f-tests: New file.
5945         * tests/test-exp2f.c: New file.
5946
5947         New module 'exp2f'.
5948         * lib/math.in.h (exp2f): New declaration.
5949         * lib/exp2f.c: New file.
5950         * m4/exp2f.m4: New file.
5951         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5952         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5953         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5954         * modules/exp2f: New file.
5955         * tests/test-math-c++.cc: Check the declaration of exp2f.
5956         * doc/posix-functions/exp2f.texi: Mention the new module and the
5957         IRIX problem.
5958
5959 2012-03-08  Bruno Haible  <bruno@clisp.org>
5960
5961         Tests for module 'exp2'.
5962         * modules/exp2-tests: New file.
5963         * tests/test-exp2.c: New file.
5964         * tests/test-exp2.h: New file.
5965
5966         New module 'exp2'.
5967         * lib/math.in.h (exp2): New declaration.
5968         * lib/exp2.c: New file.
5969         * m4/exp2.m4: New file.
5970         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5971         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5972         REPLACE_EXP2.
5973         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5974         REPLACE_EXP2.
5975         * modules/exp2: New file.
5976         * tests/test-math-c++.cc: Check the declaration of exp2.
5977         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5978         and OpenBSD problems.
5979
5980 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5981
5982         savedir: fix comment typo
5983         * lib/savedir.c (savedirstream): Fix typo in comment.
5984
5985 2012-03-08  Bruno Haible  <bruno@clisp.org>
5986
5987         test-readtokens.c: use const; remove unwarranted cast
5988         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5989
5990 2012-03-08  Bruno Haible  <bruno@clisp.org>
5991
5992         fmal: Avoid compilation error on AIX.
5993         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5994         AIX 5.2..7.1.
5995
5996 2012-03-08  Bruno Haible  <bruno@clisp.org>
5997
5998         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5999         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6000         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6001         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6002         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6003         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6004         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6005
6006 2012-03-08  Bruno Haible  <bruno@clisp.org>
6007
6008         remainderf: Override buggy system function on IRIX 6.5.
6009         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6010         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6011         when it exists.
6012         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6013
6014 2012-03-08  Jim Meyering  <meyering@redhat.com>
6015
6016         test-readtokens.c: avoid const-related compilation warnings
6017         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6018
6019 2012-03-07  Jim Meyering  <meyering@redhat.com>
6020             Bruno Haible  <bruno@clisp.org>
6021
6022         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6023         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6024         tests/randomd.c.
6025         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6026         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6027         tests/randoml.c.
6028         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6029
6030 2012-03-07  Bruno Haible  <bruno@clisp.org>
6031
6032         expm1l: Avoid compilation error on AIX.
6033         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6034         AIX 5.2..7.1.
6035
6036 2012-03-07  Bruno Haible  <bruno@clisp.org>
6037
6038         expm1l: Don't override undeclared system function on IRIX 6.5.
6039         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6040         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6041         it exists. Set HAVE_DECL_EXPM1L.
6042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6043         HAVE_EXPM1L.
6044         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6045         HAVE_EXPM1L.
6046         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6047
6048 2012-03-07  Bruno Haible  <bruno@clisp.org>
6049
6050         remainderl: Don't override undeclared system function on IRIX 6.5.
6051         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6052         HAVE_REMAINDERL.
6053         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6054         declared when it exists. Set HAVE_DECL_REMAINDERL.
6055         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6056         not HAVE_REMAINDERL.
6057         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6058         HAVE_REMAINDERL.
6059         * doc/posix-functions/remainderl.texi: Mention missing declaration
6060         problem.
6061
6062 2012-03-07  Bruno Haible  <bruno@clisp.org>
6063
6064         rintf: Don't override undeclared system function on IRIX 6.5.
6065         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6066         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6067         exists. Set HAVE_DECL_RINTF.
6068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6069         HAVE_RINTF.
6070         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6071         HAVE_RINTF.
6072         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6073
6074 2012-03-07  Bruno Haible  <bruno@clisp.org>
6075
6076         roundl: Avoid compilation error on AIX.
6077         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
6078         AIX 5.2..7.1.
6079
6080 2012-03-07  Bruno Haible  <bruno@clisp.org>
6081
6082         roundl: Don't override undeclared system function on IRIX 6.5.
6083         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6084         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6085         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6086         * modules/roundl (configure.ac): For replacement code, test
6087         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6088         (Depends-on): Update conditions.
6089         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6090
6091 2012-03-07  Bruno Haible  <bruno@clisp.org>
6092
6093         roundf: Don't override undeclared system function on IRIX 6.5.
6094         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6095         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6096         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6097         * modules/roundf (configure.ac): For replacement code, test
6098         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6099         (Depends-on): Update conditions.
6100         * modules/roundf-ieee (Depends-on): Update conditions.
6101         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6102
6103 2012-03-07  Bruno Haible  <bruno@clisp.org>
6104
6105         round: Don't override undeclared system function on IRIX 6.5.
6106         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6107         argument.
6108         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6109         also when it is not declared. Set HAVE_ROUND. For replacement code,
6110         test HAVE_ROUND, not HAVE_DECL_ROUND.
6111         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6112         not HAVE_DECL_ROUND.
6113         (Depends-on): Update conditions.
6114         * modules/round-ieee (Depends-on): Update conditions.
6115         * doc/posix-functions/round.texi: Mention the IRIX problem.
6116
6117 2012-03-07  Bruno Haible  <bruno@clisp.org>
6118
6119         copysignf: Don't override undeclared system function on IRIX 6.5.
6120         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6121         HAVE_COPYSIGNF.
6122         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6123         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6124         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6125         not HAVE_COPYSIGNF.
6126         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6127         HAVE_COPYSIGNF.
6128         * doc/posix-functions/copysignf.texi: Mention missing declaration
6129         problem.
6130
6131 2012-03-07  Jim Meyering  <meyering@redhat.com>
6132
6133         readtokens: add tests
6134         * modules/readtokens-tests: New file.
6135         * tests/test-readtokens.c: New file.
6136
6137 2012-03-07  Jim Meyering  <meyering@redhat.com>
6138
6139         quotearg: the module must now include quote.h
6140         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6141         So must the module.
6142         * modules/quotearg (Files): Add quote.h.
6143
6144 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6145
6146         readtokens: avoid core dumps with unusual calling patterns
6147         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6148         * lib/readtokens.c: Include limits.h.
6149         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6150         (readtoken): Don't cache the delimiters; the cache code was buggy
6151         if !delim && saved_delim, or if the new n_delim differs from the old.
6152         Also, it wasn't thread-safe.
6153
6154 2012-03-07  Bruno Haible  <bruno@clisp.org>
6155
6156         quote: Adhere to common module description layout.
6157         * modules/quote (Makefile.am): Add back empty section.
6158
6159 2012-03-06  Akim Demaille  <demaille@gostai.com>
6160
6161         quote: fuse into quotearg
6162         This patch is made for the benefit of Bison.
6163         quote does not leave the choice of the quoting style to the user.
6164         quoting_style provides poor customizability, yet quoting_options,
6165         which is very rich, is hidden inside quotearg.c.  So in order to
6166         allow quote customization, move its implementation to quotearg.c.
6167         * lib/quote.c: Remove.
6168         * modules/quote: Adjust.
6169         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6170         warning: provide all the members of literal structs.
6171         (quote_quoting_options): New.
6172         (quote, quote_n): Import implementation from quote.c.
6173         * lib/quote.h: Import the comments from quote.c.
6174         (quote_quoting_options): New.
6175
6176 2012-03-06  Bruno Haible  <bruno@clisp.org>
6177
6178         Tests for module 'expm1l-ieee'.
6179         * modules/expm1l-ieee-tests: New file.
6180         * tests/test-expm1l-ieee.c: New file.
6181
6182         New module 'expm1l-ieee'.
6183         * modules/expm1l-ieee: New file.
6184
6185         Tests for module 'expm1f-ieee'.
6186         * modules/expm1f-ieee-tests: New file.
6187         * tests/test-expm1f-ieee.c: New file.
6188
6189         New module 'expm1f-ieee'.
6190         * modules/expm1f-ieee: New file.
6191
6192         Tests for module 'expm1-ieee'.
6193         * modules/expm1-ieee-tests: New file.
6194         * tests/test-expm1-ieee.c: New file.
6195         * tests/test-expm1-ieee.h: New file.
6196
6197         New module 'expm1-ieee'.
6198         * modules/expm1-ieee: New file.
6199         * m4/expm1-ieee.m4: New file.
6200         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6201         whether expm1 works with a minus zero argument. Replace it if not.
6202         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6204         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6205         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6206         (Depends-on): Update conditions.
6207         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6208         AIX problem.
6209
6210 2012-03-06  Bruno Haible  <bruno@clisp.org>
6211
6212         Work around expm1f bug on IRIX 6.5.
6213         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6214         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6215         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6216         not work.
6217         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6218         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6219         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6220         (Depends-on): Update conditions.
6221         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6222
6223 2012-03-06  Bruno Haible  <bruno@clisp.org>
6224
6225         Tests for module 'expm1l'.
6226         * modules/expm1l-tests: New file.
6227         * tests/test-expm1l.c: New file.
6228
6229         New module 'expm1l'.
6230         * lib/math.in.h (expm1l): New declaration.
6231         * lib/expm1l.c: New file.
6232         * m4/expm1l.m4: New file.
6233         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6234         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6235         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6236         * modules/expm1l: New file.
6237         * tests/test-math-c++.cc: Check the declaration of expm1l.
6238         * doc/posix-functions/expm1l.texi: Mention the new module.
6239
6240 2012-03-06  Bruno Haible  <bruno@clisp.org>
6241
6242         Tests for module 'expm1f'.
6243         * modules/expm1f-tests: New file.
6244         * tests/test-expm1f.c: New file.
6245
6246         New module 'expm1f'.
6247         * lib/math.in.h (expm1f): New declaration.
6248         * lib/expm1f.c: New file.
6249         * m4/expm1f.m4: New file.
6250         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6251         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6252         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6253         * modules/expm1f: New file.
6254         * tests/test-math-c++.cc: Check the declaration of expm1f.
6255         * doc/posix-functions/expm1f.texi: Mention the new module.
6256
6257 2012-03-06  Bruno Haible  <bruno@clisp.org>
6258
6259         Tests for module 'expm1'.
6260         * modules/expm1-tests: New file.
6261         * tests/test-expm1.c: New file.
6262         * tests/test-expm1.h: New file.
6263
6264         New module 'expm1'.
6265         * lib/math.in.h (expm1): New declaration.
6266         * lib/expm1.c: New file.
6267         * m4/expm1.m4: New file.
6268         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6270         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6271         * modules/expm1: New file.
6272         * tests/test-math-c++.cc: Check the declaration of expm1.
6273         * doc/posix-functions/expm1.texi: Mention the new module.
6274
6275 2012-03-06  Bruno Haible  <bruno@clisp.org>
6276
6277         math: Ensure declarations of math functions.
6278         * modules/acosf (Depends-on): Add 'extensions'.
6279         * modules/asinf (Depends-on): Likewise.
6280         * modules/atan2f (Depends-on): Likewise.
6281         * modules/atanf (Depends-on): Likewise.
6282         * modules/cbrt (Depends-on): Likewise.
6283         * modules/cbrtf (Depends-on): Likewise.
6284         * modules/cbrtl (Depends-on): Likewise.
6285         * modules/copysignf (Depends-on): Likewise.
6286         * modules/copysignl (Depends-on): Likewise.
6287         * modules/cosf (Depends-on): Likewise.
6288         * modules/coshf (Depends-on): Likewise.
6289         * modules/expf (Depends-on): Likewise.
6290         * modules/fabsf (Depends-on): Likewise.
6291         * modules/fabsl (Depends-on): Likewise.
6292         * modules/fmaf (Depends-on): Likewise.
6293         * modules/fmal (Depends-on): Likewise.
6294         * modules/fmodf (Depends-on): Likewise.
6295         * modules/fmodl (Depends-on): Likewise.
6296         * modules/frexpf (Depends-on): Likewise.
6297         * modules/frexpl (Depends-on): Likewise.
6298         * modules/hypot (Depends-on): Likewise.
6299         * modules/hypotf (Depends-on): Likewise.
6300         * modules/hypotl (Depends-on): Likewise.
6301         * modules/ldexpf (Depends-on): Likewise.
6302         * modules/ldexpl (Depends-on): Likewise.
6303         * modules/log10f (Depends-on): Likewise.
6304         * modules/log10l (Depends-on): Likewise.
6305         * modules/log1p (Depends-on): Likewise.
6306         * modules/logb (Depends-on): Likewise.
6307         * modules/logf (Depends-on): Likewise.
6308         * modules/modff (Depends-on): Likewise.
6309         * modules/modfl (Depends-on): Likewise.
6310         * modules/powf (Depends-on): Likewise.
6311         * modules/remainderf (Depends-on): Likewise.
6312         * modules/remainderl (Depends-on): Likewise.
6313         * modules/rintf (Depends-on): Likewise.
6314         * modules/rintl (Depends-on): Likewise.
6315         * modules/sinf (Depends-on): Likewise.
6316         * modules/sinhf (Depends-on): Likewise.
6317         * modules/sqrtf (Depends-on): Likewise.
6318         * modules/tanf (Depends-on): Likewise.
6319         * modules/tanhf (Depends-on): Likewise.
6320         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6321         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6322         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6323         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6324         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6325         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6326         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6327         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6328         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6329         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6330         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6331         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6332         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6333         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6334         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6335         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6336         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6337         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6338         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6339         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6340         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6341         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6342         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6343         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6344         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6345         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6346         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6347         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6348         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6349         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6350         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6351         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6352         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6353         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6354         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6355         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6356         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6357         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6358         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6359         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6360         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6361
6362 2012-03-06  Bruno Haible  <bruno@clisp.org>
6363
6364         math: Update module names in warnings.
6365         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6366         tanl): Use specific module name in warn-on-use warning.
6367
6368 2012-03-06  Bruno Haible  <bruno@clisp.org>
6369
6370         expl: Simplify computation.
6371         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6372
6373 2012-03-05  Bruno Haible  <bruno@clisp.org>
6374
6375         exp* tests: More tests.
6376         * tests/test-exp.h: New file.
6377         * tests/test-exp.c: Include <float.h> and test-exp.h.
6378         (main): Invoke test_function.
6379         * tests/test-expf.c: Include <float.h> and test-exp.h.
6380         (main): Invoke test_function.
6381         * tests/test-expl.c: Include <float.h> and test-exp.h.
6382         (main): Invoke test_function.
6383         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6384         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6385         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6386         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6387         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6388         (Depends-on): Add 'float'.
6389         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6390
6391         expl: Fix precision of computed result.
6392         * lib/expl.c: Completely rewritten.
6393         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6394         (Maintainer): Add me.
6395         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6396
6397 2012-03-05  Bruno Haible  <bruno@clisp.org>
6398
6399         cbrt* tests: More tests.
6400         * tests/test-cbrt.h: New file.
6401         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6402         (main): Invoke test_function.
6403         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6404         (main): Invoke test_function.
6405         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6406         (main): Invoke test_function.
6407         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6408         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6409         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6410         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6411         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6412         (Depends-on): Add 'float'.
6413         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6414
6415 2012-03-05  Bruno Haible  <bruno@clisp.org>
6416
6417         hypot* tests: More tests.
6418         * tests/test-hypot.h: New file, partially extracted from
6419         tests/test-hypotl.c.
6420         * tests/test-hypot.c: Include test-hypot.h.
6421         (main): Invoke test_function.
6422         * tests/test-hypotf.c: Include test-hypot.h.
6423         (main): Invoke test_function.
6424         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6425         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6426         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6427         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6428         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6429         tests/randomf.c.
6430         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6431         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6432         tests/randoml.c.
6433         (Depends-on): Add 'fpucw', 'float'.
6434         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6435
6436 2012-03-05  Bruno Haible  <bruno@clisp.org>
6437
6438         fpucw: Doc about FreeBSD.
6439         * lib/fpucw.h: Mention FreeBSD in comments.
6440
6441 2012-03-04  Bruno Haible  <bruno@clisp.org>
6442
6443         sqrt* tests: More tests.
6444         * tests/test-sqrt.h: New file.
6445         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6446         (main): Invoke test_function.
6447         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6448         (main): Invoke test_function.
6449         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6450         (main): Invoke test_function.
6451         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6452         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6453         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6454         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6455         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6456         (Depends-on): Add 'float'.
6457         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6458
6459 2012-03-04  Bruno Haible  <bruno@clisp.org>
6460
6461         remainder* tests: More tests.
6462         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6463         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6464         (main): Invoke test_function.
6465         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6466         (main): Invoke test_function.
6467         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6468         (main): Invoke test_function.
6469         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6470         tests/randomd.c.
6471         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6472         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6473         tests/randomf.c.
6474         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6475         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6476         tests/randoml.c.
6477         (Depends-on): Add 'float'.
6478         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6479
6480 2012-03-04  Bruno Haible  <bruno@clisp.org>
6481
6482         remainder, remainderf, remainderl: Fix computation for large quotients.
6483         * lib/remainder.c: Completely rewritten.
6484         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6485         USE_FLOAT.
6486         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6487         USE_LONG_DOUBLE.
6488         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6489         isnand, isinf. Remove round, fma.
6490         * modules/remainderf (Files): Add lib/remainder.c.
6491         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6492         Remove roundf, fmaf.
6493         * modules/remainderl (Files): Add lib/remainder.c.
6494         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6495         isinf. Remove roundl, fmal.
6496         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6497         REMAINDER_LIBM.
6498         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6499         REMAINDERF_LIBM.
6500         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6501         REMAINDERL_LIBM.
6502
6503 2012-03-04  Bruno Haible  <bruno@clisp.org>
6504
6505         fmod* tests: More tests.
6506         * tests/test-fmod.h (my_ldexp): New function.
6507         (test_function): Reduce amount of random numbers to test. Add tests
6508         of very large quotients x / y.
6509         * tests/test-fmod.c (MAX_EXP): New macro.
6510         * tests/test-fmodf.c (MAX_EXP): Likewise.
6511         * tests/test-fmodl.c (MAX_EXP): Likewise.
6512
6513 2012-03-04  Bruno Haible  <bruno@clisp.org>
6514
6515         fmod, fmodl: Fix computation for large quotients x / y.
6516         * lib/fmod.c: Completely rewritten.
6517         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6518         USE_LONG_DOUBLE.
6519         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6520         isnand. Remove fma.
6521         * modules/fmodl (Files): Add lib/fmod.c.
6522         (Depends-on): Add float, isfinite, signbit, fabsl,
6523         frexpl, ldexpl, isnanl. Remove fma.
6524         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6525         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6526
6527 2012-03-03  Bruno Haible  <bruno@clisp.org>
6528
6529         fmod* tests: More tests.
6530         * tests/test-fmod.h: New file.
6531         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6532         (main): Invoke test_function.
6533         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6534         (main): Invoke test_function.
6535         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6536         (main): Invoke test_function.
6537         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6538         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6539         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6540         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6541         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6542         (Depends-on): Add 'float'.
6543         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6544
6545 2012-03-03  Bruno Haible  <bruno@clisp.org>
6546
6547         rint* tests: More tests.
6548         * tests/test-rint.h: New file, partially extracted from
6549         tests/test-rintl.c.
6550         * tests/test-rint.c: Include test-rint.h.
6551         (main): Invoke test_function.
6552         * tests/test-rintf.c: Include test-rint.h.
6553         (main): Invoke test_function.
6554         * tests/test-rintl.c: Include test-rint.h.
6555         (main): Invoke test_function.
6556         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6557         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6558         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6559         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6560         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6561         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6562
6563 2012-03-03  Bruno Haible  <bruno@clisp.org>
6564
6565         modf* tests: More tests.
6566         * tests/test-modf.h: New file.
6567         * tests/test-modf.c: Include <float.h> and test-modf.h.
6568         (main): Invoke test_function.
6569         * tests/test-modff.c: Include <float.h> and test-modf.h.
6570         (main): Invoke test_function.
6571         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6572         (main): Invoke test_function.
6573         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6574         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6575         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6576         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6577         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6578         (Depends-on): Add 'float'.
6579         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6580
6581 2012-03-03  Bruno Haible  <bruno@clisp.org>
6582
6583         fabs* tests: More tests.
6584         * tests/test-fabs.h: New file, partially extracted from
6585         tests/test-fabsl.c.
6586         * tests/test-fabs.c (RANDOM): New macro.
6587         * tests/test-fabsf.c (RANDOM): New macro.
6588         * tests/test-fabsl.c (RANDOM): New macro.
6589         * modules/fabs-tests (Files): Add tests/randomd.c.
6590         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6591         * modules/fabsf-tests (Files): Add tests/randomf.c.
6592         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6593         * modules/fabsl-tests (Files): Add tests/randoml.c.
6594         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6595
6596 2012-03-03  Bruno Haible  <bruno@clisp.org>
6597
6598         ldexp* tests: More tests.
6599         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6600         * tests/test-ldexp.c (RANDOM): New macro.
6601         * tests/test-ldexpf.c (RANDOM): New macro.
6602         * tests/test-ldexpl.c (RANDOM): New macro.
6603         * modules/ldexp-tests (Files): Add tests/randomd.c.
6604         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6605         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6606         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6607         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6608         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6609
6610 2012-03-03  Bruno Haible  <bruno@clisp.org>
6611
6612         frexp* tests: More tests.
6613         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6614         * tests/test-frexp.c (RANDOM): New macro.
6615         * tests/test-frexpf.c (RANDOM): New macro.
6616         * tests/test-frexpl.c (RANDOM): New macro.
6617         * modules/frexp-tests (Files): Add tests/randomd.c.
6618         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6619         * modules/frexpf-tests (Files): Add tests/randomf.c.
6620         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6621         * modules/frexpl-tests (Files): Add tests/randoml.c.
6622         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6623
6624 2012-03-03  Bruno Haible  <bruno@clisp.org>
6625
6626         Support for pseudo-random numbers in tests.
6627         * tests/randomf.c: New file.
6628         * tests/randomd.c: New file.
6629         * tests/randoml.c: New file.
6630         * tests/macros.h (randomf, randomd, randoml): New declarations.
6631
6632 2012-03-03  Bruno Haible  <bruno@clisp.org>
6633
6634         frexp* tests: Refactor.
6635         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6636         * tests/test-frexp.c: Include and use it.
6637         * tests/test-frexpf.c: Likewise.
6638         * tests/test-frexpl.c: Likewise.
6639         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6640         * modules/frexpf-tests (Files): Likewise.
6641         * modules/frexpl-tests (Files): Likewise.
6642
6643 2012-03-02  Jim Meyering  <meyering@redhat.com>
6644
6645         maint: don't specify XZ_OPT=-9ev in dist-related rule
6646         Using xz's -9 option is warranted only if you have a very large
6647         tarball (see xz's documentation for the sizes vs. presets), and
6648         requires 64MiB of memory at decompression time.
6649         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6650         Automake's default of just "-e" is fine.  Override on a
6651         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6652
6653 2012-03-01  Eric Blake  <eblake@redhat.com>
6654
6655         maint.mk: allow announcement for non-gnulib project
6656         * maint.mk (announcement): Skip gnulib version if not used.
6657
6658 2012-03-01  Jim Meyering  <meyering@redhat.com>
6659
6660         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6661         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6662         envvar settings cannot interfere.  Otherwise, setting envvars like
6663         prohibit=foo require=bar, etc. would cause spurious test failures.
6664
6665 2012-03-01  Eric Blake  <eblake@redhat.com>
6666
6667         maint.mk: add per-line exclusions to prohibitions
6668         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6669         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6670         (sc_const_long_option): Use it.
6671
6672 2012-03-01  Bruno Haible  <bruno@clisp.org>
6673
6674         Tests for module 'expl-ieee'.
6675         * modules/expl-ieee-tests: New file.
6676         * tests/test-expl-ieee.c: New file.
6677
6678         New module 'expl-ieee'.
6679         * modules/expl-ieee: New file.
6680
6681         Tests for module 'exp-ieee'.
6682         * modules/exp-ieee-tests: New file.
6683         * tests/test-exp-ieee.c: New file.
6684
6685         New module 'exp-ieee'.
6686         * modules/exp-ieee: New file.
6687
6688         Tests for module 'expf-ieee'.
6689         * modules/expf-ieee-tests: New file.
6690         * tests/test-expf-ieee.c: New file.
6691         * tests/test-exp-ieee.h: New file.
6692
6693         New module 'expf-ieee'.
6694         * modules/expf-ieee: New file.
6695
6696 2012-02-29  Bruno Haible  <bruno@clisp.org>
6697
6698         cbrtl-ieee: Work around test failure on IRIX 6.5.
6699         * m4/cbrtl-ieee.m4: New file.
6700         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6701         test whether cbrtl works with a minus zero argument. Replace it if not.
6702         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6704         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6705         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6706         (Depends-on): Update conditions.
6707         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6708         m4/signbit.m4.
6709         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6710         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6711         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6712
6713         Tests for module 'cbrtl-ieee'.
6714         * modules/cbrtl-ieee-tests: New file.
6715         * tests/test-cbrtl-ieee.c: New file.
6716
6717         New module 'cbrtl-ieee'.
6718         * modules/cbrtl-ieee: New file.
6719
6720         Tests for module 'cbrt-ieee'.
6721         * modules/cbrt-ieee-tests: New file.
6722         * tests/test-cbrt-ieee.c: New file.
6723
6724         New module 'cbrt-ieee'.
6725         * modules/cbrt-ieee: New file.
6726
6727         Tests for module 'cbrtf-ieee'.
6728         * modules/cbrtf-ieee-tests: New file.
6729         * tests/test-cbrtf-ieee.c: New file.
6730         * tests/test-cbrt-ieee.h: New file.
6731
6732         New module 'cbrtf-ieee'.
6733         * modules/cbrtf-ieee: New file.
6734
6735 2012-02-29  Bruno Haible  <bruno@clisp.org>
6736
6737         cbrtf: Work around bug in IRIX 6.5 system function.
6738         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6739         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6740         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6741         work.
6742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6743         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6744         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6745         (Depends-on): Update conditions.
6746         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6747
6748 2012-02-29  Bruno Haible  <bruno@clisp.org>
6749
6750         Tests for module 'cbrtl'.
6751         * modules/cbrtl-tests: New file.
6752         * tests/test-cbrtl.c: New file.
6753
6754         New module 'cbrtl'.
6755         * lib/math.in.h (cbrtl): New declaration.
6756         * lib/cbrtl.c: New file.
6757         * m4/cbrtl.m4: New file.
6758         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6759         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6760         HAVE_DECL_CBRTL.
6761         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6762         HAVE_DECL_CBRTL.
6763         * modules/cbrtl: New file.
6764         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6765         * doc/posix-functions/cbrtl.texi: Mention the new module.
6766
6767 2012-02-29  Bruno Haible  <bruno@clisp.org>
6768
6769         Tests for module 'cbrtf'.
6770         * modules/cbrtf-tests: New file.
6771         * tests/test-cbrtf.c: New file.
6772
6773         New module 'cbrtf'.
6774         * lib/math.in.h (cbrtf): New declaration.
6775         * lib/cbrtf.c: New file.
6776         * m4/cbrtf.m4: New file.
6777         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6778         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6779         HAVE_DECL_CBRTF.
6780         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6781         HAVE_DECL_CBRTF.
6782         * modules/cbrtf: New file.
6783         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6784         * doc/posix-functions/cbrtf.texi: Mention the new module.
6785
6786 2012-02-29  Bruno Haible  <bruno@clisp.org>
6787
6788         cbrt: Provide replacement on MSVC and Minix.
6789         * lib/math.in.h (cbrt): New declaration.
6790         * lib/cbrt.c: New file.
6791         * m4/cbrt.m4: New file.
6792         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6794         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6795         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6796         (Depends-on): Add dependencies.
6797         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6798         * tests/test-math-c++.cc: Check the declaration of cbrt.
6799         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6800         replacement.
6801
6802 2012-02-29  Bruno Haible  <bruno@clisp.org>
6803
6804         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6805         * m4/hypotl-ieee.m4: New file.
6806         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6807         test whether hypotl works with mixed NaN and Infinity arguments.
6808         Replace it if not.
6809         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6810         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6811         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6812         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6813         (Depends-on): Update conditions.
6814         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6815         (Depends-on): Add hypot-ieee.
6816         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6817         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6818
6819         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6820         * m4/hypotf-ieee.m4: New file.
6821         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6822         test whether hypotf works with mixed NaN and Infinity arguments.
6823         Replace it if not.
6824         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6825         (Depends-on): Add hypot-ieee.
6826         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6827         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6828
6829         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6830         * lib/math.in.h (hypot): New declaration.
6831         * lib/hypot.c: New file.
6832         * m4/hypot-ieee.m4: New file.
6833         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6834         whether hypot works with mixed NaN and Infinity arguments. Replace it
6835         if not.
6836         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6837         REPLACE_HYPOT.
6838         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6839         * modules/hypot (Files): Add lib/hypot.c.
6840         (Depends-on): Add dependencies.
6841         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6842         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6843         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6844         * tests/test-math-c++.cc: Check the declaration of hypot.
6845         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6846
6847         Tests for module 'hypotl-ieee'.
6848         * modules/hypotl-ieee-tests: New file.
6849         * tests/test-hypotl-ieee.c: New file.
6850
6851         New module 'hypotl-ieee'.
6852         * modules/hypotl-ieee: New file.
6853
6854         Tests for module 'hypot-ieee'.
6855         * modules/hypot-ieee-tests: New file.
6856         * tests/test-hypot-ieee.c: New file.
6857
6858         New module 'hypot-ieee'.
6859         * modules/hypot-ieee: New file.
6860
6861         Tests for module 'hypotf-ieee'.
6862         * modules/hypotf-ieee-tests: New file.
6863         * tests/test-hypotf-ieee.c: New file.
6864         * tests/test-hypot-ieee.h: New file.
6865
6866         New module 'hypotf-ieee'.
6867         * modules/hypotf-ieee: New file.
6868
6869 2012-02-29  Bruno Haible  <bruno@clisp.org>
6870
6871         Remove unused variables.
6872         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6873         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6874         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6875         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6876
6877 2012-02-29  Eric Blake  <eblake@redhat.com>
6878
6879         termios: fix pid_t always, not just for tcgetsid
6880         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6881         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6882         just when building tcgetsid.
6883
6884 2012-02-29  Bruno Haible  <bruno@clisp.org>
6885
6886         Tests for module 'hypotl'.
6887         * modules/hypotl-tests: New file.
6888         * tests/test-hypotl.c: New file.
6889
6890         New module 'hypotl'.
6891         * lib/math.in.h (hypotl): New declaration.
6892         * lib/hypotl.c: New file.
6893         * m4/hypotl.m4: New file.
6894         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6895         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6896         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6897         * modules/hypotl: New file.
6898         * tests/test-math-c++.cc: Check the hypotl declaration.
6899         * doc/posix-functions/hypotl.texi: Mention the new module.
6900
6901 2012-02-29  Eric Blake  <eblake@redhat.com>
6902
6903         tcgetsid: fix cygwin header bug
6904         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6905
6906         docs: update cygwin progress
6907         * doc/posix-functions/llround.texi (llround): Added in cygwin
6908         1.7.8.
6909         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6910         * doc/glibc-functions/program_invocation_name.texi
6911         (program_invocation_name): Likewise.
6912         * doc/glibc-functions/program_invocation_short_name.texi
6913         (program_invocation_short_name): Likewise.
6914         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6915         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6916         Likewise.
6917         * doc/posix-functions/pthread_spin_destroy.texi
6918         (pthread_spin_destroy): Added in cygwin 1.7.10.
6919         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6920         Likewise.
6921         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6922         Likewise.
6923         * doc/posix-functions/pthread_spin_trylock.texi
6924         (pthread_spin_trylock): Likewise.
6925         * doc/posix-functions/pthread_spin_unlock.texi
6926         (pthread_spin_unlock): Likewise.
6927         * doc/posix-functions/pthread_setschedprio.texi
6928         (pthread_setschedprio): Likewise.
6929         * doc/posix-functions/pthread_attr_getstack.texi
6930         (pthread_attr_getstack): Likewise.
6931         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6932         (pthread_attr_getstackaddr): Likewise.
6933         * doc/glibc-functions/pthread_getattr_np.texi
6934         (pthread_getattr_np): Likewise.
6935         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6936         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6937         * doc/posix-functions/clock_settime.texi (clock_settime):
6938         Likewise.
6939         * doc/posix-functions/pthread_attr_getguardsize.texi
6940         (pthread_attr_getguardsize): Likewise.
6941         * doc/posix-functions/pthread_attr_setguardsize.texi
6942         (pthread_attr_setguardsize): Likewise.
6943         * doc/posix-functions/pthread_attr_setstack.texi
6944         (pthread_attr_setstack): Likewise.
6945         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6946         (pthread_attr_setstackaddr): Likewise.
6947         * doc/posix-functions/clock_getcpuclockid.texi
6948         (clock_getcpuclockid): Likewise.
6949         * doc/posix-functions/pthread_getcpuclockid.texi
6950         (pthread_getcpuclockid): Likewise.
6951         * doc/glibc-functions/error.texi (error): Likewise.
6952         * doc/glibc-functions/error_at_line.texi (error_at_line):
6953         Likewise.
6954         * doc/glibc-functions/error_message_count.texi
6955         (error_message_count): Likewise.
6956         * doc/glibc-functions/error_one_per_line.texi
6957         (error_one_per_line): Likewise.
6958         * doc/glibc-functions/error_print_progname.texi
6959         (error_print_progname): Likewise.
6960         * doc/posix-functions/pthread_condattr_getclock.texi
6961         (pthread_condattr_getclock): Likewise.
6962         * doc/posix-functions/pthread_condattr_setclock.texi
6963         (pthread_condattr_setclock): Likewise.
6964         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6965         Likewise.
6966         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6967         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6968         * doc/glibc-functions/get_current_dir_name.texi
6969         (get_current_dir_name): Likewise.
6970         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6971         Likewise.
6972         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6973         wrong return type.
6974         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6975         1.7.11.
6976
6977 2012-02-29  Bruno Haible  <bruno@clisp.org>
6978
6979         Tests for module 'hypotf'.
6980         * modules/hypotf-tests: New file.
6981         * tests/test-hypotf.c: New file.
6982
6983         New module 'hypotf'.
6984         * lib/math.in.h (hypotf): New declaration.
6985         * lib/hypotf.c: New file.
6986         * m4/hypotf.m4: New file.
6987         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6988         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6989         REPLACE_HYPOTF.
6990         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6991         REPLACE_HYPOTF.
6992         * modules/hypotf: New file.
6993         * tests/test-math-c++.cc: Check the hypotf declaration.
6994         * doc/posix-functions/hypotf.texi: Mention the new module.
6995
6996         hypot: Prepare for hypotf module.
6997         * m4/hypot.m4: New file.
6998         * modules/hypot (Files): Add m4/hypot.m4.
6999         (configure.ac): Invoke gl_FUNC_HYPOT.
7000
7001 2012-02-29  Bruno Haible  <bruno@clisp.org>
7002
7003         hypot tests: More tests.
7004         * tests/test-hypot.c: Include <float.h>.
7005         (main): Add tests about overflow and underflow.
7006
7007 2012-02-29  Bruno Haible  <bruno@clisp.org>
7008
7009         math code: Add comments.
7010         * lib/acosl.c: Add comment about related glibc source files.
7011         * lib/asinl.c: Likewise.
7012         * lib/atanl.c: Likewise.
7013         * lib/expl.c: Likewise.
7014         * lib/logl.c: Likewise.
7015         * lib/sincosl.c: Likewise.
7016         * lib/sinl.c: Likewise.
7017         * lib/tanl.c: Likewise.
7018         * lib/trigl.c: Likewise.
7019         * lib/cosl.c: Likewise. Fix comments.
7020
7021 2012-02-28  Bruno Haible  <bruno@clisp.org>
7022
7023         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7024         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7025         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7026         HUGE_VALL are defined.
7027         (numeric_equald): Renamed from numeric_equal.
7028         (numeric_equalf, numeric_equall): New functions.
7029         (main): Check also HUGE_VALF, HUGE_VALL.
7030         * modules/math-tests (Files): Add tests/macros.h.
7031         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7032         HUGE_VALL.
7033
7034 2012-02-28  Bruno Haible  <bruno@clisp.org>
7035
7036         doc: Move ISO C11 feature notes into POSIX chapters.
7037         * doc/posix-functions/aligned_alloc.texi: Renamed from
7038         doc/glibc-functions/aligned_alloc.texi.
7039         * doc/posix-functions/quick_exit.texi: Renamed from
7040         doc/glibc-functions/quick_exit.texi.
7041         * doc/posix-headers/uchar.texi: Renamed from
7042         doc/glibc-headers/uchar.texi.
7043         * doc/posix-functions/c16rtomb.texi: Renamed from
7044         doc/glibc-functions/c16rtomb.texi.
7045         * doc/posix-functions/c32rtomb.texi: Renamed from
7046         doc/glibc-functions/c32rtomb.texi.
7047         * doc/posix-functions/mbrtoc16.texi: Renamed from
7048         doc/glibc-functions/mbrtoc16.texi.
7049         * doc/posix-functions/mbrtoc32.texi: Renamed from
7050         doc/glibc-functions/mbrtoc32.texi.
7051         * doc/gnulib.texi: Update.
7052         (Glibc uchar.h): Remove section.
7053         Suggested by Eric Blake.
7054
7055 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7056
7057         stdnoreturn: port to MSVC better
7058         MSVC standard headers use __declspec(noreturn), so #define noreturn
7059         to empty on that platform.  Reported by Bruno Haible in
7060         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7061         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7062         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7063
7064 2012-02-28  Bruno Haible  <bruno@clisp.org>
7065
7066         doc: Mention new glibc headers and functions.
7067         * doc/glibc-headers/uchar.texi: New file.
7068         * doc/glibc-functions/aligned_alloc.texi: New file.
7069         * doc/glibc-functions/c16rtomb.texi: New file.
7070         * doc/glibc-functions/c32rtomb.texi: New file.
7071         * doc/glibc-functions/clock_adjtime.texi: New file.
7072         * doc/glibc-functions/fanotify_init.texi: New file.
7073         * doc/glibc-functions/fanotify_mark.texi: New file.
7074         * doc/glibc-functions/inet6_opt_append.texi: New file.
7075         * doc/glibc-functions/inet6_opt_find.texi: New file.
7076         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7077         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
7078         * doc/glibc-functions/inet6_opt_init.texi: New file.
7079         * doc/glibc-functions/inet6_opt_next.texi: New file.
7080         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
7081         * doc/glibc-functions/inet6_rth_add.texi: New file.
7082         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7083         * doc/glibc-functions/inet6_rth_init.texi: New file.
7084         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7085         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7086         * doc/glibc-functions/inet6_rth_space.texi: New file.
7087         * doc/glibc-functions/login.texi: New file.
7088         * doc/glibc-functions/mbrtoc16.texi: New file.
7089         * doc/glibc-functions/mbrtoc32.texi: New file.
7090         * doc/glibc-functions/name_to_handle_at.texi: New file.
7091         * doc/glibc-functions/ntp_gettimex.texi: New file.
7092         * doc/glibc-functions/open_by_handle_at.texi: New file.
7093         * doc/glibc-functions/prlimit.texi: New file.
7094         * doc/glibc-functions/process_vm_readv.texi: New file.
7095         * doc/glibc-functions/process_vm_writev.texi: New file.
7096         * doc/glibc-functions/recvmmsg.texi: New file.
7097         * doc/glibc-functions/scandirat.texi: New file.
7098         * doc/glibc-functions/sendmmsg.texi: New file.
7099         * doc/glibc-functions/setns.texi: New file.
7100         * doc/glibc-functions/timespec_get.texi: New file.
7101         * doc/gnulib.texi: Include them.
7102         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7103         sections.
7104         Reported by Eric Blake.
7105
7106 2012-02-28  Bruno Haible  <bruno@clisp.org>
7107
7108         Avoid compilation errors with MSVC option -fp:strict.
7109         * lib/floor.c: Use MSVC specific pragma fenv_access.
7110         * lib/ceil.c: Likewise.
7111         * lib/trunc.c: Likewise.
7112         * lib/round.c: Likewise.
7113         * lib/rint.c: Likewise.
7114         * lib/fma.c: Likewise.
7115         * lib/integer_length.c: Likewise.
7116         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7117         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7118         * tests/test-floor2.c: Likewise.
7119         * tests/test-floorf2.c: Likewise.
7120         * tests/test-ceil2.c: Likewise.
7121         * tests/test-ceilf2.c: Likewise.
7122         * tests/test-trunc2.c: Likewise.
7123         * tests/test-truncf2.c: Likewise.
7124         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7125
7126 2012-02-27  Bruno Haible  <bruno@clisp.org>
7127
7128         Tests for module 'sqrtl-ieee'.
7129         * modules/sqrtl-ieee-tests: New file.
7130         * tests/test-sqrtl-ieee.c: New file.
7131
7132         New module 'sqrtl-ieee'.
7133         * modules/sqrtl-ieee: New file.
7134
7135         Tests for module 'sqrt-ieee'.
7136         * modules/sqrt-ieee-tests: New file.
7137         * tests/test-sqrt-ieee.c: New file.
7138
7139         New module 'sqrt-ieee'.
7140         * modules/sqrt-ieee: New file.
7141
7142         Tests for module 'sqrtf-ieee'.
7143         * modules/sqrtf-ieee-tests: New file.
7144         * tests/test-sqrtf-ieee.c: New file.
7145         * tests/test-sqrt-ieee.h: New file.
7146
7147         New module 'sqrtf-ieee'.
7148         * modules/sqrtf-ieee: New file.
7149
7150 2012-02-27  Bruno Haible  <bruno@clisp.org>
7151
7152         remainderl-ieee: Work around test failure on OSF/1.
7153         * m4/remainderl-ieee.m4: New file.
7154         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7155         present, test whether remainderl works with a zero second argument.
7156         Replace it if not.
7157         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7158         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7159         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7160         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7161         (Depends-on): Update conditions.
7162         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7163         (Depends-on): Add remainder-ieee.
7164         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7165         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7166         module.
7167
7168         remainderf-ieee: Work around test failure on OSF/1.
7169         * m4/remainderf-ieee.m4: New file.
7170         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7171         present, test whether remainderf works with a zero second argument.
7172         Replace it if not.
7173         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7175         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7176         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7177         (Depends-on): Update conditions.
7178         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7179         (Depends-on): Add remainder-ieee.
7180         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7181         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7182         module.
7183
7184         remainder-ieee: Work around test failure on OSF/1.
7185         * m4/remainder-ieee.m4: New file.
7186         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7187         present, test whether remainder works with a zero second argument.
7188         Replace it if not.
7189         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7191         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7192         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7193         (Depends-on): Update dependencies.
7194         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7195         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7196         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7197
7198         Tests for module 'remainderl-ieee'.
7199         * modules/remainderl-ieee-tests: New file.
7200         * tests/test-remainderl-ieee.c: New file.
7201
7202         New module 'remainderl-ieee'.
7203         * modules/remainderl-ieee: New file.
7204
7205         Tests for module 'remainder-ieee'.
7206         * modules/remainder-ieee-tests: New file.
7207         * tests/test-remainder-ieee.c: New file.
7208
7209         New module 'remainder-ieee'.
7210         * modules/remainder-ieee: New file.
7211
7212         Tests for module 'remainderf-ieee'.
7213         * modules/remainderf-ieee-tests: New file.
7214         * tests/test-remainderf-ieee.c: New file.
7215         * tests/test-remainder-ieee.h: New file.
7216
7217         New module 'remainderf-ieee'.
7218         * modules/remainderf-ieee: New file.
7219
7220 2012-02-27  Bruno Haible  <bruno@clisp.org>
7221
7222         modff, modfl: Fix configure syntax error.
7223         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7224         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7225
7226 2012-02-27  Bruno Haible  <bruno@clisp.org>
7227
7228         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7229         * m4/fmodl-ieee.m4: New file.
7230         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7231         whether fmodl works with zero arguments. Replace it if not.
7232         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7233         (Depends-on): Add fmod-ieee.
7234         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7235         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7236
7237         fmodf-ieee: Work around test failure on OSF/1.
7238         * m4/fmodf-ieee.m4: New file.
7239         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7240         whether fmodf works with zero arguments. Replace it if not.
7241         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7242         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7243         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7244         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7245         (Depends-on): Update dependencies.
7246         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7247         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7248         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7249
7250         fmodf-ieee: Work around test failure on MSVC 9.
7251         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7252         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7253
7254         fmod-ieee: Work around test failures on OSF/1, mingw.
7255         * m4/fmod-ieee.m4: New file.
7256         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7257         whether fmod works with zero arguments. Replace it if not.
7258         * lib/math.in.h (fmod): New declaration.
7259         * lib/fmod.c: New file.
7260         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7261         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7262         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7263         * modules/fmod (Files): Add lib/fmod.c.
7264         (Depends-on): Add math, isinf, trunc, fma.
7265         (configure.ac): Arrange to compile lib/fmod.c if needed.
7266         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7267         m4/signbit.m4.
7268         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7269         * tests/test-math-c++.cc: Check the declaration of fmod.
7270         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7271
7272         fmodl-ieee: Fix test failures.
7273         * lib/fmodl.c (fmodl): Treat Inf specially.
7274         * modules/fmodl (Depends-on): Add isinf.
7275
7276         Tests for module 'fmodl-ieee'.
7277         * modules/fmodl-ieee-tests: New file.
7278         * tests/test-fmodl-ieee.c: New file.
7279
7280         New module 'fmodl-ieee'.
7281         * modules/fmodl-ieee: New file.
7282
7283         Tests for module 'fmod-ieee'.
7284         * modules/fmod-ieee-tests: New file.
7285         * tests/test-fmod-ieee.c: New file.
7286
7287         New module 'fmod-ieee'.
7288         * modules/fmod-ieee: New file.
7289
7290         Tests for module 'fmodf-ieee'.
7291         * modules/fmodf-ieee-tests: New file.
7292         * tests/test-fmodf-ieee.c: New file.
7293         * tests/test-fmod-ieee.h: New file.
7294
7295         New module 'fmodf-ieee'.
7296         * modules/fmodf-ieee: New file.
7297
7298 2012-02-27  Bruno Haible  <bruno@clisp.org>
7299
7300         Tests for module 'rintl-ieee'.
7301         * modules/rintl-ieee-tests: New file.
7302         * tests/test-rintl-ieee.c: New file.
7303
7304         New module 'rintl-ieee'.
7305         * modules/rintl-ieee: New file.
7306
7307         Tests for module 'rint-ieee'.
7308         * modules/rint-ieee-tests: New file.
7309         * tests/test-rint-ieee.c: New file.
7310
7311         New module 'rint-ieee'.
7312         * modules/rint-ieee: New file.
7313
7314         Tests for module 'rintf-ieee'.
7315         * modules/rintf-ieee-tests: New file.
7316         * tests/test-rintf-ieee.c: New file.
7317         * tests/test-rint-ieee.h: New file.
7318
7319         New module 'rintf-ieee'.
7320         * modules/rintf-ieee: New file.
7321
7322 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7323
7324         regex: re_search etc. should return -2 when memory exhausted
7325         This bug was uncovered when testing 'grep'.  Without the fix,
7326         re_search and friends return -1 when memory is exhausted, but -1
7327         means no match, and this causes grep to falsely report no-match
7328         instead of memory-exhaustion.  See
7329         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7330         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7331         trouble; this can occur if re_search_internal ran out of memory.
7332
7333 2012-02-26  Bruno Haible  <bruno@clisp.org>
7334
7335         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7336         * m4/modfl-ieee.m4: New file.
7337         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7338         whether modfl works with Inf. Replace it if not.
7339         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7340         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7341         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7342         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7343         (Depends-on): Update dependencies.
7344         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7345         m4/signbit.m4.
7346         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7347         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7348
7349         modfl-ieee: Fix dependencies.
7350         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7351
7352         modfl-ieee: Fix test failures.
7353         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7354         * modules/modfl (Depends-on): Add isfinite, isinf.
7355
7356         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7357         * m4/modff-ieee.m4: New file.
7358         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7359         whether modff works with NaN and Inf. Replace it if not.
7360         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7362         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7363         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7364         (Depends-on): Update dependencies.
7365         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7366         m4/signbit.m4.
7367         (Depends-on): Add modf-ieee.
7368         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7369         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7370
7371         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7372         * m4/modf-ieee.m4: New file.
7373         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7374         whether modf works with NaN and Inf. Replace it if not.
7375         * lib/math.in.h (modf): New declaration.
7376         * lib/modf.c: New file.
7377         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7378         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7379         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7380         * modules/modf (Files): Add lib/modf.c.
7381         (Depends-on): Add math, isfinite, trunc, isinf.
7382         (configure.ac): Addrange to compile lib/modf.c if needed.
7383         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7384         m4/signbit.m4.
7385         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7386         * tests/test-math-c++.cc: Check the declaration of modf.
7387         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7388
7389         Tests for module 'modfl-ieee'.
7390         * modules/modfl-ieee-tests: New file.
7391         * tests/test-modfl-ieee.c: New file.
7392
7393         New module 'modfl-ieee'.
7394         * modules/modfl-ieee: New file.
7395
7396         Tests for module 'modf-ieee'.
7397         * modules/modf-ieee-tests: New file.
7398         * tests/test-modf-ieee.c: New file.
7399
7400         New module 'modf-ieee'.
7401         * modules/modf-ieee: New file.
7402
7403         Tests for module 'modff-ieee'.
7404         * modules/modff-ieee-tests: New file.
7405         * tests/test-modff-ieee.c: New file.
7406         * tests/test-modf-ieee.h: New file.
7407
7408         New module 'modff-ieee'.
7409         * modules/modff-ieee: New file.
7410
7411 2012-02-26  Bruno Haible  <bruno@clisp.org>
7412
7413         Tests for module 'fabsl-ieee'.
7414         * modules/fabsl-ieee-tests: New file.
7415         * tests/test-fabsl-ieee.c: New file.
7416
7417         New module 'fabsl-ieee'.
7418         * modules/fabsl-ieee: New file.
7419
7420         Tests for module 'fabs-ieee'.
7421         * modules/fabs-ieee-tests: New file.
7422         * tests/test-fabs-ieee.c: New file.
7423
7424         New module 'fabs-ieee'.
7425         * modules/fabs-ieee: New file.
7426
7427         Tests for module 'fabsf-ieee'.
7428         * modules/fabsf-ieee-tests: New file.
7429         * tests/test-fabsf-ieee.c: New file.
7430         * tests/test-fabs-ieee.h: New file.
7431
7432         New module 'fabsf-ieee'.
7433         * modules/fabsf-ieee: New file.
7434
7435 2012-02-26  Bruno Haible  <bruno@clisp.org>
7436
7437         Tests for module 'fmal-ieee'.
7438         * modules/fmal-ieee-tests: New file.
7439         * tests/test-fmal-ieee.c: New file.
7440
7441         New module 'fmal-ieee'.
7442         * modules/fmal-ieee: New file.
7443
7444         Tests for module 'fma-ieee'.
7445         * modules/fma-ieee-tests: New file.
7446         * tests/test-fma-ieee.c: New file.
7447
7448         New module 'fma-ieee'.
7449         * modules/fma-ieee: New file.
7450
7451         Tests for module 'fmaf-ieee'.
7452         * modules/fmaf-ieee-tests: New file.
7453         * tests/test-fmaf-ieee.c: New file.
7454         * tests/test-fma-ieee.h: New file.
7455
7456         New module 'fmaf-ieee'.
7457         * modules/fmaf-ieee: New file.
7458
7459 2012-02-26  Bruno Haible  <bruno@clisp.org>
7460
7461         Tests for module 'ldexpl-ieee'.
7462         * modules/ldexpl-ieee-tests: New file.
7463         * tests/test-ldexpl-ieee.c: New file.
7464
7465         New module 'ldexpl-ieee'.
7466         * modules/ldexpl-ieee: New file.
7467
7468         Tests for module 'ldexp-ieee'.
7469         * modules/ldexp-ieee-tests: New file.
7470         * tests/test-ldexp-ieee.c: New file.
7471
7472         New module 'ldexp-ieee'.
7473         * modules/ldexp-ieee: New file.
7474
7475         Tests for module 'ldexpf-ieee'.
7476         * modules/ldexpf-ieee-tests: New file.
7477         * tests/test-ldexpf-ieee.c: New file.
7478         * tests/test-ldexp-ieee.h: New file.
7479
7480         New module 'ldexpf-ieee'.
7481         * modules/ldexpf-ieee: New file.
7482
7483 2012-02-26  Bruno Haible  <bruno@clisp.org>
7484
7485         Refactor frexp*-ieee tests.
7486         * tests/test-frexp-ieee.h: New file.
7487         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7488         (main): Just call test_function.
7489         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7490         (main): Just call test_function.
7491         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7492         (main): Just call test_function.
7493         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7494         * modules/frexp-ieee-tests (Files): Likewise.
7495         * modules/frexpl-ieee-tests (Files): Likewise.
7496
7497         Tests for module 'frexpl-ieee'.
7498         * modules/frexpl-ieee-tests: New file.
7499         * tests/test-frexpl-ieee.c: New file.
7500
7501         New module 'frexpl-ieee'.
7502         * modules/frexpl-ieee: New file.
7503
7504         Tests for module 'frexp-ieee'.
7505         * modules/frexp-ieee-tests: New file.
7506         * tests/test-frexp-ieee.c: New file.
7507
7508         New module 'frexp-ieee'.
7509         * modules/frexp-ieee: New file.
7510
7511         Tests for module 'frexpf-ieee'.
7512         * modules/frexpf-ieee-tests: New file.
7513         * tests/test-frexpf-ieee.c: New file.
7514
7515         New module 'frexpf-ieee'.
7516         * modules/frexpf-ieee: New file.
7517
7518 2012-02-26  Bruno Haible  <bruno@clisp.org>
7519
7520         roundl-ieee tests: More tests.
7521         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7522         (main): Add tests for [MX] shaded specification in POSIX.
7523         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7524         (Depends-on): Add isnanl-nolibm.
7525
7526         round-ieee tests: More tests.
7527         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7528         (main): Add tests for [MX] shaded specification in POSIX.
7529         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7530         (Depends-on): Add isnand-nolibm.
7531
7532         roundf-ieee tests: More tests.
7533         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7534         (main): Add tests for [MX] shaded specification in POSIX.
7535         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7536         (Depends-on): Add isnanf-nolibm.
7537
7538         truncl-ieee tests: More tests.
7539         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7540         (main): Add tests for [MX] shaded specification in POSIX.
7541         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7542         (Depends-on): Add isnanl-nolibm.
7543
7544         trunc-ieee tests: More tests.
7545         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7546         (main): Add tests for [MX] shaded specification in POSIX.
7547         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7548         (Depends-on): Add isnand-nolibm.
7549
7550         truncf-ieee tests: More tests.
7551         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7552         (main): Add tests for [MX] shaded specification in POSIX.
7553         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7554         (Depends-on): Add isnanf-nolibm.
7555
7556         ceill-ieee tests: More tests.
7557         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7558         (main): Add tests for [MX] shaded specification in POSIX.
7559         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7560         (Depends-on): Add isnanl-nolibm.
7561
7562         ceil-ieee tests: More tests.
7563         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7564         (main): Add tests for [MX] shaded specification in POSIX.
7565         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7566         (Depends-on): Add isnand-nolibm.
7567
7568         ceilf-ieee tests: More tests.
7569         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7570         (main): Add tests for [MX] shaded specification in POSIX.
7571         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7572         (Depends-on): Add isnanf-nolibm.
7573
7574         floorl-ieee tests: More tests.
7575         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7576         (main): Add tests for [MX] shaded specification in POSIX.
7577         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7578         (Depends-on): Add isnanl-nolibm.
7579
7580         floor-ieee tests: More tests.
7581         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7582         (main): Add tests for [MX] shaded specification in POSIX.
7583         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7584         (Depends-on): Add isnand-nolibm.
7585
7586         floorf-ieee tests: More tests.
7587         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7588         (main): Add tests for [MX] shaded specification in POSIX.
7589         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7590         (Depends-on): Add isnanf-nolibm.
7591
7592 2012-02-26  Bruno Haible  <bruno@clisp.org>
7593
7594         fpieee: More comments.
7595         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7596
7597 2012-02-25  Bruno Haible  <bruno@clisp.org>
7598
7599         Tests for module 'log10l'.
7600         * modules/log10l-tests: New file.
7601         * tests/test-log10l.c: New file.
7602         * tests/test-math-c++.cc: Check the declaration of log10l.
7603
7604         New module 'log10l'.
7605         * lib/math.in.h (log10l): New declaration.
7606         * lib/log10l.c: New file.
7607         * m4/log10l.m4: New file.
7608         * modules/log10l: New file.
7609         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7610         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7611         HAVE_DECL_LOG10L.
7612         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7613         HAVE_DECL_LOG10L.
7614         * doc/posix-functions/log10l.texi: Mention the new module.
7615
7616 2012-02-25  Bruno Haible  <bruno@clisp.org>
7617
7618         fmodl, remainder*: Avoid wrong results due to rounding errors.
7619         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7620         expected bounds.
7621         * lib/remainderf.c (remainderf): Likewise.
7622         * lib/remainder.c (remainder): Likewise.
7623         * lib/remainderl.c (remainderl): Likewise.
7624
7625 2012-02-25  Bruno Haible  <bruno@clisp.org>
7626
7627         Tests for module 'remainderl'.
7628         * modules/remainderl-tests: New file.
7629         * tests/test-remainderl.c: New file.
7630         * tests/test-math-c++.cc: Check the declaration of remainderl.
7631
7632         New module 'remainderl'.
7633         * lib/math.in.h (remainderl): New declaration.
7634         * lib/remainderl.c: New file.
7635         * m4/remainderl.m4: New file.
7636         * modules/remainderl: New file.
7637         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7638         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7639         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7640         HAVE_REMAINDERL.
7641         * doc/posix-functions/remainderl.texi: Mention the new module.
7642
7643 2012-02-25  Bruno Haible  <bruno@clisp.org>
7644
7645         Tests for module 'remainderf'.
7646         * modules/remainderf-tests: New file.
7647         * tests/test-remainderf.c: New file.
7648         * tests/test-math-c++.cc: Check the declaration of remainderf.
7649
7650         New module 'remainderf'.
7651         * lib/math.in.h (remainderf): New declaration.
7652         * lib/remainderf.c: New file.
7653         * m4/remainderf.m4: New file.
7654         * modules/remainderf: New file.
7655         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7656         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7657         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7658         HAVE_REMAINDERF.
7659         * doc/posix-functions/remainderf.texi: Mention the new module.
7660
7661 2012-02-25  Bruno Haible  <bruno@clisp.org>
7662
7663         remainder: Support for MSVC.
7664         * lib/math.in.h (remainder): New declaration.
7665         * lib/remainder.c: New file.
7666         * m4/remainder.m4: New file.
7667         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7668         (Depends-on): Add math, round, fma.
7669         (configure.ac): Use results of gl_FUNC_REMAINDER.
7670         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7671         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7672         HAVE_DECL_REMAINDER.
7673         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7674         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7675         * tests/test-math-c++.cc: Check the declaration of remainder.
7676         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7677         problems are fixed.
7678
7679 2012-02-25  Bruno Haible  <bruno@clisp.org>
7680
7681         Tests for module 'fmodl'.
7682         * modules/fmodl-tests: New file.
7683         * tests/test-fmodl.c: New file.
7684         * tests/test-math-c++.cc: Check the declaration of fmodl.
7685
7686         New module 'fmodl'.
7687         * lib/math.in.h (fmodl): New declaration.
7688         * lib/fmodl.c: New file.
7689         * m4/fmodl.m4: New file.
7690         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7692         REPLACE_FMODL.
7693         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7694         REPLACE_FMODL.
7695         * modules/fmodl: New file.
7696         * doc/posix-functions/fmodl.texi: Mention the new module.
7697
7698 2012-02-25  Bruno Haible  <bruno@clisp.org>
7699
7700         Tests for module 'modfl'.
7701         * modules/modfl-tests: New file.
7702         * tests/test-modfl.c: New file.
7703         * tests/test-math-c++.cc: Check the declaration of modfl.
7704
7705         New module 'modfl'.
7706         * lib/math.in.h (modfl): New declaration.
7707         * lib/modfl.c: New file.
7708         * m4/modfl.m4: New file.
7709         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7710         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7711         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7712         * modules/modfl: New file.
7713         * doc/posix-functions/modfl.texi: Mention the new module.
7714
7715 2012-02-25  Bruno Haible  <bruno@clisp.org>
7716
7717         Tests for module 'fabsl'.
7718         * modules/fabsl-tests: New file.
7719         * tests/test-fabsl.c: New file.
7720         * tests/test-math-c++.cc: Check the declaration of fabsl.
7721
7722         New module 'fabsl'.
7723         * lib/math.in.h (fabsl): New declaration.
7724         * lib/fabsl.c: New file.
7725         * m4/fabsl.m4: New file.
7726         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7727         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7728         REPLACE_FABSL.
7729         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7730         REPLACE_FABSL.
7731         * modules/fabsl: New file.
7732         * doc/posix-functions/fabsl.texi: Mention the new module.
7733
7734 2012-02-25  Bruno Haible  <bruno@clisp.org>
7735
7736         fabs tests: More tests.
7737         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7738         (zero): New variable.
7739         (main): Add tests for signed zero.
7740         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7741
7742         fabsf tests: More tests.
7743         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7744         (zero): New variable.
7745         (main): Add tests for signed zero.
7746         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7747
7748 2012-02-24  Bruno Haible  <bruno@clisp.org>
7749
7750         atanl: Provide function definition on MSVC.
7751         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7752         function pointer.
7753         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7754
7755 2012-02-24  Bruno Haible  <bruno@clisp.org>
7756
7757         acosl: Provide function definition on MSVC.
7758         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7759         function pointer.
7760         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7761
7762 2012-02-24  Bruno Haible  <bruno@clisp.org>
7763
7764         asinl: Provide function definition on MSVC.
7765         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7766         function pointer.
7767         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7768
7769 2012-02-24  Bruno Haible  <bruno@clisp.org>
7770
7771         tanl: Provide function definition on MSVC.
7772         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7773         function pointer.
7774         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7775
7776 2012-02-24  Bruno Haible  <bruno@clisp.org>
7777
7778         cosl: Provide function definition on MSVC.
7779         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7780         function pointer.
7781         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7782
7783 2012-02-24  Bruno Haible  <bruno@clisp.org>
7784
7785         sinl: Provide function definition on MSVC.
7786         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7787         function pointer.
7788         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7789
7790 2012-02-24  Bruno Haible  <bruno@clisp.org>
7791
7792         logl: Provide function definition on MSVC.
7793         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7794         function pointer.
7795         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7796
7797 2012-02-24  Bruno Haible  <bruno@clisp.org>
7798
7799         expl: Provide function definition on MSVC.
7800         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7801         function pointer.
7802         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7803
7804 2012-02-24  Bruno Haible  <bruno@clisp.org>
7805
7806         sqrtl: Provide function definition on MSVC.
7807         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7808         a function pointer.
7809         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7810
7811 2012-02-24  Bruno Haible  <bruno@clisp.org>
7812
7813         ceill: Provide function definition on MSVC.
7814         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7815         used as a function pointer.
7816         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7817
7818 2012-02-24  Bruno Haible  <bruno@clisp.org>
7819
7820         floorl: Provide function definition on MSVC.
7821         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7822         used as a function pointer.
7823         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7824
7825 2012-02-24  Bruno Haible  <bruno@clisp.org>
7826
7827         ceilf: Provide function definition on MSVC.
7828         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7829         used as a function pointer.
7830         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7831
7832 2012-02-24  Bruno Haible  <bruno@clisp.org>
7833
7834         floorf: Provide function definition on MSVC.
7835         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7836         used as a function pointer.
7837         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7838
7839 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7840
7841         stdnoreturn: new module
7842         This implements a replacement for C11's <stdnoreturn.h>.
7843         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7844         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7845         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7846         * tests/test-stdnoreturn.c: New files.
7847
7848 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7849
7850         regex: fix false multibyte matches in some regular expressions
7851         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7852         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7853         * lib/regex_internal.c (re_string_skip_chars):
7854         Fix miscomputation of remain_len that may cause incomplete
7855         multi-byte character and false match.
7856
7857 2012-02-24  Jim Meyering  <meyering@redhat.com>
7858
7859         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7860         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7861         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7862         Remove now-unnecessary str''cmp obfuscation.
7863         Suggested by Akim Demaille.
7864
7865 2012-02-24  Bruno Haible  <bruno@clisp.org>
7866
7867         streq: Rename macro.
7868         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7869         * NEWS: Mention the change.
7870         * lib/mbrtowc.c (mbrtowc): Update.
7871         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7872         * lib/wcwidth.c (wcwidth): Update.
7873         Suggested by Akim Demaille and Jim Meyering.
7874
7875 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7876
7877         regex: fix typo in definition of MIN
7878         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7879         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7880
7881 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7882             Bruno Haible  <bruno@clisp.org>
7883
7884         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7885         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7886         entries into a stack-allocated buffer directly.
7887         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7888
7889 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7890             Bruno Haible  <bruno@clisp.org>
7891
7892         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7893
7894          - There were several instances of this pattern:
7895
7896              for (;;) {
7897                n = acl (f, GETACLCNT, 0, NULL);
7898                [ allocate an array A of size N ]
7899                if (acl (f, GETACL, n, a) == n)
7900                  break;
7901              }
7902
7903            This loop might never terminate if some other process is constantly
7904            manipulating the file's ACL.  The loop should be rewritten to
7905            terminate.
7906
7907          - The acl (... GETACLNT ...) call is merely an optimization; its value
7908            is merely a hint as to how big to make the array.  A better
7909            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7910            and just guess a reasonably-big size, growing the size and trying
7911            again if it's not large enough.  This guarantees termination, and
7912            saves a system call.
7913
7914         * lib/acl-internal.h: Include <limits.h>.
7915         (MIN, SIZE_MAX): New macros.
7916         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7917         a stack-allocated buffer, and use malloc if it does not fit. Don't
7918         use GETACLCNT.
7919         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7920
7921 2012-02-19  Bruno Haible  <bruno@clisp.org>
7922
7923         acl: Fix endless loop on Solaris with vxfs.
7924         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7925         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7926         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7927         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7928         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7929         Reported by Bill Jones in
7930         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7931
7932 2012-02-19  Bruno Haible  <bruno@clisp.org>
7933
7934         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7935         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7936         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7937         that this function returns 0 in some more cases.
7938
7939 2012-02-19  Bruno Haible  <bruno@clisp.org>
7940
7941         acl: Update doc references.
7942         * doc/acl-resources.txt: Update links to Solaris documentation.
7943
7944 2012-02-19  Bruno Haible  <bruno@clisp.org>
7945
7946         Fix test failure in many locales on Solaris 11.
7947         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7948         'tr' arguments.
7949         * tests/test-pipe-filter-ii1.c (main): Likewise.
7950         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7951         expressions in the C locale.
7952         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7953         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7954
7955 2012-02-19  Bruno Haible  <bruno@clisp.org>
7956
7957         gnulib-tool: Improve usage message.
7958         * gnulib-tool (func_usage): Move doc of --help and --version to the
7959         section "Operation modes".
7960
7961 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7962
7963         README-release: make it easier to execute commands
7964         * top/README-release: break commands out on to separate lines.
7965
7966 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7967
7968         GNUmakefile: simplify detection of unconfigured trees
7969         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7970         whether the tree make is being run from is already configured or
7971         not.  Related simplifications.
7972
7973 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7974
7975         * gnulib-tool (func_usage): Document --help and --version.
7976
7977 2012-02-11  Jim Meyering  <meyering@redhat.com>
7978
7979         bootstrap: don't exit 0 upon gnulib-tool failure
7980         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7981         its exit status, not 0.
7982
7983 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7984
7985         README-release: various improvements
7986         * top/README-release: Give a command to push changes for the
7987         release.  Add "distcheck" to list of other pre-release checks.
7988         Fix instance of "make stable" which should be "make TYPE".
7989
7990 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7991
7992         maint: replace FSF snail-mail addresses with URLs
7993         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7994         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7995         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7996         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7997         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7998         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7999         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8000         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8001         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8002         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8003         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8004         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8005         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8006         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8007         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8008         * lib/glthread/thread.c, lib/glthread/thread.h:
8009         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8010         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8011         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8012         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8013         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8014         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8015         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8016         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8017         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8018         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8019         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8020         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8021         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8022         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8023         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8024         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8025         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8026         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8027         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8028         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8029         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8030         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8031         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8032         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8033         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8034         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8035         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8036         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8037         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8038         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8039         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8040         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8041         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8042         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8043         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8044         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8045         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8046         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8047         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8048         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8049         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8050         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8051         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8052         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8053         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8054         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8055         * tests/test-poll.c, tests/test-quotearg-simple.c:
8056         * tests/test-quotearg.c, tests/test-quotearg.h:
8057         * tests/test-round-ieee.c, tests/test-round1.c:
8058         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8059         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8060         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8061         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8062         * tests/test-strerror.c, tests/test-strerror_r.c:
8063         * tests/test-strsignal.c, tests/test-strverscmp.c:
8064         * tests/test-xmemdup0.c:
8065         Replace FSF snail mail addresses with URLs, as per GNU coding
8066         standards.  See glibc bug
8067         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8068
8069 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8070
8071         README-release: capitalize a word and split a line
8072         * top/README-release: Fix punctuation and spacing.
8073
8074 2012-02-08  Akim Demaille  <demaille@gostai.com>
8075
8076         fatal-signal: use C prototypes (with explicit void).
8077         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
8078         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
8079
8080 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8081
8082         regex: spelling fix
8083         * lib/regexec.c: spelling fix
8084
8085         regex: rely on stdint.h for SIZE_MAX
8086         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8087
8088 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8089
8090         regex: merge glibc changes
8091
8092         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8093         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8094         (init_word_char): Work even if bitset words are not exactly 32 or
8095         64 bits wide.  Don't assume there are no padding bits.
8096         * lib/regex.c [_LIBC]: Do not include <config.h>.
8097         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8098         and -Wtype-limits.
8099         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8100         needless disagreement with glibc.  All uses changed.  Define it to
8101         1 only if _GNU_SOURCE, to match glibc.
8102         (_REG_RM_NAME): Remove; no longer needed, since the names in
8103         question are now all protected by __USE_GNU.
8104         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8105         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8106         * lib/regex_internal.h (MIN): New macro.
8107
8108         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8109         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8110
8111         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8112         * lib/regex_internal.c (re_string_fetch_byte_case):
8113         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8114         is miscompiled, and it turns out it is because of an incorrect
8115         attribute on re_string_fetch_byte_case.  Unlike
8116         re_string_peek_byte_case, this one is really not pure, it modifies
8117         memory (increments pstr->cur_idx), and with the pure attribute GCC
8118         assumed it doesn't and it cached the presumed value of
8119         regexp->cur_idx in a variable across the
8120          for (;; ++i)
8121            {
8122              if (i >= BRACKET_NAME_BUF_SIZE)
8123                return REG_EBRACK;
8124              if (token->type == OP_OPEN_CHAR_CLASS)
8125                ch = re_string_fetch_byte_case (regexp);
8126              else
8127                ch = re_string_fetch_byte (regexp);
8128              if (re_string_eoi(regexp))
8129                return REG_EBRACK;
8130              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8131                break;
8132              elem->opr.name[i] = ch;
8133            }
8134
8135         2011-11-29 Andreas Schwab <schwab@redhat.com>
8136         * lib/regcomp.c (build_equiv_class):
8137         Fix access after end of search string in regex matcher.
8138
8139         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8140         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8141
8142         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8143         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8144
8145         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8146         * lib/regcomp.c (parse_branch, parse_sub_exp):
8147         More regex memory leak fixes and tests.
8148         (parse_sub_exp, parse_bracket_exp):
8149         Fix memory leak for some invalid regular expressions.
8150
8151         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8152         * lib/regex_internal.c, lib/regexec.c:
8153         Fix unnecessary overallocation due to incomplete character.  When
8154         incomplete characters are found at the end of a string the code
8155         ran amok and allocated lots of memory.  Stricter limits are now in
8156         place.
8157
8158         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8159         * lib/regex.h: Update documentation.
8160
8161         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8162         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8163
8164         2010-05-05 Andreas Schwab <schwab@redhat.com>
8165         * lib/regexec.c (find_collation_sequence_value):
8166         Fix lookup of collation sequence value during regexp matching.
8167
8168         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8169         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8170
8171         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8172         * lib/regex.h: Cleanup namespace.
8173
8174         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8175         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8176
8177         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8178         * lib/regex_internal.h: Prevent some declarations and definitions
8179         to be seen when used in tests.
8180
8181         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8182         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8183         __libc_lock_* macros if not _LIBC.
8184         (struct re_dfa_t): Add lock.
8185
8186 2012-02-07  Eric Blake  <eblake@redhat.com>
8187
8188         maint.mk: also prohibit lower-case @var@
8189         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8190         lower case, like @top_srcdir@.
8191
8192 2012-02-04  Eric Blake  <eblake@redhat.com>
8193
8194         canonicalize: avoid uninitialized memory use
8195         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8196         random '/' left in dest.
8197         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8198
8199 2012-02-04  Bruno Haible  <bruno@clisp.org>
8200
8201         isatty: Fix test failure of ptsname_r on native Windows.
8202         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8203         and don't set errno.
8204         (isatty): Test first whether fd is valid. Set errno when returning 0.
8205
8206 2012-02-04  Bruno Haible  <bruno@clisp.org>
8207
8208         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8209         * tests/test-spawn-pipe-main.c: Include progname.h.
8210         (main): Invoke set_program_name.
8211         * modules/spawn-pipe-tests (Depends-on): Add progname.
8212
8213         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8214         * tests/test-nonblocking-socket-main.c: Include progname.h.
8215         (main): Invoke set_program_name.
8216         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8217
8218         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8219         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8220         (main): Invoke set_program_name.
8221         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8222
8223 2012-02-04  Eric Blake  <eblake@redhat.com>
8224
8225         canonicalize-lgpl: fix // handling
8226         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8227
8228         canonicalize: fix // handling
8229         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8230         /// to //, since only // is special.
8231
8232 2012-02-04  Bruno Haible  <bruno@clisp.org>
8233
8234         ioctl: Fix test failure on native Windows.
8235         * lib/ioctl.c: Include msvc-nothrow.h.
8236         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8237
8238 2012-02-04  Bruno Haible  <bruno@clisp.org>
8239
8240         fsync: Avoid test failure on native Windows.
8241         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8242         read-only.
8243
8244 2012-02-04  Bruno Haible  <bruno@clisp.org>
8245
8246         sys_select: Avoid syntax error on OpenBSD 5.0.
8247         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8248         currently being included, just include the system's <sys/select.h>.
8249
8250 2012-02-04  Bruno Haible  <bruno@clisp.org>
8251
8252         sys_select: Avoid syntax error on OpenBSD 5.0.
8253         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8254         <sys/select.h>, not before.
8255         Reported by Jiri B <jirib@devio.us>.
8256
8257 2012-02-04  Bruno Haible  <bruno@clisp.org>
8258
8259         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8260         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8261         global variables.
8262         * tests/test-get-rusage-data.c (main): Likewise.
8263         Reported by Jim Meyering.
8264
8265 2012-02-04  Bruno Haible  <bruno@clisp.org>
8266
8267         stdioext: Fix last commit.
8268         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8269
8270 2012-02-03  Bruno Haible  <bruno@clisp.org>
8271
8272         stdioext: Add tentative support for Plan9.
8273         * lib/stdio-impl.h: Include <errno.h>.
8274         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8275         * lib/freadable.c (freadable): Likewise.
8276         * lib/fwritable.c (fwritable): Likewise.
8277         * lib/fbufmode.c (fbufmode): Likewise.
8278         * lib/freading.c (freading): Likewise.
8279         * lib/fwriting.c (fwriting): Likewise.
8280         * lib/freadptr.c (freadptr): Likewise.
8281         * lib/freadseek.c (freadptrinc): Likewise.
8282         * lib/freadahead.c (freadahead): Likewise.
8283         * lib/fpurge.c (fpurge): Likewise.
8284         * lib/fseeko.c (rpl_fseeko): Likewise.
8285         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8286         Reported by Jens Staal <staal1978@gmail.com>.
8287
8288 2012-02-02  Jim Meyering  <meyering@redhat.com>
8289
8290         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8291         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8292         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8293         not even to try to add the attribute.  Instead, add a pragma to suppress
8294         the suggestion/warning.
8295
8296 2012-01-31  Karl Berry  <karl@gnu.org>
8297
8298         setstate doc: typo.
8299         * doc/posix-functions/setstate.texi (setstate): { not (.
8300
8301 2012-01-31  Bruno Haible  <bruno@clisp.org>
8302
8303         popen: Make more robust on Windows.
8304         * lib/popen.c: On native Windows, use the _popen based code even if
8305         HAVE_POPEN is set.
8306         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8307         environment variable on native Windows.
8308
8309 2012-01-30  Bruno Haible  <bruno@clisp.org>
8310
8311         pclose: Fix typo.
8312         * lib/stdio.in.h (pclose): Fix typo in warning message.
8313
8314 2012-01-30  Bruno Haible  <bruno@clisp.org>
8315
8316         doc about getlogin_r, setstate.
8317         * doc/posix-functions/getlogin_r.texi: List the incompatible
8318         declaration problem under "not fixed by gnulib".
8319         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8320         problem on Solaris 11 and other platforms.
8321
8322 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8323             Bruno Haible  <bruno@clisp.org>
8324
8325         poll tests: Make test more robust.
8326         * tests/test-poll.c: Include macros.h.
8327         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8328         return value of various I/O operations.
8329         * modules/poll-tests (Files): Add tests/macros.h.
8330
8331 2012-01-30  Bruno Haible  <bruno@clisp.org>
8332
8333         sys_stat: Fix support for mingw64 and MSVC.
8334         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8335         header files already do it.
8336         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8337         stat itself.
8338         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8339
8340 2012-01-30  Bruno Haible  <bruno@clisp.org>
8341
8342         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8343         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8344         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8345
8346 2012-01-29  Bruno Haible  <bruno@clisp.org>
8347
8348         quotearg: Fix test failure on MacOS X 10.5.
8349         * tests/test-quotearg-simple.c: Include localcharset.h.
8350         (main): If the locale encoding is not ASCII, bypass the tests of
8351         locale_quoting_style and clocale_quoting_style.
8352         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8353
8354 2012-01-29  Jim Meyering  <meyering@redhat.com>
8355
8356         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8357         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8358         detect uses of canonicalize_file_name.
8359
8360 2012-01-28  Bruno Haible  <bruno@clisp.org>
8361
8362         test-framework-sh: Fix test failure with AIX 7.1 diff.
8363         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8364         in column 1, like 'diff -c' does.
8365         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8366         whether 'diff -u' is used. Instead, test whether the output contains
8367         some '@' character.
8368
8369 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8370
8371         strtoimax: eliminate need for stdint.h, inttypes.h checks
8372         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8373         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8374         the prerequisites for a recently-introduced strtoimax test.
8375         I guess this might cause strtoimax to be replaced when not
8376         strictly necessary on older hosts, but this shouldn't introduce
8377         any bugs and it should make Emacs 'configure' faster on typical
8378         modern hosts.  Problem discovered when importing the latest gnulib
8379         to an Emacs test version.
8380         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8381
8382 2012-01-28  Bruno Haible  <bruno@clisp.org>
8383
8384         sys_time: Override 'struct timeval' on some native Windows platforms.
8385         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8386         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8387         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8388         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8389         needs to be overridden.
8390         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8391         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8392         * tests/test-sys_select.c: Check that the tv_sec member has the same
8393         size as a 'time_t'.
8394         * tests/test-sys_time.c: Likewise.
8395         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8396         is set, set also REPLACE_GETTIMEOFDAY.
8397         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8398         convert the resulting 'struct timeval' before returning.
8399         * lib/select.c: Include <sys/time.h>.
8400         (select, timeval): Undefine at the right place.
8401         * modules/select (Depends-on): Add sys_time.
8402         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8403         some Windows platforms.
8404         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8405
8406 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8407
8408         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8409         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8410         an integer.
8411         * lib/fcntl.c (dupfd): Likewise.
8412         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8413
8414 2012-01-28  Bruno Haible  <bruno@clisp.org>
8415
8416         fcntl: Avoid compilation error on native Windows.
8417         * modules/fcntl (Depends-on): Add 'close'.
8418
8419 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8420
8421         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8422         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8423         pointer to an integer.
8424         * lib/poll.c (IsConsoleHandle): Likewise.
8425         * lib/isatty.c (IsConsoleHandle): Likewise.
8426
8427 2012-01-28  Jim Meyering  <meyering@redhat.com>
8428
8429         doc: clarify README-release
8430         * top/README-release: Clarify: you should make a point to have
8431         the latest stable versions of build tools in your PATH, and the
8432         reference to buildreq is solely for its list of tool names, not
8433         for its minimal-functional version numbers.
8434         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8435
8436         maint.mk: use more readable (yet functionally equivalent) quoting
8437         It is common to quote a single quote in a single quoted string like
8438         this:  '...'\''...'.  Unless you know the idiom, that looks like
8439         gibberish, so prefer to double-quote the string when possible.
8440         Then you can use a more readable, lone single quote: "...'..."
8441         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8442         "don't" is more readable than the equivalent 'don'\''t'.
8443         (sc_cast_of_x_alloc_return_value): Likewise.
8444         (sc_cast_of_alloca_return_value): Likewise.
8445         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8446         rather than '\'':'\''.
8447
8448 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8449
8450         stdalign: relax _Alignof and tighten _Alignas test
8451         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8452         as it was too strict: alignof must divide offsetof, but it need
8453         not equal offsetof.  Inspired by Joseph S. Myers's comment
8454         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8455         Conversely, tighten the _Alignas test a bit, as the resulting
8456         alignment must be exactly 8.
8457
8458 2012-01-27  Bruno Haible  <bruno@clisp.org>
8459
8460         stdalign: Document the last change.
8461         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8462
8463 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8464
8465         stdalign: check that alignof and offsetof are consistent
8466         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8467         Problem reported for gnulib by Richard W.M. Jones in
8468         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8469
8470 2012-01-27  Jim Meyering  <meyering@redhat.com>
8471
8472         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8473         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8474         convert a sequence with gaps to the minimal containing range.
8475         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8476         * tests/test-update-copyright.sh: Test for this.
8477         The FSF confirmed it is ok to do this, assuming there is at
8478         least one significant change per year in the affected range:
8479         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8480
8481 2012-01-26  Bruno Haible  <bruno@clisp.org>
8482
8483         pipe2: refine doc about thread-safety
8484         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8485         multithread-safety problem.
8486         * doc/glibc-functions/accept4.texi: Likewise.
8487
8488 2012-01-26  Bruno Haible  <bruno@clisp.org>
8489
8490         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8491         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8492         In the test program, include <fcntl.h>, for O_RDONLY.
8493
8494 2012-01-26  Eric Blake  <eblake@redhat.com>
8495
8496         pipe2: document lack of thread-safety in replacement
8497         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8498         issue in replacement.
8499         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8500         Based on a report by Eric Wong.
8501
8502 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8503             Bruno Haible  <bruno@clisp.org>
8504
8505         malloca: Avoid warnings on x86_64 mingw64.
8506         * lib/malloca.c: Include <stdint.h>.
8507         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8508         * modules/malloca (Depends-on): Add stdint.
8509         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8510
8511 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8512
8513         obstack: remove __STDC__ conditionals
8514         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8515         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8516         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8517         m4/include_next.m4 as the only gnulib-maintained places that still
8518         refer to __STDC__.
8519
8520 2012-01-24  Bruno Haible  <bruno@clisp.org>
8521
8522         havelib: Modern quoting.
8523         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8524         the recent change to the GNU coding standards.
8525
8526 2012-01-24  Bruno Haible  <bruno@clisp.org>
8527
8528         stdint: Improve support for Android.
8529         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8530         Reported by Simon Josefsson <simon@josefsson.org>.
8531
8532 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8533
8534         doc: omit trailing empty lines from INSTALL etc.
8535         * doc/Makefile (INSTALL): Omit trailing empty lines.
8536         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8537         omit trailing empty lines.  This simplifies the build procedure.
8538
8539 2012-01-23  Jim Meyering  <meyering@redhat.com>
8540
8541         tests: avoid spurious warnings about gl_sockets_startup
8542         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8543         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8544         reporting a "statement with no effect".
8545         * tests/test-accept.c (main): Mark as "(void)".
8546         * tests/test-accept4.c (main): Likewise.
8547         * tests/test-bind.c (main): Likewise.
8548         * tests/test-connect.c (main): Likewise.
8549         * tests/test-getpeername.c (main): Likewise.
8550         * tests/test-getsockname.c (main): Likewise.
8551         * tests/test-getsockopt.c (main): Likewise.
8552         * tests/test-listen.c (main): Likewise.
8553         * tests/test-recv.c (main): Likewise.
8554         * tests/test-recvfrom.c (main): Likewise.
8555         * tests/test-send.c (main): Likewise.
8556         * tests/test-sendto.c (main): Likewise.
8557         * tests/test-setsockopt.c (main): Likewise.
8558         * tests/test-shutdown.c (main): Likewise.
8559
8560 2012-01-21  Bruno Haible  <bruno@clisp.org>
8561
8562         locale-fr.m4: Fix for Android.
8563         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8564         failure of the test program on Bionic libc.
8565
8566 2012-01-21  Jim Meyering  <meyering@redhat.com>
8567
8568         bootstrap: fail when bootstrap_post_import_hook fails
8569         Otherwise, it's far too easy to miss diagnostics emitted
8570         between gnulib-tool's output and that of running configure.
8571         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8572
8573 2012-01-17  Jim Meyering  <meyering@redhat.com>
8574
8575         maint: enable sc_trailing_blank
8576         * build-aux/pmccabe.css: Remove trailing blanks.
8577         * doc/acl-cygwin.txt: Likewise.
8578         * doc/gnu-oids.texi: Likewise
8579         * cfg.mk: Enable sc_trailing_blank.
8580         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8581
8582 2012-01-17  Jim Meyering  <meyering@redhat.com>
8583
8584         maint: enable sc_prohibit_openat_without_use
8585         * cfg.mk: Enable sc_prohibit_openat_without_use.
8586         Exempt lib/selinux-at.c.
8587
8588 2012-01-17  Jim Meyering  <meyering@redhat.com>
8589
8590         maint: enable sc_prohibit_cloexec_without_use
8591         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8592         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8593
8594 2012-01-17  Jim Meyering  <meyering@redhat.com>
8595
8596         maint: enable sc_prohibit_intprops_without_use
8597         * cfg.mk: Enable sc_prohibit_intprops_without_use
8598         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8599
8600 2012-01-17  Jim Meyering  <meyering@redhat.com>
8601
8602         maint: enable sc_prohibit_hash_pjw_without_use
8603         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8604         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8605         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8606         following " (".
8607
8608 2012-01-17  Jim Meyering  <meyering@redhat.com>
8609
8610         maint: enable double-word-prohibiting rule
8611         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8612         Exempt three files.
8613
8614 2012-01-17  Jim Meyering  <meyering@redhat.com>
8615
8616         maint: remove empty lines at EOF, but excluding modules/*
8617         Apply syntax rules at home as well as abroad.  Most changes
8618         were induced by running this:
8619           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8620             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8621             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8622         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8623         Exempt modules/* and two binary files.
8624         Also exempt doc/INSTALL*, per request from Bruno Haible.
8625         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8626         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8627         * doc/Copyright/request-assign.future: Likewise.
8628         * doc/Copyright/request-disclaim.changes: Likewise.
8629         * doc/INSTALL: Likewise.
8630         * doc/INSTALL.ISO: Likewise.
8631         * doc/INSTALL.UTF-8: Likewise.
8632         * doc/acl-cygwin.txt: Likewise.
8633         * doc/acl-resources.txt: Likewise.
8634         * doc/fdl-1.2.texi: Likewise.
8635         * doc/fdl-1.3.texi: Likewise.
8636         * doc/fdl.texi: Likewise.
8637         * lib/argp-pin.c: Likewise.
8638         * lib/round.c: Likewise.
8639         * lib/unicase/u16-totitle.c: Likewise.
8640         * lib/unictype/block_test.c: Likewise.
8641         * lib/uninorm/canonical-decomposition.c: Likewise.
8642         * m4/README: Likewise.
8643         * m4/relocatable-lib.m4: Likewise.
8644         * tests/test-isnand-nolibm.c: Likewise.
8645         * tests/test-isnand.c: Likewise.
8646         * tests/uninorm/NormalizationTest.txt: Likewise.
8647
8648 2012-01-17  Jim Meyering  <meyering@redhat.com>
8649
8650         maint: add framework to run syntax-check rules against gnulib sources
8651         * cfg.mk: New file, to disable all currently-failing tests.
8652         We'll enable them one by one, as they are made to pass.
8653         * Makefile (sc_maint): New rule.
8654
8655 2012-01-21  Bruno Haible  <bruno@clisp.org>
8656
8657         stdint: Add support for Android.
8658         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8659         include the system's <stdint.h>.
8660         Reported by Simon Josefsson <simon@josefsson.org>.
8661
8662 2012-01-19  Jim Meyering  <meyering@redhat.com>
8663
8664         bootstrap: add bootstrap_post_import_hook
8665         Bison does still need something like the gnulib_mk_hook whose
8666         invocation I had to remove along with slurp in commit 767ccd40.
8667         Technically, we could get along without it, but doing so would
8668         have required living with a warning and a mandatory post-bootstrap
8669         automake rerun.
8670         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8671         (bootstrap_post_import_hook): New function.
8672         Invoke it after gnulib-tool --import and before autoreconf.
8673
8674 2012-01-18  Jim Meyering  <meyering@redhat.com>
8675
8676         gitlog-to-changelog: don't use "no_"-prefixed variable name
8677         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8678         to enable both --cluster and --no-cluster.  Change variable name,
8679         s/\$no_cluster/$cluster/, and reverse usage to match.
8680
8681         gitlog-to-changelog: use "||", not "or" in expressions
8682         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8683         expressions.
8684
8685 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8686
8687         gitlog-to-changelog: new option --no-cluster
8688         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8689         clustering of adjacent commit messages.
8690
8691 2012-01-17  Jim Meyering  <meyering@redhat.com>
8692
8693         maint: spell file systems with two words, not one
8694         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8695         two words, not one.
8696
8697 2012-01-16  Jim Meyering  <meyering@redhat.com>
8698
8699         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8700         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8701
8702 2012-01-16  Eric Blake  <eblake@redhat.com>
8703
8704         bootstrap: cater to autoconf 2.59
8705         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8706         is not available.
8707
8708         bootstrap: properly check for libtool
8709         * build-aux/bootstrap (libtoolize): Also run libtool when older
8710         usage is detected.
8711
8712 2012-01-15  Bruno Haible  <bruno@clisp.org>
8713
8714         Improve support for MSVC 9.
8715         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8716         clashes on MSVC.
8717         * lib/fcntl.in.h: Likewise.
8718         * lib/stdlib.in.h: Likewise.
8719         * lib/sys_stat.in.h: Likewise.
8720
8721 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8722
8723         gnupload: we hold the master copy of this script now
8724         For motivation and more information, see:
8725         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8726         * build-aux/gnupload: Make it clear in the heading comments that the
8727         master copy of this file is maintained by gnulib.  Since we are at
8728         it, bump its copyright year and ...
8729         ($scriptversion): ... the date in its version.
8730         ($usage): Patches and bug reports should be sent to the gnulib list,
8731         not the automake one.
8732         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8733         anymore.
8734
8735 2012-01-15  Bruno Haible  <bruno@clisp.org>
8736
8737         Fix module 'random'.
8738         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8739         initstate, setstate are declared.
8740
8741 2012-01-14  Bruno Haible  <bruno@clisp.org>
8742
8743         Tests for module 'random'.
8744         * modules/random-tests: New file.
8745         * tests/test-random.c: New file, based on tests/test-random_r.c.
8746
8747         New module 'random'.
8748         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8749         declarations.
8750         * lib/random.c: New file, based on glibc/stdlib/random.c.
8751         * m4/random.m4: New file.
8752         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8753         HAVE_RANDOM.
8754         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8755         * modules/random: New file.
8756         * config/srclist.txt: Add an entry for random.c.
8757         * doc/posix-functions/random.texi: Mention the 'random' module.
8758         * doc/posix-functions/initstate.texi: Likewise.
8759         * doc/posix-functions/setstate.texi: Likewise.
8760         * doc/posix-functions/srandom.texi: Likewise.
8761
8762 2012-01-12  Bruno Haible  <bruno@clisp.org>
8763
8764         random_r: Use common idioms.
8765         * lib/random_r.c: Include <stdlib.h> first.
8766
8767         random_r: Override incompatible API on AIX, OSF/1.
8768         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8769         Override the system function if REPLACE_RANDOM_R is 1.
8770         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8771         and OSF/1, set REPLACE_RANDOM_R.
8772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8773         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8774         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8775         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8776         * doc/glibc-functions/random_r.texi: Likewise.
8777         * doc/glibc-functions/setstate_r.texi: Likewise.
8778
8779         random_r: Support for MSVC 9.
8780         * lib/random_r.c: Include stdint.h, not inttypes.h.
8781
8782 2012-01-12  Eric Blake  <eblake@redhat.com>
8783
8784         inet_ntop: guard extra work by IF_LINT
8785         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8786         better code generation when not checking for warnings.
8787         Suggested by Paul Eggert and Jim Meyering.
8788
8789         strptime: fix regression on mingw
8790         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8791         Fix regression.  Reported by Bruno Haible.
8792
8793 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8794             Bruno Haible  <bruno@clisp.org>
8795
8796         copy-file: add error-code-returning variant.
8797         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8798         (qcopy_file_preserving): New declaration.
8799         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8800         copy_file_preserving. Change return type to 'int'. Don't emit an error
8801         message here.
8802         (copy_file_preserving): New function.
8803         * tests/test-copy-file.c: Include <stdlib.h>.
8804         (main): Test qcopy_file_preserving if the environment variable
8805         NO_STDERR_OUTPUT is set.
8806         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8807         with NO_STDERR_OUTPUT
8808         * tests/test-copy-file-2.sh: Likewise.
8809
8810 2012-01-10  Bruno Haible  <bruno@clisp.org>
8811
8812         copy-file: Use 'quote' module consistently.
8813         * lib/copy-file.c (copy_file_preserving): Use quote().
8814
8815         copy-file: Refactor.
8816         * lib/copy-file.c: Include quote.h.
8817         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8818         message here.
8819         * modules/copy-file (Depends-on): Add quote.
8820
8821         acl: Export qcopy_acl.
8822         * lib/acl.h (qcopy_acl): New declaration.
8823         * lib/copy-acl.c (qcopy_acl): Make non-static.
8824
8825         acl: Rename a local variable.
8826         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8827
8828         acl: Align return values of copy_acl and qcopy_acl.
8829         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8830         maybe < -1.
8831
8832 2012-01-11  Eric Blake  <eblake@redhat.com>
8833
8834         strptime: silence gcc warnings
8835         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8836         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8837         Reported by Daniel P. Berrange.
8838
8839         inet_ntop: silence gcc warning
8840         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8841         Reported by Daniel P. Berrange.
8842
8843 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8844
8845         getloadavg test: skip the test on GNU/Linux without /proc mounted
8846         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8847         file.  When /proc is not mounted, it always fails with ENOENT.
8848         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8849         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8850
8851 2012-01-10  Bruno Haible  <bruno@clisp.org>
8852
8853         regex: Avoid link error on MSVC 9.
8854         * modules/regex (Depends-on): Add wctype.
8855
8856 2012-01-10  Bruno Haible  <bruno@clisp.org>
8857
8858         doc: Mention --with-tests option.
8859         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8860         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8861         --with-tests.
8862         Reported by Reuben Thomas.
8863
8864 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8865
8866         users.txt: order package names lexicographically.
8867         * users.txt: Order package names lexicographically.
8868
8869 2012-01-10  Jim Meyering  <meyering@redhat.com>
8870
8871         maint.mk: fix description in comment
8872         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8873
8874         ignore-value: remove deprecated ignore_ptr function
8875         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8876         * NEWS: Note this.
8877
8878 2012-01-09  Jim Meyering  <meyering@redhat.com>
8879
8880         test-init.sh: avoid a subshell
8881         * tests/test-init.sh: Remove protective subshell.
8882         Suggested by Bernhard Voelker.  While a subshell is normally
8883         required to protect against older shells (Solaris, FreeBSD) that
8884         warn about a missing program before performing redirection, the
8885         shell-selection tests performed by init.sh probably exclude any
8886         offending shell.
8887
8888 2012-01-08  Bruno Haible  <bruno@clisp.org>
8889
8890         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8891         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8892         variable.
8893
8894 2012-01-08  Bruno Haible  <bruno@clisp.org>
8895
8896         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8897         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8898         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8899         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8900         macro.
8901         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8902         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8903         * lib/spawn_faction_addopen.c: Add workaround implementation if
8904         HAVE_WORKING_POSIX_SPAWN.
8905         * modules/spawn (Makefile): Substitute
8906         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8907         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8908         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8909         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8910         (Depends-on): Update conditions.
8911         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8912         the Solaris 11 bug.
8913
8914 2012-01-08  Bruno Haible  <bruno@clisp.org>
8915
8916         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8917         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8918         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8919         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8920         macro.
8921         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8922         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8923         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8924         HAVE_WORKING_POSIX_SPAWN.
8925         * modules/spawn (Makefile): Substitute
8926         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8927         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8928         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8929         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8930         (Depends-on): Update conditions.
8931         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8932         the Solaris 11 bug.
8933
8934 2012-01-08  Bruno Haible  <bruno@clisp.org>
8935
8936         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8937         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8938         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8939         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8940         HAVE_WORKING_POSIX_SPAWN.
8941         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8942         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8943         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8944         * lib/spawn_faction_addclose.c: Add workaround implementation if
8945         HAVE_WORKING_POSIX_SPAWN.
8946         * modules/spawn (Makefile): Substitute
8947         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8948         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8949         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8950         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8951         (Depends-on): Update conditions.
8952         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8953         the Solaris 11 bug.
8954
8955 2012-01-08  Bruno Haible  <bruno@clisp.org>
8956
8957         doc: Update for Solaris 11 2011-11.
8958         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8959         * m4/printf.m4: Update comments.
8960
8961 2012-01-08  Bruno Haible  <bruno@clisp.org>
8962
8963         mktime: Avoid compilation error on Solaris 11.
8964         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8965
8966 2012-01-08  Bruno Haible  <bruno@clisp.org>
8967
8968         doc: Small fix.
8969         * doc/posix-headers/nl_types.texi: Correct platforms list.
8970
8971 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8972
8973         Add lgpl-3.0 module.
8974         * MODULES.html.sh (Support for building documentation): Add
8975         lgpl-3.0.
8976         * modules/lgpl-3.0: New file.
8977
8978 2012-01-08  Jim Meyering  <meyering@redhat.com>
8979
8980         select.c: indent with spaces, not TABs
8981         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8982
8983 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8984
8985         quotearg: do not use grave accent for left quote
8986         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8987         locale_quoting_style.
8988         (quotearg_buffer_restyled): Fix example.
8989         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8990
8991 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8992
8993         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8994         Most programs do not have translation catalogs for English and much
8995         less separate catalogs for British and American English.  Drop the
8996         suggestion to translators about these two, and provide it
8997         automatically for Unicode locales.  Like most programs, even those
8998         using American English, we use single quotation marks.  This conflicts
8999         with the American typographic convention, but works better when you
9000         cite the entire error message within double quotes.  It also tries not
9001         to clash with established practice and with what non-gnulib programs
9002         will usually do.
9003         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9004         using an UTF-8 or GB-18030 locale.  The list of other locales with
9005         quotes was provided by Bruno Haible.
9006         (quotearg_buffer_restyled): Adjust instructions to translators.
9007         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9008         text, since this would be wrong when using Unicode.
9009         * modules/quotearg: Depend on c-strcaseeq.
9010
9011 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9012
9013         quotearg: fix Wikipedia link
9014         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9015
9016 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9017
9018         Fix for mingw with MSVC9.
9019         * m4/ld-version-script.m4: Check that compiler rejects version
9020         scripts with syntax errors.  Reported by Bruno Haible
9021         <bruno@clisp.org>.
9022
9023 2012-01-06  Bruno Haible  <bruno@clisp.org>
9024
9025         Talk about "native Windows API", not "Woe32".
9026         * lib/accept4.c: Update comments to mention native Windows.
9027         * lib/execute.c: Likewise.
9028         * lib/fatal-signal.c: Likewise.
9029         * lib/localcharset.c: Likewise.
9030         * lib/nanosleep.c: Likewise.
9031         * lib/nl_langinfo.c: Likewise.
9032         * lib/pclose.c: Likewise.
9033         * lib/pipe-filter-gi.c: Likewise.
9034         * lib/pipe-filter-ii.c: Likewise.
9035         * lib/pipe.c: Likewise.
9036         * lib/pipe2.c: Likewise.
9037         * lib/popen.c: Likewise.
9038         * lib/progreloc.c: Likewise.
9039         * lib/relocatable.c: Likewise.
9040         * lib/sigaction.c: Likewise.
9041         * lib/sigprocmask.c: Likewise.
9042         * lib/spawn-pipe.h: Likewise.
9043         * lib/spawn-pipe.c: Likewise.
9044         * lib/spawni.c: Likewise.
9045         * lib/stat-time.h: Likewise.
9046         * lib/w32spawn.h: Likewise.
9047         * tests/test-isatty.c: Likewise.
9048         * lib/config.charset: More comments.
9049         * doc/gnulib-intro.texi: Mention native Windows.
9050         * doc/posix-functions/_Exit_C99.texi: Likewise.
9051         * doc/posix-headers/fcntl.texi: Likewise.
9052
9053 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9054
9055         argp: Avoid crash if translator uses % characters in a translation.
9056         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9057         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9058
9059 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9060
9061         doc: C11 and C++11 are now official
9062         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9063         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9064         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9065         * modules/stdalign:
9066         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9067
9068 2012-01-06  Bruno Haible  <bruno@clisp.org>
9069
9070         uc-is-grapheme-break tests: Tweak.
9071         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9072         message.
9073
9074 2012-01-06  Bruno Haible  <bruno@clisp.org>
9075
9076         test-init.sh: correct the test for diff -u
9077         * tests/test-init.sh: Also redirect stdout to /dev/null.
9078
9079 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9080
9081         Use ', not `, for quoting output.
9082         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9083         (print_changelog_deltas, get_tool_versions, main program):
9084         * build-aux/git-version-gen:
9085         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9086         * build-aux/move-if-change (help):
9087         * build-aux/useless-if-before-free (usage, main program):
9088         * check-module (parse_module_file, usage)
9089         (find_included_lib_files, check_module):
9090         * lib/argmatch.c (main) [TEST]:
9091         * lib/argp-help.c (_help):
9092         * lib/getopt1.c (main) [TEST]:
9093         * lib/git-merge-changelog.c (usage):
9094         * lib/xstrtol-error.c (xstrtol_error):
9095         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9096         * m4/argz.m4 (gl_FUNC_ARGZ):
9097         * m4/bison.m4 (gl_BISON):
9098         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9099         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9100         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9101         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9102         * m4/gc-random.m4 (gl_GC_RANDOM):
9103         * m4/intl.m4 (gt_CHECK_DECL):
9104         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9105         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9106         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9107         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9108         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9109         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9110         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9111         * tests/test-dirname.c (main):
9112         * tests/test-getpass.c (main):
9113         * tests/test-iconvme.c (main):
9114         * tests/test-parse-datetime.c (LOG):
9115         * tests/test-xstrtoimax.sh:
9116         * tests/test-xstrtol.sh:
9117         * tests/test-xstrtoll.sh:
9118         * tests/test-xstrtoumax.sh:
9119         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9120         * top/GNUmakefile (abort-due-to-no-makefile):
9121         Quote 'like this', not `like this', as per the recent change to
9122         the GNU coding standards.
9123
9124 2012-01-05  Bruno Haible  <bruno@clisp.org>
9125
9126         strtoimax: Don't force a replacement on systems where intmax_t is int.
9127         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9128         'intmax_t' is not larger than 'int'.
9129         Reported by Pádraig Brady <P@draigBrady.com>.
9130
9131 2012-01-05  Bruno Haible  <bruno@clisp.org>
9132
9133         doc: Mention NetBSD bugs.
9134         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9135         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9136
9137 2012-01-05  Bruno Haible  <bruno@clisp.org>
9138
9139         strtoumax tests: Enhance tests.
9140         * tests/test-strtoumax.c (main): Add tests for large values.
9141
9142 2012-01-05  Bruno Haible  <bruno@clisp.org>
9143
9144         strtoimax: Work around AIX 5.1 bug.
9145         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9146         definition.
9147         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9148         Set HAVE_STRTOIMAX.
9149         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9150         REPLACE_STRTOIMAX.
9151         * modules/inttypes-incomplete (Makefile.am): Substitute
9152         REPLACE_STRTOIMAX.
9153         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9154         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9155         (Depends-on): Update conditions.
9156         * tests/test-strtoimax.c (main): Add tests for large values.
9157         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9158
9159 2012-01-05  Bruno Haible  <bruno@clisp.org>
9160
9161         inttypes: Modernize.
9162         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9163         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9164         (Makefile.am): Update inttypes.h rule.
9165
9166 2012-01-05  Jim Meyering  <meyering@redhat.com>
9167
9168         init.sh: don't waste a subshell just to redirect stderr
9169         * tests/init.sh: In testing for diff -u and diff -c, use a
9170         stderr-redirecting exec inside `...` rather than a subshell.
9171
9172         test-init.sh: avoid failure on HP-UX 11.00
9173         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9174         resolves to diff -c or cmp.  Reported by Bruno Haible.
9175
9176 2012-01-05  Bruno Haible  <bruno@clisp.org>
9177
9178         Tests for module 'strtoull'.
9179         * modules/strtoull-tests: New file.
9180         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9181
9182 2012-01-05  Bruno Haible  <bruno@clisp.org>
9183
9184         Tests for module 'strtoll'.
9185         * modules/strtoll-tests: New file.
9186         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9187
9188 2012-01-05  Bruno Haible  <bruno@clisp.org>
9189
9190         Tests for module 'strtoul'.
9191         * modules/strtoul-tests: New file.
9192         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9193
9194 2012-01-05  Bruno Haible  <bruno@clisp.org>
9195
9196         Tests for module 'strtol'.
9197         * modules/strtol-tests: New file.
9198         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9199
9200 2012-01-04  Jim Meyering  <meyering@redhat.com>
9201
9202         test-init.sh: accommodate Solaris 5.10's different diff -u output
9203         * tests/test-init.sh: Also exempt @@ lines from the comparison
9204         of diff output, since Solaris 5.10 and GNU diff formats differ.
9205         Reported by Stefano Lattarini.
9206
9207 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9208
9209         test-posixtm: don't assume signed integer wraparound
9210         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9211         after signed integer overflow.  Inspired by (though it may not
9212         fix) Bruno Haible's bug report in
9213         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9214
9215         Spell out "Windows 9x" and "Windows XP".
9216         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9217         "Windows 9x" and "WinXP" with "Windows XP".
9218
9219 2012-01-04  Jim Meyering  <meyering@redhat.com>
9220
9221         test-vc-list-files-cvs.sh: remove obsolete comment
9222         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9223         double exit.  Now that's all encapsulated via skip_ and Exit.
9224
9225 2012-01-04  Bruno Haible  <bruno@clisp.org>
9226
9227         Talk about "native Windows API", not "Win32".
9228         * lib/classpath.c: Update comments to mention native Windows.
9229         * lib/csharpexec.c: Likewise.
9230         * lib/dup2.c: Likewise.
9231         * lib/error.c: Likewise.
9232         * lib/fcntl.c: Likewise.
9233         * lib/filename.h: Likewise.
9234         * lib/findprog.c: Likewise.
9235         * lib/get-rusage-as.c: Likewise.
9236         * lib/get-rusage-data.c: Likewise.
9237         * lib/getpagesize.c: Likewise.
9238         * lib/javaexec.c: Likewise.
9239         * lib/msvc-inval.c: Likewise.
9240         * lib/msvc-nothrow.c: Likewise.
9241         * lib/nanosleep.c: Likewise.
9242         * lib/nonblocking.c: Likewise.
9243         * lib/printf-parse.c: Likewise.
9244         * lib/setlocale.c: Likewise.
9245         * lib/sigaction.c: Likewise.
9246         * lib/strerror_r.c: Likewise.
9247         * lib/tmpdir.c: Likewise.
9248         * lib/vasnprintf.c: Likewise.
9249         * lib/w32spawn.h: Likewise.
9250         * lib/waitpid.c: Likewise.
9251         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9252         * m4/locale-ar.m4: Likewise.
9253         * m4/locale-fr.m4: Likewise.
9254         * m4/locale-ja.m4: Likewise.
9255         * m4/locale-tr.m4: Likewise.
9256         * m4/locale-zh.m4: Likewise.
9257         * m4/printf.m4: Likewise.
9258         * tests/test-cloexec.c: Likewise.
9259         * tests/test-copy-acl.sh: Likewise.
9260         * tests/test-copy-file.sh: Likewise.
9261         * tests/test-file-has-acl.sh: Likewise.
9262         * tests/test-set-mode-acl.sh: Likewise.
9263         * tests/test-dup-safer.c: Likewise.
9264         * tests/test-dup2.c: Likewise.
9265         * tests/test-dup3.c: Likewise.
9266         * tests/test-fcntl.c: Likewise.
9267         * tests/test-nonblocking-pipe.h: Likewise.
9268         * tests/test-nonblocking-socket.h: Likewise.
9269         * tests/test-pipe.c: Likewise.
9270         * tests/test-pipe2.c: Likewise.
9271         * tests/test-spawn-pipe-child.c: Likewise.
9272         * doc/acl-resources.txt: Likewise.
9273         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9274         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9275         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9276         * lib/localcharset.c: Update comments to mention native Windows.
9277         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9278         * lib/localename.c: Likewise.
9279         * lib/progreloc.c: Likewise.
9280         * lib/relocatable.c: Likewise.
9281         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9282         (windows_compute_revents): Renamed from win32_compute_revents.
9283         (windows_compute_revents_socket): Renamed from
9284         win32_compute_revents_socket.
9285         * lib/select.c: Update comments to mention native Windows.
9286         (windows_poll_handle): Renamed from win32_poll_handle.
9287         * m4/threadlib.m4: Update comments to mention native Windows.
9288         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9289         --enable-threads=windows instead of --enable-threads=win32. Set
9290         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9291         * lib/glthread/lock.h: Update comments to mention native Windows.
9292         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9293         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9294         USE_WIN32_THREADS.
9295         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9296         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9297         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9298         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9299         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9300         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9301         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9302         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9303         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9304         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9305         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9306         * tests/test-tls.c: Likewise.
9307         Rationale:
9308         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9309         on both 32-bit and 64-bit Windows systems.
9310         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9311         line of distinction is between "native Windows" on one side and Unix/
9312         POSIX systems on the other side. More details in
9313         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9314         Suggested by Paul Eggert.
9315
9316 2012-01-03  Bruno Haible  <bruno@clisp.org>
9317
9318         isatty: Support for MSVC 9.
9319         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9320         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9321         (_isatty_nothrow): New function.
9322         (isatty): Use it instead of _isatty.
9323         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9324         * lib/poll.c (IsConsoleHandle): Likewise.
9325         * lib/select.c (IsConsoleHandle): Likewise.
9326         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9327         (gl_PREREQ_ISATTY): New macro.
9328         * modules/isatty (Depends-on): Add msvc-inval.
9329         (configure.ac): Invoke gl_PREREQ_ISATTY.
9330
9331 2012-01-03  Jim Meyering  <meyering@redhat.com>
9332
9333         maint.mk: remove temporary transition aid from over 1.5 years ago
9334         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9335         purpose was to aid in the transition (avoiding silent malfunction)
9336         from that old name to the new _sc_search_regexp.  This shim was
9337         added by commit 219c504b.
9338
9339         init.sh: do not try to accommodate compare arguments starting with "-"
9340         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9341         compare arguments that start with "-".  Besides, we do not worry
9342         about this when invoking diff or cmp; why start now with sed?
9343         Using "--" to separate options from argument would trigger sed
9344         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9345         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9346
9347 2012-01-02  Bruno Haible  <bruno@clisp.org>
9348
9349         Enhance tests for module 'isatty'.
9350         * modules/isatty-tests (Depends-on): Add pipe-posix.
9351         * tests/test-isatty.c: Include <fcntl.h>.
9352         (DEV_NULL): New macro.
9353         (main): Test the resut of isatty() also on regular files, pipes, and
9354         /dev/null.
9355
9356         New module 'isatty'.
9357         * lib/unistd.in.h (isatty): New declaration.
9358         * lib/isatty.c: New file, based on an idea of
9359         Bastien Roucariès <roucaries.bastien@gmail.com>.
9360         * m4/isatty.m4: New file.
9361         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9362         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9363         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9364         REPLACE_ISATTY.
9365         * modules/isatty: New file.
9366         * doc/posix-functions/isatty.texi: Mention the new module.
9367         Suggested by Paolo Bonzini.
9368
9369 2012-01-02  Bruno Haible  <bruno@clisp.org>
9370
9371         canonicalize: Tweak 2011-12-29 commit.
9372         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9373         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9374
9375 2012-01-02  Jim Meyering  <meyering@redhat.com>
9376
9377         gitlog-to-changelog: describe input syntax in --help output
9378         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9379
9380         gitlog-to-changelog: fix typo in --help: show backslash before email @
9381         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9382         in sources, but not in actual output.
9383
9384 2011-12-30  Jim Meyering  <meyering@redhat.com>
9385
9386         gitlog-to-changelog: don't malfunction when name contains %-directive
9387         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9388         in a name string cause trouble.  E.g., with a user name of "%s",
9389         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9390
9391 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9392
9393         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9394         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9395         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9396         the "  (tiny change)" notation that is appended to the standard
9397         ChangeLog "date  name  email" header line.
9398
9399 2012-01-01  Jim Meyering  <meyering@redhat.com>
9400
9401         test-framework-sh: init.sh: fix "make dist" failure
9402         When using gnulib-tool's --with-tests option and any module that
9403         depends on test-framework-sh, "make dist" would fail due to the
9404         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9405         in the gltests directory, and not in the gllib/ directory.
9406         One way to work around that is to move the EXTRA_DIST += init.sh
9407         from the primary module to the -tests one:
9408         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9409         * modules/test-framework-sh (Makefile.am): ...not here.
9410         Reported by Tom G. Christensen in
9411         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9412
9413         version-etc: update copyright year reported by --version
9414         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9415
9416 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9417
9418         canonicalize: only stat() if required
9419         * lib/canonicalize.c (canonicalize_filename_mode):
9420         Avoid calling l?stat() when both CAN_MISSING,
9421         and CAN_NOLINKS are set, as we neither need
9422         to resolve symlinks or test component existence.
9423
9424 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9425
9426         doc: cover st_ino issues once; add OpenVMS etc.
9427         * doc/posix-functions/stat.texi (stat):
9428         * doc/posix-functions/lstat.texi (lstat):
9429         * doc/posix-functions/fstatat.texi (fstatat):
9430         * doc/posix-functions/fstat.texi (fstat):
9431         Move general 'struct stat' stuff to sys_stat.texi,
9432         leaving behind a pointer.
9433         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9434         Merge duplicate info about 'struct stat' problems into here.
9435         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9436         and suggest partial workarounds.
9437
9438         same-inode: port to OpenVMS
9439         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9440         three st_ino values.
9441
9442 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9443
9444         canonicalize: fix references to stat() and lstat()
9445         * lib/canonicalize.c (canonicalize_filename_mode):
9446         Ensure references always resolve to a replacement
9447         function if required (even via a macro).
9448
9449 2011-12-30  Jim Meyering  <meyering@redhat.com>
9450
9451         gitlog-to-changelog: remove a little duplication
9452         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9453         rather than twice.
9454
9455 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9456
9457         canonicalize: add support for not resolving symlinks
9458         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9459         indicate we don't want to follow symlinks.  Also
9460         provide CAN_MODE_MASK to aid setting these existing
9461         mutually exclusive values.
9462         * lib/canonicalize.c (canonicalize_filename_mode):
9463         Extract the flags from can_mode parameter, which
9464         are currently just used to select between stat()
9465         and lstat().  Also ensure that mutually exclusive
9466         values are flagged immediately as invalid.
9467         * tests/test-canonicalize.c: Verify symlinks are
9468         not followed, and that invalid flag combinations
9469         are diagnosed.
9470
9471 2011-12-25  Jim Meyering  <meyering@redhat.com>
9472
9473         gitlog-to-changelog: do not clump multi-paragraph entries
9474         Identical header lines (date,name,email+coauthors) are suppressed,
9475         thus putting all entries with those same characteristics under
9476         a single header.  However, when a log entry consists of two or
9477         more paragraphs, it may not be clear where it starts and ends.
9478         This change makes it so that such an entry is always separated
9479         from others by a header line, even when that header would
9480         otherwise be suppressed.
9481         * build-aux/gitlog-to-changelog: Implement the above.
9482         Inspired by a related request from Stefano Lattarini in
9483         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9484
9485 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9486
9487         announce-gen: fix `cmd' typo in diagnostic
9488         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9489         diagnostic: a missing '$' meant that the command was not output.
9490
9491 2011-12-23  Jim Meyering  <meyering@redhat.com>
9492
9493         test-framework-sh: distribute init.sh
9494         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9495         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9496         fail due to the lack of init.sh.
9497
9498         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9499         * modules/atexit-tests: Rather than listing tests/init.sh,
9500         now that there's a module for it, simply depend on that new module.
9501         * modules/closein-tests: Likewise.
9502         * modules/exclude-tests: Likewise.
9503         * modules/getcwd-tests: Likewise.
9504         * modules/perror-tests: Likewise.
9505         * modules/pread-tests: Likewise.
9506         * modules/pwrite-tests: Likewise.
9507         * modules/vc-list-files-tests: Likewise.
9508         * modules/verify-tests: Likewise.
9509         * modules/xalloc-die-tests: Likewise.
9510         * modules/xstrtoimax-tests: Likewise.
9511         * modules/xstrtol-tests: Likewise.
9512         * modules/xstrtoll-tests: Likewise.
9513         * modules/xstrtoumax-tests: Likewise.
9514         * modules/yesno-tests: Likewise.
9515
9516 2011-12-22  Jim Meyering  <meyering@redhat.com>
9517
9518         test-framework-sh: add minimal tests of init.sh's compare function
9519         * modules/test-framework-sh-tests: New file.
9520         * tests/test-init.sh: New file.
9521
9522         test-framework-sh: new module
9523         * modules/test-framework-sh: New file.
9524         * MODULES.html.sh (Support for maintaining and releasing projects):
9525         List it.
9526
9527         init.sh: do not emit simulated diff output to stderr
9528         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9529
9530 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9531
9532         .gitignore: ignore gnulib.dvi and regex.info
9533         * doc/.gitignore:add gnulib.dvi and regex.info
9534
9535 2011-12-22  Jim Meyering  <meyering@redhat.com>
9536
9537         init.sh: correct previous change
9538         * tests/init.sh (compare): My previous change was wrong.
9539         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9540
9541         init.sh: avoid unwarranted test failure when using "set -e"
9542         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9543         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9544         a use like "compare exp out" would get evoke an unconditional failure.
9545
9546 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9547
9548         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9549         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9550         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9551         autoreconf that did not.
9552         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9553         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9554
9555 2011-12-17  Jim Meyering  <meyering@redhat.com>
9556
9557         bootstrap: remove some now-unneeded code
9558         This script arose back when gnulib-tool was young.
9559         Since then, it has seen improvements that render much of this
9560         script unnecessary.  In particular, it can now make symlinks
9561         to the files it uses.  Also, I no longer see as much value in
9562         marking files as read-only via comments.
9563         If you relied on the symlink-creation feature of the preceding
9564         version of this script, you can get most of that functionality
9565         by adding the --symlink option to the definition of
9566         gnulib_tool_option_extras in your bootstrap.conf file.
9567         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9568         Run autopoint and libtoolize *before* gnulib-tool.
9569         After it, run an abbreviated autoreconf, rather than a loop around
9570         all tools.
9571         (slirp, bt_mark_as_generated): Remove functions.
9572
9573 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9574
9575         ftoastr: fix typo
9576         * lib/ftoastr.h: Fix misspelling in comment.
9577
9578 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9579
9580         * top/README-release: fix punctuation.
9581
9582 2011-12-17  Jim Meyering  <meyering@redhat.com>
9583
9584         bootstrap: correct the recent buildreq change
9585         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9586         had no effect.
9587         * build-aux/bootstrap (buildreq): Bracket each search term with
9588         "*...*", so that the shell "case" statement works as intended.
9589         Add comments.
9590
9591 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9592
9593         build: let bootstrap resort to wget when downloading .po files
9594         * build-aux/bootstrap (download_po_files): Fallback to wget when
9595         downloading the .po files via rsync fails.  This is necessary to
9596         bootstrap from behind a strict firewall.
9597
9598 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9599
9600         stdint: don't assume C++11 when compiling with g++
9601         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9603         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9604         work also in C++ before C++11, as that improperly inhibits
9605         generating a substitute stdint.h for that case.
9606
9607 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9608
9609         alloca: protect comment from gnulib-tool
9610         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9611         that gnulib-tool doesn't think it's a license, and munge it to
9612         say "GCC version 3".
9613
9614 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9615
9616         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9617         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9618         $(abs_top_builddir) instead of $(top_builddir).
9619
9620 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9621
9622         strftime-tests: also test nanoseconds
9623         * tests/test-strftime.c (T): Add a test of %N.
9624
9625 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9626
9627         inttypes, stdint: add C++11 support
9628         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9629         when including inttypes.h and stdint.h.  Support this change to
9630         the standard.
9631         * doc/posix-headers/inttypes.texi (inttypes.h):
9632         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9633         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9634         Define if not defined already, for the benefit of pre-C++11 hosts.
9635         Define the standard format macros (e.g., PRId8) always.
9636         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9637         Likewise, if __cpluspus.  Define the standard constant and limit
9638         macros (e.g., INT8_C, INT8_MAX) always.
9639         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9640         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9641         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9642         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9643         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9644         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9645         Likewise.
9646
9647 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9648
9649         nonblocking tests: Fix test failure on Linux/PPC.
9650         Suggested by Prerna Saxena in
9651         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9652         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9653         Set to 1100000.
9654
9655 2011-12-12  Jim Meyering  <meyering@redhat.com>
9656
9657         argmatch: don't hard-code `' when listing valid option arguments
9658         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9659         use the quote function to add quotes.  Use fputs rather than
9660         fprintf for the format string with no format directive.
9661
9662 2011-12-07  Eric Blake  <eblake@redhat.com>
9663
9664         bootstrap: detect tools required by gnulib-tool
9665         * build-aux/bootstrap (buildreq): Provide minimum implicit
9666         dependencies.
9667         * DEPENDENCIES: Mention patch as a prereq.
9668
9669 2011-12-04  Bruno Haible  <bruno@clisp.org>
9670
9671         sethostname: Port to Windows platforms.
9672         * lib/sethostname.c: Provide an alternate implementation for Windows
9673         platforms.
9674         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9675         (main): Skip the test if sethostname() fails with EPERM. On Windows
9676         platforms, don't check the result of gethostname().
9677
9678 2011-12-04  Bruno Haible  <bruno@clisp.org>
9679             Jim Meyering  <meyering@redhat.com>
9680
9681         tests: Avoid spurious error message on platforms without mktemp program.
9682         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9683
9684 2011-12-04  Bruno Haible  <bruno@clisp.org>
9685
9686         sethostname: Fix documentation.
9687         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9688         "not fixed" section.
9689
9690 2011-12-03  Bruno Haible  <bruno@clisp.org>
9691
9692         gnulib-tool: Verify that the License field is present and non-empty.
9693         * gnulib-tool (func_get_license_raw): New function, extracted from
9694         func_get_license.
9695         (func_get_license): Use it. Warn if the module is not a test module and
9696         has no license.
9697         Suggested by Jim Meyering.
9698
9699 2011-12-03  Bruno Haible  <bruno@clisp.org>
9700
9701         sethostname tests: Fix link error on mingw.
9702         * tests/test-sethostname1.c: New file, extracted from
9703         tests/test-sethostname.c.
9704         * tests/test-sethostname2.c: New file, extracted from
9705         tests/test-sethostname.c.
9706         * tests/test-sethostname.c: Remove file.
9707         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9708         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9709         (Depends-on): Add gethostname.
9710         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9711         Link the latter with $(GETHOSTNAME_LIB).
9712
9713         sethostname tests: Fix compilation error on mingw.
9714         * tests/test-sethostname.c: Don't include <sys/types.h>.
9715         (geteuid): Use a dummy value without uid_t.
9716         * modules/sethostname-tests (Depends-on): Remove sys_types.
9717
9718         sethostname tests: Avoid a gcc warning.
9719         * tests/test-sethostname.c (main): Remove an unused variable.
9720
9721         Tweak last commit.
9722         * modules/sethostname-tests (Files): Sort by decreasing importance.
9723         (configure.ac): Check for geteuid.
9724         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9725         the test when there's nothing to test. Drop an unnecessary cast.
9726         Improve an error message. Verify that the final sethostname() call
9727         succeeds.
9728
9729 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9730
9731         Add a test suite for the sethostname module.
9732         * modules/sethostname-tests: New file.  A test program
9733         for the sethostname module.
9734         * tests/test-sethostname.c: Likewise.
9735
9736 2011-12-03  Bruno Haible  <bruno@clisp.org>
9737
9738         Tweak last commit.
9739         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9740         Fix preprocessor directives indentation. Fix typos.
9741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9742         * modules/unistd (Makefile): Likewise.
9743
9744 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9745
9746         Integrate the sethostname module into unistd.
9747         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9748         into the unistd.h header.
9749         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9750         preprocessor directives.
9751         * modules/unistd: Setup the Makefile substitutions of the
9752         SETHOSTNAME preprocessor directives.
9753
9754 2011-12-03  Bruno Haible  <bruno@clisp.org>
9755
9756         Tweak last commit.
9757         * lib/sethostname.c: Don't include <string.h>.
9758         (sethostname): No need to copy the argument string to the stack. Don't
9759         call clearerr. Preserve errno when fprintf failed.
9760         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9761         Don't invoke AC_REPLACE_FUNCS.
9762         * modules/sethostname (Link): Remove empty section.
9763         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9764         failure problem.
9765
9766 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9767
9768         New module 'sethostname'.
9769         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9770         for systems that lack it.
9771         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9772         sethostname declaration and function.
9773         * modules/sethostname: New file.  Define the sethostname module.
9774
9775 2011-12-03  Bruno Haible  <bruno@clisp.org>
9776
9777         Tweak last commit.
9778         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9779
9780 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9781
9782         Split the HOST_NAME_MAX detection into a separate m4 macro.
9783         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9784         macro so it can be used by the pending sethostname module.
9785
9786 2011-12-03  Bruno Haible  <bruno@clisp.org>
9787
9788         Fix module descriptions syntax.
9789         * modules/argv-iter (License): Fix syntax.
9790         * modules/di-set (License): Likewise.
9791         * modules/ino-map (License): Likewise.
9792         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9793
9794 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9795
9796         stdalign: port to Clang 3.0
9797         Problem reported by Simon Josefsson in
9798         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9799         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9800         which has <stdalign.h> but which does not define alignof.
9801         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9802
9803 2011-12-01  Eric Blake  <eblake@redhat.com>
9804
9805         mktempd: silence dd usage
9806         * build-aux/mktempd (rand_bytes): Silence dd.
9807
9808 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9809
9810         manywarnings: Don't mention gcc version in docstring.
9811         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9812         Jim Meyering <meyering@redhat.com>.
9813
9814 2011-11-30  Jim Meyering  <meyering@redhat.com>
9815
9816         hash: mark a few floating point constants with "f" suffix
9817         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9818         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9819         floating point constants with "f", since they're destined to be
9820         saved/used as "float"s.
9821
9822 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9823
9824         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9825         * tests/test-float.c (test_long_double): Correct and re-enable the
9826         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9827
9828 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9829
9830         Avoid subtracting two pointers that don't point into the same block.
9831         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9832         only pointers into the same memory block are subtracted. We cannot
9833         assume that sizeof (ptrdiff_t) == sizeof (void *).
9834
9835 2011-11-29  Eric Blake  <eblake@redhat.com>
9836
9837         maint.mk: add syntax check for use of compare from init.sh
9838         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9839         moved here from coreutils.
9840
9841         manywarnings: drop -Wunsuffixed-float-constants
9842         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9843         '1.0D', which is the only way to silence this warning for 'double'.
9844
9845 2011-11-29  Jim Meyering  <meyering@redhat.com>
9846
9847         hash: mark compute_bucket_size with the pure attribute
9848         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9849
9850         quotearg, propername: correct pragma guard expression
9851         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9852         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9853
9854 2011-11-28  Jim Meyering  <meyering@redhat.com>
9855
9856         propername: do not mark proper_name with the const attribute
9857         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9858         since it examines data pointed to by its parameter.
9859         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9860         the suggestion from -Wsuggest-attribute=const.
9861
9862         propername: mark one more function as const
9863         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9864
9865 2011-11-27  Jim Meyering  <meyering@redhat.com>
9866
9867         mark functions with const and pure attributes
9868
9869         Mark functions per suggestions from gcc-4.6 when using these options:
9870         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9871         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9872         Follow these guidelines: when possible, apply the attribute to
9873         an extern declaration, not to its definition.  Apply it to the
9874         definition only when the definition is static.
9875         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9876         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9877         * lib/base64.h (isbase64): Likewise.
9878         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9879         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9880         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9881         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9882         (c_tolower, c_toupper): Likewise.
9883         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9884         * lib/chdir-long.c (find_non_slash): Likewise.
9885         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9886         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9887         * lib/file-type.h (file_type): Likewise.
9888         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9889         * lib/filevercmp.c (verrevcmp): Likewise.
9890         * lib/freadahead.h (freadahead): Likewise.
9891         * lib/fts.c (fts_maxarglen): Likewise.
9892         * lib/hash-pjw.h (hash_pjw): Likewise.
9893         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9894         * lib/hash.c (is_prime, next_prime): Likewise.
9895         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9896         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9897         (hash_table_ok, hash_get_first, hash_string): Likewise.
9898         (compute_bucket_size): Likewise.
9899         * lib/i-ring.h (i_ring_empty): Likewise.
9900         * lib/isnan.c (isnanl): Likewise.
9901         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9902         * lib/memcasecmp.h (memcasecmp): Likewise.
9903         * lib/memchr2.h (memchr2): Likewise.
9904         * lib/memcmp2.h (memcmp2): Likewise.
9905         * lib/parse-datetime.y (lookup_zone): Likewise.
9906         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9907         [!WINDOWS_SOCKETS]: Likewise.
9908         * lib/strnlen1.h (strnlen1): Likewise.
9909         * lib/uniwidth.in.h (uc_width): Likewise.
9910         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9911         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9912         (quoting_options_from_style): Add a comment.
9913         * lib/propername.h (proper_name): Add a comment.
9914
9915 2011-11-27  Bruno Haible  <bruno@clisp.org>
9916
9917         Remove unused macros from !_LIBC code in glibc-borrowed files.
9918         * lib/fnmatch.c (STRCOLL): Remove macro.
9919         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9920         * lib/glob.c (__stat, __readdir64): Remove macros.
9921         * lib/tempname.c (__open64, __xstat64): Remove macros.
9922         Suggested by Paul Eggert.
9923
9924 2011-11-27  Bruno Haible  <bruno@clisp.org>
9925
9926         getcwd: Fix link error on MSVC 9.
9927         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9928
9929 2011-11-27  Bruno Haible  <bruno@clisp.org>
9930
9931         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9932         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9933         HAVE_OPENDIR is 0.
9934         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9935         HAVE_CLOSEDIR is 0.
9936         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9937         is 0.
9938         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9939
9940 2011-11-27  Bruno Haible  <bruno@clisp.org>
9941
9942         getcwd: Fix bug from 2011-08-17.
9943         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9944         platforms that need it.
9945         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9946         code of 4 to be a failure, not a success. This ensures that
9947         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9948
9949 2011-11-27  Bruno Haible  <bruno@clisp.org>
9950
9951         binary-io tests: Avoid test failure on mingw when libtool is used.
9952         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9953         Don't verify the size of t-bin-out1.tmp here.
9954         * tests/test-binary-io.sh: Verify it here.
9955         Reported by Simon Josefsson.
9956
9957 2011-11-26  Bruno Haible  <bruno@clisp.org>
9958
9959         Fix conflict between two instantiations of module 'unistd'.
9960         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9961         ${include_guard_prefix} also in the autoconf snippet.
9962         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9964         GNULIB_UNISTD_H_GETOPT.
9965         * modules/getopt-posix (configure.ac): Set the
9966         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9967         * modules/getopt-gnu (configure.ac): Likewise.
9968         * modules/unistd (Makefile.am): Change the substitution value of
9969         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9970         Reported by Simon Josefsson.
9971
9972 2011-11-25  Bruno Haible  <bruno@clisp.org>
9973
9974         pagealign_alloc: Doc and comments.
9975         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9976         module.
9977         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9978
9979 2011-11-25  Jim Meyering  <meyering@redhat.com>
9980
9981         test-update-copyright.sh: avoid false-positive failure
9982         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9983         around false positive failure on Cygwin/Windows.  The latter was
9984         matching erroneously-created files with names like
9985         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9986
9987 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9988
9989         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9990         * m4/valgrind-tests.m4: Check that the parameters that will be
9991         used works, not just a subset of them.  Reported by Bruno Haible
9992         <bruno@clisp.org>.
9993
9994 2011-11-24  Jim Meyering  <meyering@redhat.com>
9995
9996         test-stdalign.c: comment out long double tests
9997         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9998         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9999         error: '_Alignas' specifiers cannot reduce alignment of \
10000         'static_longdouble_alignas'.
10001
10002 2011-11-22  Jim Meyering  <meyering@redhat.com>
10003
10004         init.sh: make "compare /dev/null FILE" output more readable
10005         * tests/init.sh (compare_): Document the preferred order of arguments.
10006         (emit_diff_u_header_): New function.
10007         (compare_dev_null_): Emit a simulated diff, rather than just the
10008         contents of the unexpected file.  Suggestion from Bruno Haible.
10009
10010 2011-11-21  Jim Meyering  <meyering@redhat.com>
10011             Eric Blake  <eblake@redhat.com>
10012
10013         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10014         * tests/init.sh: Make our compare function slightly more portable.
10015         Reported by Bruno Haible in
10016         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10017
10018 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10019
10020         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10021         before using it, in code that ends up in config.h.
10022
10023 2011-11-20  Bruno Haible  <bruno@clisp.org>
10024
10025         getcwd: Work around getcwd bug on AIX 5..7.
10026         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10027         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10028         Use a different value for gl_cv_func_getcwd_path_max. Move the
10029         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10030         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10031         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10032         Define HAVE_MINIMALLY_WORKING_GETCWD.
10033         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10034         where it is not even minimally working, that is, on AIX.
10035         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10036         m4/getcwd-path-max.m4.
10037         (main): Update exit code computation.
10038         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10039         getcwd does not handle long file names.
10040
10041 2011-11-20  Bruno Haible  <bruno@clisp.org>
10042
10043         getcwd: Fix bug from 2009-09-10.
10044         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10045         like "no".
10046
10047 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10048
10049         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10050
10051 2011-11-20  Bruno Haible  <bruno@clisp.org>
10052
10053         fma tests: Avoid shadowing local variables.
10054         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10055         expected.
10056
10057 2011-11-20  Bruno Haible  <bruno@clisp.org>
10058
10059         copysignf tests: Fix.
10060         * tests/test-copysignf.c: Fix signature check.
10061
10062 2011-11-20  Bruno Haible  <bruno@clisp.org>
10063
10064         fma: Remove unused code.
10065         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10066         unused macros.
10067
10068 2011-11-20  Bruno Haible  <bruno@clisp.org>
10069
10070         sethostname: Fix doc about AIX.
10071         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10072         sethostname; it has it.
10073
10074         sethostname: Mention more portability problems.
10075         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10076         problem.
10077         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10078
10079 2011-11-19  Bruno Haible  <bruno@clisp.org>
10080
10081         Depend on module fcntl-h when AT_FDCWD is used.
10082         * modules/utimens (Depends-on): Add fcntl-h.
10083         * modules/areadlinkat (Depends-on): Likewise.
10084         * modules/areadlinkat-with-size (Depends-on): Likewise.
10085         * modules/faccessat (Depends-on): Likewise.
10086         * modules/fchmodat (Depends-on): Likewise.
10087         * modules/fchownat (Depends-on): Likewise.
10088         * modules/getcwd (Depends-on): Likewise.
10089         * modules/mkdirat (Depends-on): Likewise.
10090         * modules/mkfifoat (Depends-on): Likewise.
10091         * modules/readlinkat (Depends-on): Likewise.
10092         * modules/symlinkat (Depends-on): Likewise.
10093         * modules/dup2-tests (Depends-on): Likewise.
10094         * modules/fdutimensat-tests (Depends-on): Likewise.
10095         * modules/futimens-tests (Depends-on): Likewise.
10096
10097 2011-11-19  Bruno Haible  <bruno@clisp.org>
10098
10099         euidaccess: Update a comment.
10100         * lib/euidaccess.c: Update comment about platforms with faccessat.
10101
10102 2011-11-19  Bruno Haible  <bruno@clisp.org>
10103
10104         openat: Fix file list.
10105         * modules/openat (Files): Remove lib/at-func.c.
10106
10107 2011-11-19  Bruno Haible  <bruno@clisp.org>
10108
10109         fstatat: Simplify.
10110         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10111         gnulib should define rpl_fstatat, there is a
10112         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10113
10114 2011-11-19  Bruno Haible  <bruno@clisp.org>
10115
10116         Ensure 'inline' can be used in tests/test-utimens-common.h.
10117         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10118         * modules/futimens-tests (configure.ac): Likewise.
10119         * modules/utimens-tests (configure.ac): Likewise.
10120         * modules/utimensat-tests (configure.ac): Likewise.
10121
10122 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10123
10124         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10125         not hash_insert0.
10126         (hash_insert_if_absent): Doc fix.
10127
10128 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10129
10130         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10131
10132 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10133
10134         test-getcwd: disambiguate exit status
10135         * tests/test-getcwd.c (test_long_name): Return 0..7.
10136         (main): Exit with an unambiguous exit status.  The old
10137         code yielded a mysterious mixture of two failure codes.
10138
10139         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10140         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10141         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10142         rpl_fstatat or fstatat.  This should fix the other problem
10143         reported by Kai Habel in
10144         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10145         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10146         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10147         and I reproduced it on a Solaris 8 host we still have in production.
10148
10149 2011-11-18  Jim Meyering  <meyering@redhat.com>
10150
10151         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10152         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10153         Add a sentence to the comment.
10154         (hash_insert0): New function that simply calls hash_insert_if_absent.
10155         * lib/hash.h (hash_insert_if_absent): Declare it.
10156         (hash_insert0): Add deprecation attribute.
10157         (_GL_ATTRIBUTE_DEPRECATED): Define.
10158         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10159         not hash_insert0.
10160         * NEWS: Mention it, even though it's not really an incompatible change.
10161
10162 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10163
10164         openat: avoid compilation failure due to lack of <errno.h> inclusion
10165         * lib/openat.c: Include <errno.h>.
10166
10167 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10168
10169         * modules/getcwd (Depends-on): Add fdopendir.
10170         This fixes one of the two problems reported by Kai Habel in
10171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10172
10173         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10174         stdalign problem reported by Ian Beckwith in
10175         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10176         * modules/crypto/gc-arcfour (Depends-on):
10177         Depend conditionally on crypto/arcfour.
10178         * modules/crypto/gc-arctwo (Depends-on):
10179         Depend conditionally on crypto/arctwo.
10180         * modules/crypto/gc-des (Depends-on):
10181         Depend conditionally on crypto/des.
10182         * modules/crypto/gc-hmac-md5 (Depends-on):
10183         Depend conditionally on crypto/hmac-md5.
10184         * modules/crypto/gc-hmac-sha1 (Depends-on):
10185         Depend conditionally on crypto/hmac-sha1.
10186         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10187         * modules/crypto/gc-md4 (Depends-on):
10188         Depend conditionally on crypto/md4.
10189         * modules/crypto/gc-md5 (Depends-on):
10190         Depend conditionally on crypto/md5.
10191         * modules/crypto/gc-rijndael (Depends-on):
10192         Depend conditionally on crypto/rijndael.
10193         * modules/crypto/gc-sha1 (Depends-on):
10194         Depend conditionally on crypto/sha1.
10195         * modules/crypto/gc-arcfour:
10196         * modules/crypto/gc-arctwo:
10197         * modules/crypto/gc-des:
10198         * modules/crypto/gc-hmac-md5:
10199         * modules/crypto/gc-hmac-sha1:
10200         * modules/crypto/gc-md2:
10201         * modules/crypto/gc-md4:
10202         * modules/crypto/gc-md5:
10203         * modules/crypto/gc-rijndael:
10204         * modules/crypto/gc-sha1:
10205         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10206         now that the conditional dependencies do the work for us.
10207
10208 2011-11-17  Jim Meyering  <meyering@redhat.com>
10209
10210         tests: factor st_ctime-comparison out of two headers
10211         * tests/test-utimens-common.h (ctime_compare): Define.
10212         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10213         * tests/test-lutimens.h (test_lutimens): Likewise.
10214         * tests/test-utimens.h (test_utimens): Likewise.
10215
10216         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10217         Invoke the test program via an init.sh-using wrapper.
10218         * tests/test-getcwd.sh: New file.
10219         * modules/getcwd-tests (Files): Add it.
10220         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10221
10222 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10223
10224         gitlog-to-changelog: support multi-author commits.
10225         The FSF cares about keeping track of all authors of patches to its
10226         projects, but Git doesn't provide obvious support for multi-author
10227         changesets. Consensus seems to be forming around the use of extra
10228         Signed-off-by inspired lines in the log message formatted as
10229         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10230         multi-author commits between version control systems.
10231         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10232         log message and output in standard ChangeLog multi-author format.
10233         Reported by Peter Rosin <peda@lysator.liu.se>
10234
10235 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10236             Bruno Haible  <bruno@clisp.org>
10237
10238         Fix some modules' file list.
10239         * modules/fstatat (Files): Add m4/lstat.m4.
10240         * modules/openat (Files): Likewise.
10241         * modules/unlinkat (Files): Likewise.
10242
10243 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10244
10245         maint.mk: fix tight-scope.mk generation in VPATH builds.
10246         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10247         reference with $(srcdir) so that the file is found correctly even
10248         when running `make syntax-check' in a VPATH build.
10249
10250 2011-11-13  Bruno Haible  <bruno@clisp.org>
10251             Jim Meyering  <meyering@redhat.com>
10252
10253         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10254         * tests/init.sh (compare): Remove "No differences encountered" or
10255         synonymous output from the 'diff' program.
10256
10257 2011-11-13  Bruno Haible  <bruno@clisp.org>
10258
10259         Makefile: Tweak indentation.
10260         * Makefile: Use tab as first character in every line that contains rule
10261         commands.
10262
10263 2011-11-13  Bruno Haible  <bruno@clisp.org>
10264
10265         Syntax check for copyright statements.
10266         * check-copyright: New file.
10267         * Makefile (sc_check_copyright): New rule.
10268
10269 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10270
10271         * build-aux/git-version-gen: Add --prefix to configure the tag
10272         match string.
10273
10274 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10275
10276         * build-aux/git-version-gen: Add --help and --version.
10277
10278 2011-11-12  Jim Meyering  <meyering@redhat.com>
10279
10280         revamp the other test-exclude?.sh scripts to use init.sh, too
10281         * tests/test-exclude1.sh: Use init.sh.
10282         * tests/test-exclude2.sh: Likewise.
10283         * tests/test-exclude3.sh: Likewise.
10284         * tests/test-exclude4.sh: Likewise.
10285         * tests/test-exclude5.sh: Likewise.
10286         * tests/test-exclude6.sh: Likewise.
10287         * tests/test-exclude7.sh: Likewise.
10288         * tests/test-exclude8.sh: Likewise.
10289         * modules/exclude-tests (Files): List init.sh.
10290
10291         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10292         These shell scripts ignored failure of the binary test-exclude,
10293         so making the latter return 77 didn't cause them to be skipped.
10294         * tests/test-exclude5.sh: Exit with test-exclude's error status
10295         when that program fails.  Revamp to use init.sh.
10296         * tests/test-exclude2.sh: Likewise.
10297
10298         test-exclude: fix a typo
10299         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10300
10301 2011-11-11  Bruno Haible  <bruno@clisp.org>
10302
10303         obstack: Fix compilation error on MSVC 9.
10304         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10305
10306 2011-11-11  Jim Meyering  <meyering@redhat.com>
10307
10308         test-exclude: skip tests rather than failing on deficient systems
10309         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10310         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10311         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10312         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10313
10314 2011-11-10  Bruno Haible  <bruno@clisp.org>
10315
10316         ptsname_r test: Avoid gcc warning on glibc systems.
10317         * tests/test-ptsname_r.c (null_ptr): New function.
10318         (test_errors): Use it.
10319
10320 2011-11-10  Bruno Haible  <bruno@clisp.org>
10321
10322         ptsname_r: Avoid compilation error on OSF/1 5.1.
10323         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10324         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10325         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10326         function is not declared or incompatibly declared.
10327         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10328         * modules/ptsname_r (Depends-on, configure.ac): Update.
10329         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10330
10331 2011-11-10  Bruno Haible  <bruno@clisp.org>
10332
10333         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10334         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10335         When cross-compiling, guess yes on all platforms except AIX.
10336         Reported by Ludovic Courtès <ludo@gnu.org>.
10337
10338 2011-11-09  Bruno Haible  <bruno@clisp.org>
10339
10340         ptsname_r tests: Fix bugs.
10341         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10342         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10343
10344 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10345
10346         fstatat: work with cross-compilation
10347         Problem reported by Ludovic Courtès in
10348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10349         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10350         "cross-compiling" and assume the bug is present.  Replace
10351         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10352         an inverted sense, to be more conservative about our assumptions.
10353         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10354
10355 2011-11-09  Bruno Haible  <bruno@clisp.org>
10356
10357         Improve MODULES.html output.
10358         * modules/mkfifoat (Description): Use the word "function".
10359         * modules/readlinkat (Description): Likewise.
10360         * modules/symlinkat (Description): Likewise.
10361
10362 2011-11-09  Eric Blake  <eblake@redhat.com>
10363
10364         ptsname_r-tests: new test module
10365         * modules/ptsname_r-tests: New module.
10366         * tests/test-ptsname_r.c: New file.
10367
10368         ptsname_r: new module
10369         * modules/ptsname_r: New module.
10370         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10371         * lib/ptsname.c (__ptsname_r): Split...
10372         * lib/ptsname_r.c: ...into new file.
10373         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10374         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10375         * modules/stdlib (Makefile.am): Substitute witnesses.
10376         * lib/stdlib.in.h (ptsname_r): Declare it.
10377         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10378         * MODULES.html.sh (Misc): Likewise.
10379         * modules/ptsname (Depends-on): Alter dependency.
10380         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10381
10382 2011-11-09  Jim Meyering  <meyering@redhat.com>
10383
10384         announce-gen: be more concise when there's only one URL+tarball
10385         * build-aux/announce-gen (get_tool_versions): When you distribute
10386         only one type of tarball, combine the first two "Here are..."
10387         sections and make the key-checking grammar independent of
10388         how many tarballs there are.
10389
10390 2011-11-09  Eric Blake  <eblake@redhat.com>
10391
10392         openpty: provide a stub on mingw
10393         * lib/pty.in.h (includes): Provide forward declarations.
10394         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10395
10396         raise: fix mingw handling of SIGPIPE
10397         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10398
10399 2011-11-08  Bruno Haible  <bruno@clisp.org>
10400
10401         More conditional dependencies.
10402         * modules/faccessat (Depends-on): Add conditions.
10403         * modules/fchmodat (Depends-on): Likewise.
10404         * modules/fchownat (Depends-on): Likewise.
10405         * modules/fstatat (Depends-on): Likewise.
10406         * modules/mkfifoat (Depends-on): Likewise.
10407         * modules/readlinkat (Depends-on): Likewise.
10408         * modules/symlinkat (Depends-on): Likewise.
10409         * modules/unlinkat (Depends-on): Likewise.
10410         * modules/utimensat (Depends-on): Likewise.
10411         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10412         * modules/linkat (Depends-on): Refine the conditions.
10413         * modules/renameat (Depends-on): Likewise.
10414
10415 2011-11-08  Bruno Haible  <bruno@clisp.org>
10416
10417         faccessat: Move AC_LIBOBJ invocation to module description.
10418         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10419         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10420         invocation from here...
10421         * modules/faccessat (configure.ac): ... to here. Invoke
10422         gl_PREREQ_FACCESSAT.
10423
10424 2011-11-08  Bruno Haible  <bruno@clisp.org>
10425
10426         faccessat: Simplify autoconf macro.
10427         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10428         gl_FUNC_EUIDACCESS.
10429
10430 2011-11-08  Bruno Haible  <bruno@clisp.org>
10431
10432         renameat: Fix dependencies.
10433         * modules/renameat (Depends-on): Add stdbool.
10434
10435 2011-11-08  Bruno Haible  <bruno@clisp.org>
10436
10437         mkfifoat: Fix module description.
10438         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10439         not gl_UNISTD_MODULE_INDICATOR.
10440
10441 2011-11-08  Bruno Haible  <bruno@clisp.org>
10442
10443         fstatat: Remove unused dependency.
10444         * modules/fstatat (Depends-on): Remove fstat.
10445
10446 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10447
10448         GNUmakefile: behave when Makefile is missing.
10449         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10450
10451 2011-11-08  Bruno Haible  <bruno@clisp.org>
10452
10453         openat: Conditionalize dependencies.
10454         * lib/openat.c: Reduce the scope of some #includes.
10455         * modules/openat (Depends-on): Add conditions.
10456
10457 2011-11-07  Jim Meyering  <meyering@redhat.com>
10458
10459         maint.mk: extract GPG key ID without using a temporary file
10460         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10461         without using a temporary file.  Based on a suggestion from Werner Koch
10462         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10463
10464 2011-11-07  Eric Blake  <eblake@redhat.com>
10465
10466         grantpt: fix typo
10467         * lib/stdlib.in.h (grantpt): Check correct function.
10468
10469         maint.mk: silence new syntax check
10470         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10471
10472 2011-11-06  Bruno Haible  <bruno@clisp.org>
10473
10474         Doc about floating-point and math API.
10475         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10476         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10477
10478 2011-11-06  Bruno Haible  <bruno@clisp.org>
10479
10480         stdalign tests: Skip the test when compiled by Sun C.
10481         * tests/test-stdalign.c (main): Skip the test on Sun C.
10482
10483 2011-11-06  Bruno Haible  <bruno@clisp.org>
10484
10485         ansi-c++-opt: Complete the 2011-06-05 change.
10486         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10487         does not support namespaces, set the variable to "no", not to ":".
10488
10489 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10490
10491         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10492
10493 2011-11-06  Bruno Haible  <bruno@clisp.org>
10494
10495         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10496         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10497         (minus_zerol) [HP-UX]: New macro.
10498         (unary_minus) [HP-UX]: New function.
10499         (copysignl) [HP-UX]: Use unary_minus function.
10500
10501 2011-11-06  Bruno Haible  <bruno@clisp.org>
10502
10503         ldexp, ldexpf, ldexpl: Enhance tests.
10504         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10505         and tests/test-ldexpl.c.
10506         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10507         LDEXP, MIN_EXP, MAX_EXP): New macros.
10508         Include test-ldexp.h.
10509         (main): Just call test_function.
10510         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10511         infinity.h, nan.h.
10512         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10513         MAX_EXP): New macros.
10514         Include test-ldexp.h.
10515         (x, y): Remove variables.
10516         (main): Just call test_function.
10517         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10518         infinity.h, nan.h.
10519         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10520         MAX_EXP): New macros.
10521         Include test-ldexp.h.
10522         (x, y): Remove variables.
10523         (main): Just call test_function.
10524         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10525         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10526         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10527         (Depends-on): Add isnand-nolibm, signbit, float.
10528         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10529         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10530         (Depends-on): Add isnanf-nolibm, signbit, float.
10531
10532 2011-11-06  Bruno Haible  <bruno@clisp.org>
10533
10534         math tests: Cosmetics.
10535         * tests/test-math-c++.cc: Reorder declarations.
10536
10537 2011-11-05  Bruno Haible  <bruno@clisp.org>
10538
10539         fma*: Simplify test.
10540         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10541         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10542
10543         Tests for module 'fmal'.
10544         * modules/fmal-tests: New file.
10545         * tests/test-fmal1.c: New file.
10546         * tests/test-fmal2.c: New file.
10547
10548         New module 'fmal'.
10549         * lib/math.in.h (fmal): New declaration.
10550         * lib/fmal.c: New file.
10551         * m4/fmal.m4: New file.
10552         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10554         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10555         REPLACE_FMAL.
10556         * modules/fmal: New file.
10557         * doc/posix-functions/fmal.texi: Mention the new module and the various
10558         bugs.
10559
10560         Tests for module 'fmaf'.
10561         * modules/fmaf-tests: New file.
10562         * tests/test-fmaf1.c: New file.
10563         * tests/test-fmaf2.c: New file.
10564
10565         New module 'fmaf'.
10566         * lib/math.in.h (fmaf): New declaration.
10567         * lib/fmaf.c: New file.
10568         * m4/fmaf.m4: New file.
10569         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10570         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10571         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10572         REPLACE_FMAF.
10573         * modules/fmaf: New file.
10574         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10575         bugs.
10576
10577         Tests for module 'fma'.
10578         * modules/fma-tests: New file.
10579         * tests/test-fma1.c: New file.
10580         * tests/test-fma1.h: New file.
10581         * tests/test-fma2.c: New file.
10582         * tests/test-fma2.h: New file.
10583
10584         New module 'fma'.
10585         * lib/math.in.h (fma): New declaration.
10586         * lib/fma.c: New file.
10587         * m4/fma.m4: New file.
10588         * m4/fegetround.m4: New file.
10589         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10590         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10591         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10592         REPLACE_FMA.
10593         * modules/fma: New file.
10594         * doc/posix-functions/fma.texi: Mention the new module and the various
10595         bugs.
10596
10597         Extend gl_MATHFUNC.
10598         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10599         Support 'void' as argument type.
10600         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10601
10602 2011-11-05  Jim Meyering  <meyering@redhat.com>
10603
10604         maint.mk: also prohibit inclusion of dirent.h without use
10605         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10606
10607 2011-11-05  Bruno Haible  <bruno@clisp.org>
10608
10609         ldexpl tests: Avoid test failure on MSVC 9.
10610         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10611         value. Needed in order to enforce the conversion from a value greater
10612         than LDBL_MAX to Infinity.
10613
10614 2011-11-05  Bruno Haible  <bruno@clisp.org>
10615
10616         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10617         * modules/at-internal: New file, extracted from modules/openat.
10618         * modules/openat-h: New file.
10619         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10620         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10621         * modules/openat (Description): Add reference to POSIX function.
10622         (Files): Remove lib/openat.h, lib/openat-proc.c.
10623         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10624         intprops, unistd.
10625         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10626         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10627         gl_FCNTL_MODULE_INDICATOR.
10628         (Include): Remove unistd.h, openat.h.
10629         * modules/areadlinkat (Files): Add lib/at-func.c.
10630         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10631         openat-die, openat-h, save-cwd.
10632         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10633         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10634         openat-die, openat-h, save-cwd, unistd.
10635         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10636         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10637         openat-h, save-cwd. Remove fcntl-h, openat.
10638         * modules/fchmodat (Files): Remove lib/openat.h.
10639         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10640         openat, stdbool, unistd.
10641         * modules/fchownat (Files): Remove lib/openat.h.
10642         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10643         openat, stdbool, sys_stat.
10644         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10645         lib/openat-proc.c.
10646         (Depends-on): Add at-internal.
10647         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10648         * modules/fstatat (Files): Remove lib/openat.h.
10649         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10650         stdbool, unistd.
10651         * modules/fts (Depends-on): Add openat-h.
10652         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10653         openat.
10654         * modules/mkdirat (Files): Remove lib/openat.h.
10655         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10656         openat, stdbool, sys_stat.
10657         * modules/mkfifoat (Files): Add lib/at-func.c.
10658         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10659         openat-h, save-cwd. Remove fcntl-h, openat.
10660         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10661         * modules/readlinkat (Files): Add lib/at-func.c.
10662         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10663         openat-h, save-cwd. Remove fcntl-h, openat.
10664         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10665         openat.
10666         * modules/selinux-at (Files): Add lib/at-func.c.
10667         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10668         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10669         * modules/symlinkat (Files): Add lib/at-func.c.
10670         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10671         openat-h, save-cwd. Remove fcntl-h, openat.
10672         * modules/unlinkat (Files): Remove lib/openat.h.
10673         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10674         stdbool.
10675         * modules/utimensat (Files): Add lib/at-func.c.
10676         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10677         openat-die, openat-h, save-cwd.
10678         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10679         * modules/fdutimensat-tests (Depends-on): Add openat.
10680         * modules/fstatat-tests (Depends-on): Add openat-h.
10681         * modules/readlinkat-tests (Depends-on): Add openat.
10682         * modules/symlinkat-tests (Depends-on): Add openat.
10683
10684 2011-11-05  Bruno Haible  <bruno@clisp.org>
10685
10686         openat: Include <stdbool.h>.
10687         * lib/openat.c: Include <stdbool.h>.
10688
10689 2011-11-04  Bruno Haible  <bruno@clisp.org>
10690
10691         fchownat, renameat, unlinkat: Fix dependencies.
10692         * modules/fchownat (Depends-on): Add fstatat.
10693         * modules/renameat (Depends-on): Likewise.
10694         * modules/unlinkat (Depends-on): Likewise.
10695
10696 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10697
10698         openat: remove direct dependency on dirent
10699         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10700         and hasn't been needed ever since fdopendir was split into its own
10701         module on 2009-08-31.
10702         * modules/openat (Depends-on): Remove dirent.
10703
10704 2011-11-04  Bruno Haible  <bruno@clisp.org>
10705
10706         renameat: Optimize code size.
10707         * modules/renameat (configure.ac): Don't compile at-func2.c if
10708         REPLACE_RENAMEAT is 1.
10709
10710 2011-11-04  Bruno Haible  <bruno@clisp.org>
10711
10712         openat tests: Fix file list.
10713         * modules/openat-tests (Files): Add tests/test-open.h.
10714
10715 2011-11-04  Bruno Haible  <bruno@clisp.org>
10716
10717         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10718         * modules/fchmodat (Depends-on): Add openat-die.
10719         * modules/fchownat (Depends-on): Likewise.
10720         * modules/linkat (Depends-on): Likewise.
10721         * modules/renameat (Depends-on): Likewise.
10722         * modules/openat (Depends-on): Add dirent.
10723
10724 2011-11-04  Jim Meyering  <meyering@redhat.com>
10725
10726         at-func*.c: fix comments
10727         * lib/at-func2.c: Correct/improve first-line comment.
10728         * lib/at-func.c: Correct grammar in first-line comment.
10729
10730 2011-11-04  Bruno Haible  <bruno@clisp.org>
10731
10732         New module 'mkdirat', split off from module 'openat'.
10733         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10734         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10735         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10736         * modules/mkdirat: New file, extracted from modules/openat.
10737         * modules/openat (Files): Remove lib/mkdirat.c.
10738         (Depends-on): Remove mkdir.
10739         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10740         (Include): Remove <sys/stat.h>.
10741         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10742         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10743         tests/test-mkdir.h.
10744         (Depends-on): Remove ignore-value.
10745         (Makefile.am): Remove rules for test-mkdirat.
10746         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10747         of module 'openat'.
10748         * NEWS: Mention the change.
10749
10750 2011-11-04  Bruno Haible  <bruno@clisp.org>
10751
10752         closedir: Avoid warning on mingw.
10753         * lib/closedir.c: Include <unistd.h>.
10754
10755 2011-11-04  Bruno Haible  <bruno@clisp.org>
10756
10757         New module 'fstatat', split off from module 'openat'.
10758         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10759         defined.
10760         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10761         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10762         gl_FUNC_FSTATAT.
10763         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10764         * modules/fstatat: New file, extracted from modules/openat.
10765         * modules/openat (Files): Remove lib/fstatat.c.
10766         (Depends-on): Remove lstat.
10767         (configure.ac): Remove AC_LIBOBJ of fstatat.
10768         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10769         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10770         tests/test-lstat.h, tests/test-stat.h.
10771         (Depends-on): Remove getcwd-lgpl.
10772         (Makefile.am): Remove rules for test-fstatat.
10773         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10774         of module 'openat'.
10775         * NEWS: Mention the change.
10776         * modules/getcwd (Depends-on): Add fstatat.
10777         * modules/linkat (Depends-on): Likewise.
10778         * modules/mkfifoat-tests (Depends-on): Likewise.
10779         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10780
10781 2011-11-03  Bruno Haible  <bruno@clisp.org>
10782
10783         New module 'unlinkat', split off from module 'openat'.
10784         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10785         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10786         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10787         * modules/unlinkat: New file, extracted from modules/openat. Correct
10788         the dependency conditions.
10789         * modules/openat (Files): Remove lib/unlinkat.c.
10790         (Depends-on): Remove rmdir, unlink.
10791         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10792         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10793         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10794         tests/test-rmdir.h, tests/test-unlink.h.
10795         (Depends-on): Remove unlinkdir.
10796         (Makefile.am): Remove rules for test-unlinkat.
10797         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10798         of module 'openat'.
10799         * NEWS: Mention the change.
10800         * modules/linkat-tests (Depends-on): Add unlinkat.
10801         * modules/mkfifoat-tests (Depends-on): Likewise.
10802         * modules/readlinkat-tests (Depends-on): Likewise.
10803
10804 2011-11-02  Bruno Haible  <bruno@clisp.org>
10805
10806         New module 'fchmodat', split off from module 'openat'.
10807         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10808         defined.
10809         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10810         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10811         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10812         * modules/fchmodat: New file, extracted from modules/openat.
10813         * modules/openat (Files): Remove lib/fchmodat.c.
10814         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10815         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10816         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10817         (Makefile.am): Remove rules for test-fchmodat.
10818         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10819         of module 'openat'.
10820         * NEWS: Mention the change.
10821
10822 2011-11-02  Jim Meyering  <meyering@redhat.com>
10823
10824         putenv: indent #definition of "environ" to placate cppi
10825         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10826
10827         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10828         Git logs are often treated as immutable, because editing them
10829         changes the SHA1 checksums of all descendants.  Thus, errors in
10830         git logs tend to stay there forever.  However, when we generate
10831         a ChangeLog file -- typically for distribution -- from that git log,
10832         we can actually make corrections in the generated file.  The key
10833         lies in recording in machine-readable/applicable form the desired
10834         corrections.  See --help for description and an example.
10835         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10836         (usage): Describe it; alphabetize option descriptions.
10837         (main): Honor the new option, carefully.
10838
10839 2011-11-01  Jim Meyering  <meyering@redhat.com>
10840
10841         gitlog-to-changelog: avoid an infloop
10842         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10843         that ends up being empty.
10844
10845 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10846
10847         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10848         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10849         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10850         contains (possibly-quoted) backslashes.  This should avoid
10851         all-too-common shell bugs if COMPLICATED contains backslashes in
10852         the "wrong" places.  Reported by David Evans in
10853         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10854         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10855         because we want ASCII ranges.  Is there some reason we don't use
10856         the C locale everywhere in this script?
10857         (func_module, top level): Avoid unwanted pathname expansion when
10858         $repo_url_prefix or $repo_url_suffix_repl contain shell
10859         metacharacters like '?' and '*'.
10860
10861 2011-11-01  Bruno Haible  <bruno@clisp.org>
10862
10863         fchownat: Improve description.
10864         * modules/fchownat (Description): Add link to function.
10865
10866 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10867
10868         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10869         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10870         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10871         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10872
10873 2011-11-01  Bruno Haible  <bruno@clisp.org>
10874
10875         alignof: Avoid collision with stdalign module.
10876         * lib/alignof.h (alignof): Remove macro.
10877         * NEWS: Mention the change.
10878         Reported by Paul Eggert.
10879
10880 2011-11-01  Bruno Haible  <bruno@clisp.org>
10881
10882         New module 'fchownat', split off from module 'openat'.
10883         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10884         defined.
10885         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10886         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10887         invoke gl_FUNC_FCHOWNAT.
10888         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10889         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10890         * modules/fchownat: New file, extracted from modules/openat.
10891         * modules/openat (Files): Remove lib/fchownat.c.
10892         (Depends-on): Remove lchown.
10893         (configure.ac): Remove AC_LIBOBJ of fchownat.
10894         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10895         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10896         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10897         (Depends-on): Remove mgetgroups, usleep, stat-time.
10898         (configure.ac): Remove test for getegid.
10899         (Makefile.am): Remove rules for test-fchownat.
10900         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10901         of module 'openat'.
10902         * NEWS: Mention the change.
10903
10904 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10905
10906         stdalign: port better to MSVC and to Sun C 5.11
10907         This fixes some of the problems reported by Bruno Haible in
10908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10909         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10910         shortcomings of MSVC and of Sun C 5.11.
10911         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10912         around __declspec arg.
10913         * modules/stdalign-tests (Files): Add tests/macros.h.
10914         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10915         Include macros.h, for ASSERT.
10916         (DECLARE_ALIGNED): Remove.
10917         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10918         to catch bug), and to 1 if not (simplifies the rest of the code).
10919         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10920         (CHECK_AUTO): Remove.
10921         (CHECK_ALIGNED): Check only the alignment of the static vars,
10922         since auto var alignment isn't supported by Sun C 5.11.
10923         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10924         ASSERT failures are easier to diagnose.
10925
10926 2011-10-31  Bruno Haible  <bruno@clisp.org>
10927
10928         doc about some IRIX 5.3 problems.
10929         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10930         on IRIX 5.3.
10931         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10932         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10933         5.3.
10934         * doc/posix-functions/grantpt.texi: Likewise.
10935         * doc/posix-functions/unlockpt.texi: Likewise.
10936         * doc/posix-functions/lgamma.texi: Likewise.
10937         * doc/posix-functions/nextafter.texi: Likewise.
10938         * doc/posix-functions/remainder.texi: Likewise.
10939         * doc/posix-functions/select.texi: Mention misplaced declaration on
10940         IRIX 5.3.
10941         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10942
10943 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10944
10945         gitlog-to-changelog: fix git-log invocation.
10946         git-log mishandles date strings before 1970-01-01 UTC, and there is
10947         no use to specify --since=1970-01-01 by default anyway.
10948         * build-aux/gitlog-to-changelog: By default, when no --since option
10949         was given, do not specify explicit --since option to git-log.
10950
10951 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10952
10953         gitlog-to-changelog: new option --append-dot.
10954         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10955         first non-blank line of each commit message terminated with a dot.
10956
10957 2011-10-30  Bruno Haible  <bruno@clisp.org>
10958
10959         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10960         * lib/ffsl.h: Include <config.h>.
10961         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10962
10963 2011-10-30  Jim Meyering  <meyering@redhat.com>
10964
10965         GNUmakefile: reenable "make syntax-check" for most projects
10966         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10967         build-aux variable", "syntax-check" would do nothing but succeed with
10968         the "No version control files detected..." diagnostic (unless you
10969         happened to override _build-aux via cfg.mk).
10970         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10971         to precede inclusion of maint.mk.  Otherwise, these variables would
10972         be used undefined in any project that does not override the default.
10973
10974 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10975
10976         gitlog-to-changelog: treat a message with only blank lines as empty.
10977         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10978         trailing blank lines before the code that issues a warning about an
10979         empty commit message.
10980
10981 2011-10-30  Jim Meyering  <meyering@redhat.com>
10982
10983         test-parse-datetime.c: avoid new DST-related false positive test failure
10984         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10985         based on the time/date we'll convert, not the current time.
10986         Otherwise, the moment we cross a DST boundary like today's in
10987         Europe, (CEST to CET), that offset ends up being one hour off.
10988
10989 2011-10-27  Bruno Haible  <bruno@clisp.org>
10990
10991         fstat: Tweak documentation.
10992         * modules/fstat (Description): More precise description.
10993
10994 2011-10-27  Bruno Haible  <bruno@clisp.org>
10995
10996         Update documentation regarding 'largefile' module.
10997         * doc/posix-functions/fstat.texi: Tweak wording.
10998         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10999         problems with huge directories and/or small ino_t types.
11000         * doc/posix-functions/readdir.texi: Likewise.
11001         * doc/posix-functions/rewinddir.texi: Likewise.
11002
11003 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11004
11005         maint.mk: don't maintain a second build-aux variable.
11006         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11007         depends on GNUmakefile, which already maintains a cfg.mk
11008         overridable $(_build-aux) for projects with a non-standard
11009         build-aux directory location, although without the $(srcdir)
11010         prefix.  Use that variable consistently instead of introducing a
11011         second one.  Adjust all call sites.
11012
11013 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11014
11015         Add stdalign module and use it in other modules.
11016         This is based on a previous proposal by Bruno Haible
11017         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11018
11019         stdalign: new module
11020         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11021         * modules/stdalign: New files.
11022         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11023         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11024
11025         stdalign-tests: new module
11026         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11027
11028         argp: use stdalign
11029         * lib/argp-parse.c: Include <stdalign.h>.
11030         (alignof): Remove.
11031         * modules/argp (Depends-on): Add stdalign.
11032
11033         crypto libraries: use stdalign
11034         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11035         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11036         Do not include <stdlib.h> twice, in md4.c.
11037         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11038         because we are accessing a pointer's bit-pattern, not a size.
11039         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11040         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11041         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11042         * modules/crypto/sha512: Likewise.
11043
11044         sys_socket: use stdalign, not alignof
11045         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11046         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11047
11048 2011-10-27  Bruno Haible  <bruno@clisp.org>
11049
11050         raise test: Avoid a test failure on Linux/MIPS.
11051         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11052         because 99 is a valid signal on Linux/MIPS.
11053
11054 2011-10-27  Bruno Haible  <bruno@clisp.org>
11055
11056         nonblocking tests: Fix test failure on Linux/MIPS.
11057         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11058         Set to 270000.
11059
11060 2011-10-27  Bruno Haible  <bruno@clisp.org>
11061
11062         utimensat: Work around problem on Linux/hppa.
11063         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11064         values.
11065         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11066
11067 2011-10-25  Jim Meyering  <meyering@redhat.com>
11068
11069         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11070         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11071         after symbols like NULL, size_t, etc.
11072         Reported by Alfred M. Szmidt.
11073
11074         maint.mk: exempt ENODATA from a syntax-check rule
11075         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11076         from the sc_prohibit_always-defined_macros syntax-check rule.
11077         Add a comment.  See this for more details:
11078         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
11079
11080 2011-10-23  Jim Meyering  <meyering@redhat.com>
11081
11082         fts: close parent dir FD before returning from post-traversal fts_read
11083         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11084         unlink A, even though an FD open on A remained.  This is suboptimal
11085         (holding a file descriptor open longer than needed), but otherwise not
11086         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11087         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11088         that represents a real problem: it causes the removal of A to fail
11089         with e.g., "rm: cannot remove `A': Device or resource busy"
11090
11091         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11092         directory file descriptors.  After completing the final, FTS_DP,
11093         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11094         cache, but then proceeded to add a new FD to it via the subsequent
11095         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11096         final file descriptor would be closed only via fts_close's call to
11097         fd_ring_clear.  Now, it is usually closed earlier, via the final
11098         FTS_DP-returning fts_read call.
11099         * lib/fts.c (restore_initial_cwd): New function, converted from
11100         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11101         Update callers.
11102         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11103         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11104
11105 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11106             Bruno Haible  <bruno@clisp.org>
11107             Jim Meyering  <jim@meyering.net>
11108
11109         readme-release: improve safety of release prep instructions.
11110         * README-release: Don't git pull all branches when only master
11111         is needed for the release process.
11112         Run make maintainer-clean before changing trees and merging.
11113         Don't try to run ./configure right after git pull in case files
11114         that influence the bootstrap process have changed, move the
11115         ./configure step to after running ./bootstrap.
11116         Don't bootstrap "one last time"... it's the first time!
11117
11118 2011-10-22  Bruno Haible  <bruno@clisp.org>
11119
11120         errno, strerror-override: Support for MSVC 10.
11121         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11122         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11123         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11124         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11125         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11126         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11127         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11128         Assign values compatible with MSVC 10.
11129         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11130         New macros.
11131         (GNULIB_defined_EWINSOCK): New macro.
11132         * lib/strerror-override.c (strerror_override): Update accordingly.
11133         * lib/strerror-override.h: Likewise.
11134         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11135         longer equal to the corresponding errno value.
11136         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11137
11138 2011-10-22  Bruno Haible  <bruno@clisp.org>
11139
11140         perror: Recognize when test program crashes.
11141         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11142         strerror, set gl_cv_func_perror_works to no.
11143         Reported by Daniel Richard G. <skunk@iskunk.org>.
11144
11145         perror: Fix indentation.
11146         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11147
11148 2011-10-22  Bruno Haible  <bruno@clisp.org>
11149
11150         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11151         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11152         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11153         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11154         functions, not as a macro.
11155         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11156         macros.
11157         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11158         absence of macro.
11159         Suggested by Eric Blake.
11160         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11161
11162 2011-10-21  Bruno Haible  <bruno@clisp.org>
11163
11164         relocatable-prog-wrapper: Don't leave object files behind.
11165         * build-aux/install-reloc: Re-synchronize list of .o files to be
11166         removed with list of compilation units.
11167
11168 2011-10-20  Bruno Haible  <bruno@clisp.org>
11169
11170         openpty, posix_openpt: Remove code duplication.
11171         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11172         * lib/openpty.c: Include <stdlib.h>.
11173         (openpty): Use posix_openpt on all platforms except IRIX.
11174         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11175
11176 2011-10-20  Bruno Haible  <bruno@clisp.org>
11177
11178         unlockpt: Detect invalid argument.
11179         * lib/unlockpt.c: Include <fcntl.h>.
11180         (unlockpt): Check whether fd is valid, using fcntl().
11181         * modules/unlockpt (Depends-on): Add fcntl-h.
11182
11183 2011-10-20  Bruno Haible  <bruno@clisp.org>
11184
11185         openpty: Avoid compilation error on AIX 6.1.
11186         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11187
11188 2011-10-20  Bruno Haible  <bruno@clisp.org>
11189
11190         posix_openpt: Support for OpenBSD.
11191         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11192         (posix_openpt) [OpenBSD]: New code.
11193         * lib/grantpt.c: Include <fcntl.h>.
11194         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11195         * modules/grantpt (Depends-on): Add fcntl-h.
11196
11197 2011-10-20  Bruno Haible  <bruno@clisp.org>
11198
11199         posix_openpt test: Coding style.
11200         * tests/test-posix_openpt.c: Use GNU coding style.
11201
11202 2011-10-20  Bruno Haible  <bruno@clisp.org>
11203
11204         grantpt: Support --avoid=pt_chown.
11205         * modules/grantpt (Files): Add lib/pty-private.h.
11206
11207 2011-10-20  Bruno Haible  <bruno@clisp.org>
11208
11209         posix_openpt: Fix autoconf macro.
11210         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11211         unneeded check for _getpty.
11212
11213 2011-10-20  Bruno Haible  <bruno@clisp.org>
11214
11215         openpty: Update comments.
11216         * lib/openpty.c: Add comments about Minix.
11217
11218 2011-10-19  Eric Blake  <eblake@redhat.com>
11219
11220         openpty: relax license
11221         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11222
11223         pt_chown: use configmake to simplify build
11224         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11225
11226         ptsname and others: relax license
11227         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11228         * modules/unlockpt (License): Likewise.
11229         * modules/pt_chown (License): Likewise.
11230         * modules/ptsname (License): Likewise.
11231         * modules/ttyname_r (License): Likewise.
11232
11233 2011-10-19  Jim Meyering  <meyering@redhat.com>
11234
11235         posix_openpt: remove spurious #endif
11236         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11237
11238 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11239
11240         maint.mk: Respect $(build_aux) in web-manual rule.
11241         * top/maint.mk (web-manual): Find gen-announce script in user's
11242         $(build_aux) directory instead of hard-coding 'build-aux'.
11243
11244 2011-10-19  Bruno Haible  <bruno@clisp.org>
11245
11246         posix_openpt: Fix compilation error.
11247         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11248         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11249         Mention the openpty module as an alternative.
11250
11251 2011-10-19  Bruno Haible  <bruno@clisp.org>
11252
11253         Support for old NeXTstep 3.3 frexp().
11254         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11255         execution time of the test to 5 seconds.
11256         Reported by Daniel Richard G. <skunk@iskunk.org>.
11257
11258 2011-10-19  Bruno Haible  <bruno@clisp.org>
11259
11260         Support for old NeXTstep 3.3 sed.
11261         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11262         part, use /.../, not \|...|. Escape periods in the header file name.
11263         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11264         Reported by Daniel Richard G. <skunk@iskunk.org>.
11265
11266 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11267
11268         Support for old NeXTstep 3.3 gcc.
11269         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11270         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11271         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11272         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11273         * lib/regex.h (_Restrict_arr_): Likewise.
11274         * lib/regex_internal.h (re_token_t): Likewise.
11275         * lib/regexec.c (check_node_accept_bytes): Likewise.
11276         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11277
11278 2011-10-18  Eric Blake  <eblake@redhat.com>
11279
11280         posix_openpt: new module
11281         * modules/posix_openpt: New module.
11282         * m4/posix_openpt.m4: New file.
11283         * lib/posix_openpt.c: Likewise.
11284         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11285         (gl_STDLIB_H_DEFAULTS): Set defaults.
11286         * modules/stdlib (Makefile.am): Substitute macros.
11287         * lib/stdlib.in.h (posix_openpt): Declare.
11288         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11289         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11290         * modules/posix_openpt-tests: New test module.
11291         * tests/test-posix_openpt.c: New test.
11292
11293 2011-10-15  Bruno Haible  <bruno@clisp.org>
11294
11295         xstrtoll: Fix compilation failure.
11296         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11297         from lib/strtol.c.
11298         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11299         some platforms.
11300         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11301
11302 2011-10-15  Bruno Haible  <bruno@clisp.org>
11303
11304         vasnprintf: Optimize bit search operation.
11305         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11306         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11307         gl_DOUBLE_EXPONENT_LOCATION.
11308         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11309         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11310         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11311         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11312         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11313         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11314         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11315         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11316         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11317
11318 2011-10-15  Bruno Haible  <bruno@clisp.org>
11319
11320         vasnprintf: Fix comments.
11321         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11322
11323 2011-10-14  Bruno Haible  <bruno@clisp.org>
11324
11325         Tests for module 'integer_length_ll'.
11326         * modules/integer_length_ll-tests: New file.
11327         * tests/test-integer_length_ll.c: New file.
11328
11329         New module 'integer_length_ll'.
11330         * lib/integer_length_ll.c: New file.
11331         * modules/integer_length_ll: New file.
11332
11333 2011-10-14  Bruno Haible  <bruno@clisp.org>
11334
11335         Tests for module 'integer_length_l'.
11336         * modules/integer_length_l-tests: New file.
11337         * tests/test-integer_length_l.c: New file.
11338
11339         New module 'integer_length_l'.
11340         * lib/integer_length_l.c: New file.
11341         * modules/integer_length_l: New file.
11342
11343 2011-10-14  Bruno Haible  <bruno@clisp.org>
11344
11345         Tests for module 'integer_length'.
11346         * modules/integer_length-tests: New file.
11347         * tests/test-integer_length.c: New file.
11348
11349         New module 'integer_length'.
11350         * lib/integer_length.h: New file.
11351         * lib/integer_length.c: New file.
11352         * modules/integer_length: New file.
11353
11354 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11355
11356         popen: Fix dependency conditions.
11357         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11358
11359 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11360
11361         perror: Fix autoconf test.
11362         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11363         <stdlib.h> and <string.h>.
11364
11365 2011-10-14  Bruno Haible  <bruno@clisp.org>
11366
11367         ffsl: Optimize on 64-bit platforms.
11368         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11369         unrolling.
11370
11371 2011-10-13  Bruno Haible  <bruno@clisp.org>
11372
11373         ffsl: Optimize on 32-bit platforms.
11374         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11375         use ffs() without a loop.
11376
11377         ffsl, ffsll: Optimize for GCC.
11378         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11379         * lib/ffsl.c (GCC_BUILTIN): New macro.
11380         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11381
11382 2011-10-13  Bruno Haible  <bruno@clisp.org>
11383
11384         ffs, bcopy, memset: Support symbol renaming via config.h.
11385         * lib/ffs.c: Include <config.h>.
11386         * lib/bcopy.c: Likewise.
11387         * lib/memset.c: Likewise.
11388
11389 2011-10-10  Bruno Haible  <bruno@clisp.org>
11390
11391         atanl: Simplify for platforms where 'long double' == 'double'.
11392         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11393         alternative implementation.
11394         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11395         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11396         * modules/atanl (Depends-on): Add atan. Update conditions.
11397
11398 2011-10-10  Bruno Haible  <bruno@clisp.org>
11399
11400         acosl: Simplify for platforms where 'long double' == 'double'.
11401         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11402         alternative implementation.
11403         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11404         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11405         * modules/acosl (Depends-on): Add acos. Update conditions.
11406
11407 2011-10-10  Bruno Haible  <bruno@clisp.org>
11408
11409         asinl: Simplify for platforms where 'long double' == 'double'.
11410         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11411         alternative implementation.
11412         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11413         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11414         * modules/asinl (Depends-on): Add asin. Update conditions.
11415
11416 2011-10-10  Bruno Haible  <bruno@clisp.org>
11417
11418         tanl: Simplify for platforms where 'long double' == 'double'.
11419         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11420         implementation.
11421         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11422         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11423         * modules/tanl (Depends-on): Add tan. Update conditions.
11424         (configure.ac): Don't compile trigl.c if
11425         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11426
11427 2011-10-10  Bruno Haible  <bruno@clisp.org>
11428
11429         cosl: Simplify for platforms where 'long double' == 'double'.
11430         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11431         implementation.
11432         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11433         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11434         * modules/cosl (Depends-on): Add cos. Update conditions.
11435         (configure.ac): Don't compile sincosl.c and trigl.c if
11436         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11437
11438 2011-10-10  Bruno Haible  <bruno@clisp.org>
11439
11440         sinl: Simplify for platforms where 'long double' == 'double'.
11441         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11442         implementation.
11443         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11444         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11445         * modules/sinl (Depends-on): Add sin. Update conditions.
11446         (configure.ac): Don't compile sincosl.c and trigl.c if
11447         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11448
11449 2011-10-10  Bruno Haible  <bruno@clisp.org>
11450
11451         logl: Simplify for platforms where 'long double' == 'double'.
11452         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11453         implementation.
11454         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11455         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11456         * modules/logl (Depends-on): Add log. Update conditions.
11457
11458 2011-10-10  Bruno Haible  <bruno@clisp.org>
11459
11460         expl: Simplify for platforms where 'long double' == 'double'.
11461         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11462         implementation.
11463         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11464         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11465         * modules/expl (Depends-on): Add exp. Update conditions.
11466
11467 2011-10-10  Bruno Haible  <bruno@clisp.org>
11468
11469         sqrtl: Simplify for platforms where 'long double' == 'double'.
11470         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11471         alternative implementation.
11472         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11473         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11474         * modules/sqrtl (Depends-on): Update conditions.
11475
11476 2011-10-10  Bruno Haible  <bruno@clisp.org>
11477
11478         ldexpl: Simplify for platforms where 'long double' == 'double'.
11479         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11480         alternative implementation.
11481         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11482         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11483         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11484
11485 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11486
11487         ffsll: set correct witness
11488         * modules/ffsll (configure.ac): Fix typo.
11489
11490 2011-10-10  Bruno Haible  <bruno@clisp.org>
11491
11492         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11493         * lib/printf-frexpl.c: Include <config.h>.
11494         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11495         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11496         second time.
11497         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11498         gl_LONG_DOUBLE_VS_DOUBLE.
11499         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11500         conditions.
11501
11502 2011-10-10  Bruno Haible  <bruno@clisp.org>
11503
11504         frexpl: Simplify for platforms where 'long double' == 'double'.
11505         * lib/frexpl.c: Include <config.h>.
11506         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11507         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11508         time.
11509         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11510         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11511         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11512         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11513         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11514         conditions.
11515
11516 2011-10-10  Jim Meyering  <meyering@redhat.com>
11517
11518         test-renameat: don't leave behind a temporary file
11519         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11520           ERROR: files left in build directory after distclean:
11521           ./gltests/test-renameat.too
11522           make[1]: *** [distcleancheck] Error 1
11523         Reported by Tom G. Christensen.
11524
11525 2011-10-09  Bruno Haible  <bruno@clisp.org>
11526
11527         rint: Determine RINT_LIBM correctly on AIX 7.
11528         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11529         directly, not only through a function pointer. Also accept an optional
11530         4th argument with extra code.
11531         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11532         rintf() call by gcc when optimizing.
11533
11534         mathfunc.m4: Refactor.
11535         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11536         m4 variable.
11537
11538 2011-10-09  Bruno Haible  <bruno@clisp.org>
11539
11540         rintl: Simplify for platforms where 'long double' == 'double'.
11541         * lib/rintl.c: Include <config.h>.
11542         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11543         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11544         time.
11545         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11546         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11547         * modules/rintl (Depends-on): Add rint. Update conditions.
11548
11549 2011-10-09  Bruno Haible  <bruno@clisp.org>
11550
11551         roundl: Simplify for platforms where 'long double' == 'double'.
11552         * lib/roundl.c: Include <config.h>.
11553         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11554         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11555         time.
11556         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11557         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11558         * modules/roundl (Depends-on): Add round. Update conditions.
11559
11560 2011-10-09  Bruno Haible  <bruno@clisp.org>
11561
11562         truncl: Simplify for platforms where 'long double' == 'double'.
11563         * lib/truncl.c: Include <config.h>.
11564         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11565         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11566         time.
11567         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11568         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11569         * modules/truncl (Depends-on): Add trunc. Update conditions.
11570
11571 2011-10-09  Bruno Haible  <bruno@clisp.org>
11572
11573         ceill: Simplify for platforms where 'long double' == 'double'.
11574         * lib/ceill.c: Include <config.h>.
11575         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11576         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11577         time.
11578         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11579         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11580         * modules/ceill (Depends-on): Add ceil. Update conditions.
11581
11582 2011-10-09  Bruno Haible  <bruno@clisp.org>
11583
11584         floorl: Simplify for platforms where 'long double' == 'double'.
11585         * lib/floorl.c: Include <config.h>.
11586         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11587         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11588         time.
11589         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11590         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11591         * modules/floorl (Depends-on): Add floor. Update conditions.
11592
11593 2011-10-09  Bruno Haible  <bruno@clisp.org>
11594
11595         rint: Fix ordering constraints.
11596         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11597         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11598         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11599
11600 2011-10-09  Bruno Haible  <bruno@clisp.org>
11601
11602         copysignl: Simplify for platforms where 'long double' == 'double'.
11603         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11604         alternative.
11605         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11606         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11607         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11608
11609 2011-10-09  Bruno Haible  <bruno@clisp.org>
11610
11611         Tests for module 'rintl'.
11612         * modules/rintl-tests: New file.
11613         * tests/test-rintl.c: New file.
11614
11615         New module 'rintl'.
11616         * lib/math.in.h (rintl): New declaration.
11617         * lib/rintl.c: New file.
11618         * m4/rintl.m4: New file.
11619         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11620         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11621         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11622         * modules/rintl: New file.
11623         * tests/test-math-c++.cc: Check the declaration of rintl.
11624         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11625         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11626         * doc/posix-functions/rintl.texi: Mention the new module.
11627
11628 2011-10-09  Bruno Haible  <bruno@clisp.org>
11629
11630         Tests for module 'rintf'.
11631         * modules/rintf-tests: New file.
11632         * tests/test-rintf.c: New file.
11633
11634         New module 'rintf'.
11635         * lib/math.in.h (rintf): New declaration.
11636         * lib/rintf.c: New file.
11637         * m4/rintf.m4: New file.
11638         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11639         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11640         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11641         * modules/rintf: New file.
11642         * tests/test-math-c++.cc: Check the declaration of rintf.
11643         * doc/posix-functions/rintf.texi: Mention the new module.
11644
11645 2011-10-09  Bruno Haible  <bruno@clisp.org>
11646
11647         rint: Support for MSVC.
11648         * lib/math.in.h (rint): New declaration.
11649         * lib/rint.c: New file.
11650         * m4/rint.m4: New file.
11651         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11652         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11653         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11654         * modules/rint (Description): Fix.
11655         (Files): Add lib/rint.c, m4/rint.m4.
11656         (Depends-on): Add math.
11657         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11658         gl_MATH_MODULE_INDICATOR.
11659         * tests/test-math-c++.cc: Check the declaration of rint.
11660         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11661         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11662         * doc/posix-functions/rint.texi: Mention the replacement provided by
11663         the module.
11664
11665         rint tests: More tests.
11666         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11667         minus-zero.h, infinity.h, nan.h.
11668         (main): Skip the test if the current rounding mode is not standard. Add
11669         tests for negative numbers, minus zero, infinity, NaN.
11670         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11671         tests/nan.h.
11672         (Depends-on): Add isnand-nolibm.
11673
11674 2011-10-09  Bruno Haible  <bruno@clisp.org>
11675
11676         Tests for module 'copysignl'.
11677         * modules/copysignl-tests: New file.
11678         * tests/test-copysignl.c: New file.
11679
11680         New module 'copysignl'.
11681         * lib/math.in.h (copysignl): New declaration.
11682         * lib/copysignl.c: New file.
11683         * m4/copysignl.m4: New file.
11684         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11685         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11686         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11687         HAVE_COPYSIGNL.
11688         * modules/copysignl: New file.
11689         * tests/test-math-c++.cc: Check the declaration of copysignl.
11690         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11691         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11692         * doc/posix-functions/copysignl.texi: Mention the new module.
11693
11694 2011-10-09  Bruno Haible  <bruno@clisp.org>
11695
11696         Tests for module 'copysignf'.
11697         * modules/copysignf-tests: New file.
11698         * tests/test-copysignf.c: New file.
11699
11700         New module 'copysignf'.
11701         * lib/math.in.h (copysignf): New declaration.
11702         * lib/copysignf.c: New file.
11703         * m4/copysignf.m4: New file.
11704         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11705         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11706         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11707         HAVE_COPYSIGNF.
11708         * modules/copysignf: New file.
11709         * tests/test-math-c++.cc: Check the declaration of copysignf.
11710         * doc/posix-functions/copysignf.texi: Mention the new module.
11711
11712 2011-10-09  Bruno Haible  <bruno@clisp.org>
11713
11714         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11715         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11716         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11717         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11718         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11719         gl_SIGNAL_H_DEFAULTS.
11720
11721 2011-10-09  Bruno Haible  <bruno@clisp.org>
11722
11723         poll: Make macro safer.
11724         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11725         ac_cv_header_poll_h is not set.
11726
11727 2011-10-09  Bruno Haible  <bruno@clisp.org>
11728
11729         copysign: Provide replacement.
11730         * lib/math.in.h (copysign): New declaration.
11731         * lib/copysign.c: New file.
11732         * m4/copysign.m4: New file.
11733         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11734         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11735         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11736         HAVE_COPYSIGN.
11737         * modules/copysign (Description): Clarify.
11738         (Files): Add lib/copysign.c, m4/copysign.m4.
11739         (Depends-on): Add math, signbit.
11740         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11741         gl_MATH_MODULE_INDICATOR.
11742         * tests/test-math-c++.cc: Check the declaration of copysign.
11743         * doc/posix-functions/copysign.texi: Mention the effects of the module
11744         on Minix and MSVC.
11745
11746 2011-10-09  Bruno Haible  <bruno@clisp.org>
11747
11748         isinf: Ensure macro on AIX 5.1.
11749         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11750         macro.
11751         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11752
11753 2011-10-09  Bruno Haible  <bruno@clisp.org>
11754
11755         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11756         * modules/snprintf-posix-tests (configure.ac): Require
11757         gl_LONG_DOUBLE_VS_DOUBLE.
11758         * modules/sprintf-posix-tests (configure.ac): Likewise.
11759         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11760         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11761         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11762         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11763         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11764         tests on platforms where 'long double' is the same as 'double'.
11765         * tests/test-sprintf-posix.h (test_function): Likewise.
11766         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11767         * tests/test-vasprintf-posix.c (test_function): Likewise.
11768
11769         *printf: Fix for platforms where 'long double' == 'double'.
11770         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11771         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11772         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11773         * modules/fprintf-posix (Files): Likewise.
11774         * modules/obstack-printf-posix (Files): Likewise.
11775         * modules/snprintf-posix (Files): Likewise.
11776         * modules/sprintf-posix (Files): Likewise.
11777         * modules/vasnprintf (Files): Likewise.
11778         * modules/vasnprintf-posix (Files): Likewise.
11779         * modules/vasprintf-posix (Files): Likewise.
11780         * modules/vdprintf-posix (Files): Likewise.
11781         * modules/vfprintf-posix (Files): Likewise.
11782         * modules/vsnprintf-posix (Files): Likewise.
11783         * modules/vsprintf-posix (Files): Likewise.
11784         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11785         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11786         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11787         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11788         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11789         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11790         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11791
11792         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11793         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11794         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11795         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11796         'long double'.
11797         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11798
11799         isinf: Fix for platforms where 'long double' == 'double'.
11800         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11801         Don't blindly assume 80-bit 'long double'.
11802
11803         isfinite: Fix for platforms where 'long double' == 'double'.
11804         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11805         Don't blindly assume 80-bit 'long double'.
11806
11807         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11808         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11809         * modules/isfinite-tests (configure.ac): Require
11810         gl_LONG_DOUBLE_VS_DOUBLE.
11811         * modules/isinf-tests (configure.ac): Likewise.
11812         * modules/isnan-tests (configure.ac): Likewise.
11813         * modules/isnanl-tests (configure.ac): Likewise.
11814         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11815         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11816         tests on platforms where 'long double' is the same as 'double'.
11817         * tests/test-isinf.c (test_isinfl): Likewise.
11818         * tests/test-isnan.c (test_long_double): Likewise.
11819         * tests/test-isnanl.h (main): Likewise.
11820
11821 2011-10-08  Bruno Haible  <bruno@clisp.org>
11822
11823         Tests for module 'tanhf'.
11824         * modules/tanhf-tests: New file.
11825         * tests/test-tanhf.c: New file.
11826
11827         New module 'tanhf'.
11828         * lib/math.in.h (tanhf): New declaration.
11829         * lib/tanhf.c: New file.
11830         * m4/tanhf.m4: New file.
11831         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11832         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11833         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11834         * modules/tanhf: New file.
11835         * tests/test-math-c++.cc: Check the declaration of tanhf.
11836         * doc/posix-functions/tanhf.texi: Mention the new module.
11837
11838         tanh: Use a .m4 file.
11839         * m4/tanh.m4: New file.
11840         * modules/tanh (Files): Add it.
11841         (configure.ac): Just invoke gl_FUNC_TANH.
11842
11843 2011-10-08  Bruno Haible  <bruno@clisp.org>
11844
11845         Tests for module 'coshf'.
11846         * modules/coshf-tests: New file.
11847         * tests/test-coshf.c: New file.
11848
11849         New module 'coshf'.
11850         * lib/math.in.h (coshf): New declaration.
11851         * lib/coshf.c: New file.
11852         * m4/coshf.m4: New file.
11853         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11854         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11855         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11856         * modules/coshf: New file.
11857         * tests/test-math-c++.cc: Check the declaration of coshf.
11858         * doc/posix-functions/coshf.texi: Mention the new module.
11859
11860         cosh: Use a .m4 file.
11861         * m4/cosh.m4: New file.
11862         * modules/cosh (Files): Add it.
11863         (configure.ac): Just invoke gl_FUNC_COSH.
11864
11865 2011-10-08  Bruno Haible  <bruno@clisp.org>
11866
11867         Tests for module 'sinhf'.
11868         * modules/sinhf-tests: New file.
11869         * tests/test-sinhf.c: New file.
11870
11871         New module 'sinhf'.
11872         * lib/math.in.h (sinhf): New declaration.
11873         * lib/sinhf.c: New file.
11874         * m4/sinhf.m4: New file.
11875         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11876         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11877         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11878         * modules/sinhf: New file.
11879         * tests/test-math-c++.cc: Check the declaration of sinhf.
11880         * doc/posix-functions/sinhf.texi: Mention the new module.
11881
11882         sinh: Use a .m4 file.
11883         * m4/sinh.m4: New file.
11884         * modules/sinh (Files): Add it.
11885         (configure.ac): Just invoke gl_FUNC_SINH.
11886
11887 2011-10-08  Bruno Haible  <bruno@clisp.org>
11888
11889         Tests for module 'atan2f'.
11890         * modules/atan2f-tests: New file.
11891         * tests/test-atan2f.c: New file.
11892
11893         New module 'atan2f'.
11894         * lib/math.in.h (atan2f): New declaration.
11895         * lib/atan2f.c: New file.
11896         * m4/atan2f.m4: New file.
11897         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11898         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11899         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11900         * modules/atan2f: New file.
11901         * tests/test-math-c++.cc: Check the declaration of atan2f.
11902         * doc/posix-functions/atan2f.texi: Mention the new module.
11903
11904         atan2: Use a .m4 file.
11905         * m4/atan2.m4: New file.
11906         * modules/atan2 (Files): Add it.
11907         (configure.ac): Just invoke gl_FUNC_ATAN2.
11908
11909 2011-10-08  Bruno Haible  <bruno@clisp.org>
11910
11911         Tests for module 'atanf'.
11912         * modules/atanf-tests: New file.
11913         * tests/test-atanf.c: New file.
11914
11915         New module 'atanf'.
11916         * lib/math.in.h (atanf): New declaration.
11917         * lib/atanf.c: New file.
11918         * m4/atanf.m4: New file.
11919         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11920         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11921         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11922         * modules/atanf: New file.
11923         * tests/test-math-c++.cc: Check the declaration of atanf.
11924         * doc/posix-functions/atanf.texi: Mention the new module.
11925
11926         atan: Use a .m4 file.
11927         * m4/atan.m4: New file.
11928         * modules/atan (Files): Add it.
11929         (configure.ac): Just invoke gl_FUNC_ATAN.
11930
11931 2011-10-08  Bruno Haible  <bruno@clisp.org>
11932
11933         Tests for module 'acosf'.
11934         * modules/acosf-tests: New file.
11935         * tests/test-acosf.c: New file.
11936
11937         New module 'acosf'.
11938         * lib/math.in.h (acosf): New declaration.
11939         * lib/acosf.c: New file.
11940         * m4/acosf.m4: New file.
11941         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11942         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11943         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11944         * modules/acosf: New file.
11945         * tests/test-math-c++.cc: Check the declaration of acosf.
11946         * doc/posix-functions/acosf.texi: Mention the new module.
11947
11948         acos: Use a .m4 file.
11949         * m4/acos.m4: New file.
11950         * modules/acos (Files): Add it.
11951         (configure.ac): Just invoke gl_FUNC_ACOS.
11952
11953 2011-10-08  Bruno Haible  <bruno@clisp.org>
11954
11955         Tests for module 'asinf'.
11956         * modules/asinf-tests: New file.
11957         * tests/test-asinf.c: New file.
11958
11959         New module 'asinf'.
11960         * lib/math.in.h (asinf): New declaration.
11961         * lib/asinf.c: New file.
11962         * m4/asinf.m4: New file.
11963         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11964         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11965         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11966         * modules/asinf: New file.
11967         * tests/test-math-c++.cc: Check the declaration of asinf.
11968         * doc/posix-functions/asinf.texi: Mention the new module.
11969
11970         asin: Use a .m4 file.
11971         * m4/asin.m4: New file.
11972         * modules/asin (Files): Add it.
11973         (configure.ac): Just invoke gl_FUNC_ASIN.
11974
11975 2011-10-08  Bruno Haible  <bruno@clisp.org>
11976
11977         Tests for module 'tanf'.
11978         * modules/tanf-tests: New file.
11979         * tests/test-tanf.c: New file.
11980
11981         New module 'tanf'.
11982         * lib/math.in.h (tanf): New declaration.
11983         * lib/tanf.c: New file.
11984         * m4/tanf.m4: New file.
11985         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11987         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11988         * modules/tanf: New file.
11989         * tests/test-math-c++.cc: Check the declaration of tanf.
11990         * doc/posix-functions/tanf.texi: Mention the new module.
11991
11992         tan: Use a .m4 file.
11993         * m4/tan.m4: New file.
11994         * modules/tan (Files): Add it.
11995         (configure.ac): Just invoke gl_FUNC_TAN.
11996
11997 2011-10-08  Bruno Haible  <bruno@clisp.org>
11998
11999         Tests for module 'cosf'.
12000         * modules/cosf-tests: New file.
12001         * tests/test-cosf.c: New file.
12002
12003         New module 'cosf'.
12004         * lib/math.in.h (cosf): New declaration.
12005         * lib/cosf.c: New file.
12006         * m4/cosf.m4: New file.
12007         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12008         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12009         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12010         * modules/cosf: New file.
12011         * tests/test-math-c++.cc: Check the declaration of cosf.
12012         * doc/posix-functions/cosf.texi: Mention the new module.
12013
12014         cos: Use a .m4 file.
12015         * m4/cos.m4: New file.
12016         * modules/cos (Files): Add it.
12017         (configure.ac): Just invoke gl_FUNC_COS.
12018
12019 2011-10-08  Bruno Haible  <bruno@clisp.org>
12020
12021         Tests for module 'sinf'.
12022         * modules/sinf-tests: New file.
12023         * tests/test-sinf.c: New file.
12024
12025         New module 'sinf'.
12026         * lib/math.in.h (sinf): New declaration.
12027         * lib/sinf.c: New file.
12028         * m4/sinf.m4: New file.
12029         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12030         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12031         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12032         * modules/sinf: New file.
12033         * tests/test-math-c++.cc: Check the declaration of sinf.
12034         * doc/posix-functions/sinf.texi: Mention the new module.
12035
12036         sin: Use a .m4 file.
12037         * m4/sin.m4: New file.
12038         * modules/sin (Files): Add it.
12039         (configure.ac): Just invoke gl_FUNC_SIN.
12040
12041 2011-10-08  Bruno Haible  <bruno@clisp.org>
12042
12043         Tests for module 'powf'.
12044         * modules/powf-tests: New file.
12045         * tests/test-powf.c: New file.
12046
12047         New module 'powf'.
12048         * lib/math.in.h (powf): New declaration.
12049         * lib/powf.c: New file.
12050         * m4/powf.m4: New file.
12051         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12052         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12053         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12054         * modules/powf: New file.
12055         * tests/test-math-c++.cc: Check the declaration of powf.
12056         * doc/posix-functions/powf.texi: Mention the new module.
12057
12058         pow: Use a .m4 file.
12059         * m4/pow.m4: New file.
12060         * modules/pow (Files): Add it.
12061         (configure.ac): Just invoke gl_FUNC_POW.
12062
12063 2011-10-08  Bruno Haible  <bruno@clisp.org>
12064
12065         Tests for module 'log10f'.
12066         * modules/log10f-tests: New file.
12067         * tests/test-log10f.c: New file.
12068
12069         New module 'log10f'.
12070         * lib/math.in.h (log10f): New declaration.
12071         * lib/log10f.c: New file.
12072         * m4/log10f.m4: New file.
12073         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12074         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12075         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12076         * modules/log10f: New file.
12077         * tests/test-math-c++.cc: Check the declaration of log10f.
12078         * doc/posix-functions/log10f.texi: Mention the new module.
12079
12080         log10: Use a .m4 file.
12081         * m4/log10.m4: New file.
12082         * modules/log10 (Files): Add it.
12083         (configure.ac): Just invoke gl_FUNC_LOG10.
12084
12085 2011-10-08  Bruno Haible  <bruno@clisp.org>
12086
12087         Tests for module 'logf'.
12088         * modules/logf-tests: New file.
12089         * tests/test-logf.c: New file.
12090
12091         New module 'logf'.
12092         * lib/math.in.h (logf): New declaration.
12093         * lib/logf.c: New file.
12094         * m4/logf.m4: New file.
12095         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12097         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12098         * modules/logf: New file.
12099         * tests/test-math-c++.cc: Check the declaration of logf.
12100         * doc/posix-functions/logf.texi: Mention the new module.
12101
12102         log: Use a .m4 file.
12103         * m4/log.m4: New file.
12104         * modules/log (Files): Add it.
12105         (configure.ac): Just invoke gl_FUNC_LOG.
12106
12107 2011-10-08  Bruno Haible  <bruno@clisp.org>
12108
12109         Tests for module 'expf'.
12110         * modules/expf-tests: New file.
12111         * tests/test-expf.c: New file.
12112
12113         New module 'expf'.
12114         * lib/math.in.h (expf): New declaration.
12115         * lib/expf.c: New file.
12116         * m4/expf.m4: New file.
12117         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12118         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12119         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12120         * modules/expf: New file.
12121         * tests/test-math-c++.cc: Check the declaration of expf.
12122         * doc/posix-functions/expf.texi: Mention the new module.
12123
12124         exp: Use a .m4 file.
12125         * m4/exp.m4: New file.
12126         * modules/exp (Files): Add it.
12127         (configure.ac): Just invoke gl_FUNC_EXP.
12128
12129 2011-10-08  Bruno Haible  <bruno@clisp.org>
12130
12131         Tests for module 'sqrtf'.
12132         * modules/sqrtf-tests: New file.
12133         * tests/test-sqrtf.c: New file.
12134
12135         New module 'sqrtf'.
12136         * lib/math.in.h (sqrtf): New declaration.
12137         * lib/sqrtf.c: New file.
12138         * m4/sqrtf.m4: New file.
12139         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12140         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12141         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12142         * modules/sqrtf: New file.
12143         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12144         * doc/posix-functions/sqrtf.texi: Mention the new module.
12145
12146 2011-10-08  Bruno Haible  <bruno@clisp.org>
12147
12148         Tests: Avoid link failures w.r.t. libintl.
12149         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12150         $(LIBINTL).
12151         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12152         $(LIBINTL).
12153         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12154         against $(LIBINTL).
12155         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12156         $(LIBINTL).
12157         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12158         $(LIBINTL).
12159         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12160
12161 2011-10-08  Bruno Haible  <bruno@clisp.org>
12162
12163         pow tests: Defeat compiler optimizations.
12164         * tests/test-pow.c (main): Assign arguments to x and y before use.
12165
12166 2011-10-08  Bruno Haible  <bruno@clisp.org>
12167
12168         gnulib-tool: Improve last commit.
12169         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12170         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12171         ignore dependencies that are not among the modules list.
12172
12173 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12174
12175         gnulib-tool: don't follow dependencies to avoided modules
12176         This fixes a bug that is related to the previous one.
12177         * gnulib-tool (func_modules_transitive_closure)
12178         (func_emit_autoconf_snippets):
12179         Check whether a dependency is acceptable before using it.
12180         (--extract-dependencies): Report an error if --avoid is also used,
12181         since this combination of options is not yet supported.
12182
12183         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12184         Problem reported by Peter Dyballa in
12185         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12186         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12187         when echoing "$condition".
12188
12189 2011-10-07  Bruno Haible  <bruno@clisp.org>
12190
12191         Fix documentation about math functions on MacOS X.
12192         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12193         MacOS X 10.5.
12194         * doc/posix-functions/fdim.texi: Likewise.
12195         * doc/posix-functions/feclearexcept.texi: Likewise.
12196         * doc/posix-functions/fegetenv.texi: Likewise.
12197         * doc/posix-functions/fegetround.texi: Likewise.
12198         * doc/posix-functions/feholdexcept.texi: Likewise.
12199         * doc/posix-functions/feraiseexcept.texi: Likewise.
12200         * doc/posix-functions/fesetenv.texi: Likewise.
12201         * doc/posix-functions/fesetround.texi: Likewise.
12202         * doc/posix-functions/fetestexcept.texi: Likewise.
12203         * doc/posix-functions/feupdateenv.texi: Likewise.
12204         * doc/posix-functions/fmax.texi: Likewise.
12205         * doc/posix-functions/fmin.texi: Likewise.
12206         * doc/posix-functions/log2.texi: Likewise.
12207         * doc/posix-functions/modff.texi: Likewise.
12208         * doc/posix-functions/nan.texi: Likewise.
12209         * doc/posix-functions/nanf.texi: Likewise.
12210         * doc/posix-functions/nextafterf.texi: Likewise.
12211         * doc/posix-functions/remquo.texi: Likewise.
12212
12213 2011-10-07  Bruno Haible  <bruno@clisp.org>
12214
12215         modff: Drop assumption about library that defines modff.
12216         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12217         AC_CHECK_FUNCS.
12218         * modules/modff (Files): Add m4/mathfunc.m4.
12219
12220 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12221
12222         raise tests: Avoid a GCC warning.
12223         * tests/test-raise.c (handler): Use _Noreturn.
12224
12225 2011-10-07  Bruno Haible  <bruno@clisp.org>
12226
12227         Tests for module 'ldexpf'.
12228         * modules/ldexpf-tests: New file.
12229         * tests/test-ldexpf.c: New file.
12230
12231         New module 'ldexpf'.
12232         * lib/math.in.h (ldexpf): New declaration.
12233         * lib/ldexpf.c: New file.
12234         * m4/ldexpf.m4: New file.
12235         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12236         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12237         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12238         * modules/ldexpf: New file.
12239         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12240         * doc/posix-functions/ldexpf.texi: Mention the new module.
12241
12242 2011-10-06  Bruno Haible  <bruno@clisp.org>
12243
12244         frexpf: Work around problems on IRIX and mingw.
12245         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12246         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12247         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12248         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12249         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12250         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12251         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12252
12253 2011-10-06  Bruno Haible  <bruno@clisp.org>
12254
12255         fabsf: Drop assumption about library that defines fabsf.
12256         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12257         AC_CHECK_FUNCS.
12258         * modules/fabsf (Files): Add m4/mathfunc.m4.
12259
12260 2011-10-06  Bruno Haible  <bruno@clisp.org>
12261
12262         frexpf: Drop assumption about library that defines frexpf.
12263         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12264         'int *', 'float *', 'long double *', 'float', 'long double'.
12265         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12266         AC_CHECK_FUNCS.
12267         * modules/frexpf (Files): Add m4/mathfunc.m4.
12268
12269         Tests for module 'frexpf'.
12270         * modules/frexpf-tests: New file.
12271         * tests/test-frexpf.c: New file.
12272
12273         New module 'frexpf'.
12274         * lib/math.in.h (frexpf): New declaration.
12275         * lib/frexpf.c: New file.
12276         * m4/frexpf.m4: New file.
12277         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12278         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12279         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12280         * modules/frexpf: New file.
12281         * tests/test-math-c++.cc: Check the declaration of frexpf.
12282         * doc/posix-functions/frexpf.texi: Mention the new module.
12283
12284 2011-10-06  Bruno Haible  <bruno@clisp.org>
12285
12286         math: Sort function declarations of math.in.h.
12287         * lib/math.in.h (frexp, logb): Move declarations.
12288
12289 2011-10-05  Bruno Haible  <bruno@clisp.org>
12290
12291         Tests for module 'modff'.
12292         * modules/modff-tests: New file.
12293         * tests/test-modff.c: New file.
12294
12295         New module 'modff'.
12296         * lib/math.in.h (modff): New declaration.
12297         * lib/modff.c: New file.
12298         * m4/modff.m4: New file.
12299         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12301         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12302         * modules/modff: New file.
12303         * tests/test-math-c++.cc: Check the declaration of modff.
12304         * doc/posix-functions/modff.texi: Mention the new module.
12305
12306         modf tests: Make test sharper.
12307         * tests/test-modf.c (main): Strengthen upper bound.
12308
12309         modf: Use a .m4 file.
12310         * m4/modf.m4: New file.
12311         * modules/modf (Files): Add it.
12312         (configure.ac): Just invoke gl_FUNC_MODF.
12313
12314 2011-10-05  Bruno Haible  <bruno@clisp.org>
12315
12316         Tests for module 'fmodf'.
12317         * modules/fmodf-tests: New file.
12318         * tests/test-fmodf.c: New file.
12319
12320         New module 'fmodf'.
12321         * lib/math.in.h (fmodf): New declaration.
12322         * lib/fmodf.c: New file.
12323         * m4/fmodf.m4: New file.
12324         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12325         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12326         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12327         * modules/fmodf: New file.
12328         * tests/test-math-c++.cc: Check the declaration of fmodf.
12329         * doc/posix-functions/fmodf.texi: Mention the new module.
12330
12331         fmod: Use a .m4 file.
12332         * m4/fmod.m4: New file.
12333         * modules/fmod (Files): Add it.
12334         (configure.ac): Just invoke gl_FUNC_FMOD.
12335
12336 2011-10-05  Bruno Haible  <bruno@clisp.org>
12337
12338         Tests for module 'fabsf'.
12339         * modules/fabsf-tests: New file.
12340         * tests/test-fabsf.c: New file.
12341
12342         New module 'fabsf'.
12343         * lib/math.in.h (fabsf): New declaration.
12344         * lib/fabsf.c: New file.
12345         * m4/fabsf.m4: New file.
12346         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12347         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12348         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12349         * modules/fabsf: New file.
12350         * tests/test-math-c++.cc: Check the declaration of fabsf.
12351         * doc/posix-functions/fabsf.texi: Mention the new module.
12352
12353         fabs: Use a .m4 file.
12354         * m4/fabs.m4: New file.
12355         * modules/fabs (Files): Add it.
12356         (configure.ac): Just invoke gl_FUNC_FABS.
12357
12358 2011-10-05  Jim Meyering  <meyering@redhat.com>
12359
12360         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12361         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12362         ls -lL regression introduced in coreutils-8.12, it does so at the
12363         cost of an additional stat call in the common case.  Besides, now
12364         that the kernel change that prompted commit 95f7c57f has been reverted
12365         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12366         we have no use for commit 95f7c57f, "file-has-acl: use
12367         acl_extended_file_nofollow if available".
12368
12369 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12370
12371         file-has-acl: revert unintended change in behavior of ls -L
12372         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12373         derived from...
12374         (file_has_acl): ...code here.  Call it.
12375         This problem was introduced with 2011-07-22 commit 95f7c57f,
12376         "file-has-acl: use acl_extended_file_nofollow if available".
12377         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12378
12379 2011-10-03  Bruno Haible  <bruno@clisp.org>
12380
12381         poll: Avoid link errors on MSVC.
12382         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12383         * modules/poll (Depends-on): Add sockets.
12384         (Link): New section.
12385         * NEWS: Mention the change.
12386         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12387         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12388         $(LIB_POLL) instead of $(LIBSOCKET).
12389
12390 2011-10-03  Bruno Haible  <bruno@clisp.org>
12391
12392         sys_select tests: Fix link error on MSVC 9.
12393         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12394         with $(LIB_SELECT) instead of $(LIBSOCKET).
12395
12396 2011-10-03  Bruno Haible  <bruno@clisp.org>
12397
12398         sys_select: Fix compilation error on mingw.
12399         * lib/sys_select.in.h: On native Windows, include <io.h>.
12400
12401 2011-10-03  Bruno Haible  <bruno@clisp.org>
12402
12403         wmemset: Support for MSVC.
12404         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12405         whether wmemset() exists.
12406
12407 2011-10-03  Bruno Haible  <bruno@clisp.org>
12408
12409         wmemmove: Support for MSVC.
12410         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12411         whether wmemmove() exists.
12412
12413 2011-10-03  Bruno Haible  <bruno@clisp.org>
12414
12415         wmemcpy: Support for MSVC.
12416         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12417         whether wmemcpy() exists.
12418
12419 2011-10-03  Bruno Haible  <bruno@clisp.org>
12420
12421         wmemcmp: Support for MSVC.
12422         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12423         whether wmemcmp() exists.
12424
12425 2011-10-03  Bruno Haible  <bruno@clisp.org>
12426
12427         wmemchr: Support for MSVC.
12428         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12429         whether wmemchr() exists.
12430
12431 2011-10-03  Bruno Haible  <bruno@clisp.org>
12432
12433         glthread/*, strsignal: Support for MSVC.
12434         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12435         including <winsock.h> on MSVC 9.
12436         * lib/glthread/lock.h: Likewise.
12437         * lib/glthread/thread.h: Likewise.
12438         * lib/glthread/tls.h: Likewise.
12439         * lib/glthread/yield.h: Likewise.
12440         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12441         if HAVE_UNISTD_H is false.
12442         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12443
12444 2011-10-03  Bruno Haible  <bruno@clisp.org>
12445
12446         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12447         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12448         Set to 100000.
12449
12450 2011-10-03  Bruno Haible  <bruno@clisp.org>
12451
12452         acl: Fix specification.
12453         * lib/file-has-acl.c (file_has_acl): Fix specification.
12454
12455 2011-10-03  Bruno Haible  <bruno@clisp.org>
12456
12457         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12458         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12459         (compute_curr_prefix, shared_library_fullname,
12460         find_shared_library_fullname, get_shared_library_fullname, relocate):
12461         Use it together with PIC && INSTALLDIR.
12462         Reported by <jojelino@gmail.com>
12463         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12464
12465 2011-10-01  Jim Meyering  <meyering@redhat.com>
12466
12467         maint.mk: adjust a release-related rule not to require use of gzip
12468         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12469         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12470         projects that build only .tar.xz files.  Also fix an erroneous test.
12471
12472         test-linkat: don't leave behind a temporary file
12473         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12474         Otherwise, coreutils' "make distcheck" would fail with this:
12475           Only in /c/cu/tests/torture/coreutils/test/\
12476             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12477           make[2]: *** [my-distcheck] Error 1
12478
12479         float, math: add omitted file
12480         * lib/itold.c: Add file, required for yesterday's float change.
12481
12482 2011-10-01  Bruno Haible  <bruno@clisp.org>
12483
12484         isinf: Fix for OpenBSD/x86.
12485         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12486         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12487         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12488
12489 2011-10-01  Bruno Haible  <bruno@clisp.org>
12490
12491         isfinite: Fix syntax error in configure test.
12492         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12493
12494         isfinite: Fix typo.
12495         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12496         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12497
12498 2011-10-01  Bruno Haible  <bruno@clisp.org>
12499
12500         nonblocking tests: Fix test failure on Linux/IA-64.
12501         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12502         Set to 270000.
12503
12504 2011-10-01  Bruno Haible  <bruno@clisp.org>
12505
12506         mkfifoat tests: Fix a test failure on mingw.
12507         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12508         with error ENOSYS.
12509
12510 2011-09-30  Bruno Haible  <bruno@clisp.org>
12511
12512         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12513         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12514         'long double'. Set REPLACE_ITOLD.
12515         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12516         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12517         * lib/itold.c: New file.
12518         * modules/float (Files): Add lib/itold.c.
12519         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12520         (Makefile.am): Substitute REPLACE_ITOLD.
12521         * modules/math (Depends-on): Add float.
12522         (Makefile.am): Substitute REPLACE_ITOLD.
12523         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12524         * doc/posix-headers/math.texi: Likewise.
12525         * doc/posix-functions/logl.texi: Likewise.
12526
12527 2011-09-30  Bruno Haible  <bruno@clisp.org>
12528
12529         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12530         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12531         Set to 140000.
12532
12533 2011-09-30  Bruno Haible  <bruno@clisp.org>
12534
12535         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12536         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12537         invocation, say "right after AC_PROG_CC_STDC", not "right after
12538         AC_PROG_CC".
12539         Reported by Gary V. Vaughan <gary@gnu.org>.
12540
12541 2011-09-30  Bruno Haible  <bruno@clisp.org>
12542
12543         Centralize C99 requirement.
12544         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12545         * modules/stdarg (configure.ac-early): Invoke it instead of
12546         AC_PROG_CC_STDC.
12547         Reported by Gary V. Vaughan and Paul Eggert.
12548
12549 2011-09-29  Bruno Haible  <bruno@clisp.org>
12550
12551         float: Fix LDBL_MAX value on Linux/PowerPC.
12552         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12553         on Linux/PowerPC.
12554         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12555         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12556         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12557         platform.
12558         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12559
12560 2011-09-29  Bruno Haible  <bruno@clisp.org>
12561
12562         doc: Improve doc about gl_EARLY.
12563         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12564         AC_PROG_CC_STDC invocation.
12565         Reported by Gary V. Vaughan <gary@gnu.org>.
12566
12567 2011-09-28  Bruno Haible  <bruno@clisp.org>
12568
12569         fgetc, fputc, fread, fwrite tests: Fix link error.
12570         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12571         on non-MSVC platforms.
12572         * tests/test-fputc.c (main): Likewise.
12573         * tests/test-fread.c (main): Likewise.
12574         * tests/test-fwrite.c (main): Likewise.
12575         Reported by Jim Meyering.
12576
12577 2011-09-27  Bruno Haible  <bruno@clisp.org>
12578
12579         fputc, fwrite tests: Avoid test failure on MSVC.
12580         * tests/test-fgetc.c: Include msvc-inval.h.
12581         (main): Invoke gl_msvc_inval_ensure_handler.
12582         * tests/test-fputc.c: Include msvc-inval.h.
12583         (main): Invoke gl_msvc_inval_ensure_handler.
12584         * tests/test-fread.c: Include msvc-inval.h.
12585         (main): Invoke gl_msvc_inval_ensure_handler.
12586         * tests/test-fwrite.c: Include msvc-inval.h.
12587         (main): Invoke gl_msvc_inval_ensure_handler.
12588         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12589         * modules/fputc-tests (Depends-on): Likewise.
12590         * modules/fread-tests (Depends-on): Likewise.
12591         * modules/fwrite-tests (Depends-on): Likewise.
12592
12593 2011-09-27  Bruno Haible  <bruno@clisp.org>
12594
12595         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12596         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12597         (raise): Remove older, duplicated declaration.
12598         (_gl_raise_SIGPIPE): New declaration.
12599         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12600         (rpl_raise): Remove function.
12601         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12602         a gnulib-defined SIGPIPE here.
12603         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12604         'sigprocmask' has detected missing signal-blocking and the module
12605         'sigpipe' is enabled.
12606         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12607
12608 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12609
12610         base64-tests: avoid memory leak
12611         * tests/test-base64.c (main): Plug memory leak.
12612
12613         base32: new module
12614         * modules/base32: New module.
12615         * lib/base32.c: New file.
12616         * lib/base32.h: Likewise.
12617         * m4/base32.m4: Likewise.
12618         * modules/base32-tests: New test.
12619         * tests/test-base32.c: Likewise.
12620         * MODULES.html.sh (Misc): Mention it.
12621
12622 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12623
12624         gnulib: use more-standard license notice wording
12625         * gnulib-tool (func_emit_copyright_notice): When emitting a
12626         license notice into a file, use the standard wording as suggested
12627         by the current information for GNU maintainers, except say "file"
12628         rather than "program".  The new wording gives a license version
12629         number, which addresses an issue raised by Glenn Morris in
12630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12631         * m4/onceonly.m4: Use that same wording here, too.
12632
12633         dup2: minor simplification
12634         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12635         as lib/dup2.c no longer uses 'inline'.
12636
12637 2011-09-25  Bruno Haible  <bruno@clisp.org>
12638
12639         strings: Fix compilation error on MSVC.
12640         * lib/strings.in.h: Include <stddef.h> for size_t.
12641
12642 2011-09-25  Bruno Haible  <bruno@clisp.org>
12643
12644         fflush et al.: Document limitation on MSVC.
12645         * doc/posix-functions/fflush.texi: Document possible crash in handling
12646         mode other than DEFAULT_HANDLING.
12647         * doc/posix-functions/fgetc.texi: Likewise.
12648         * doc/posix-functions/fputc.texi: Likewise.
12649         * doc/posix-functions/fread.texi: Likewise.
12650         * doc/posix-functions/fwrite.texi: Likewise.
12651
12652 2011-09-25  Bruno Haible  <bruno@clisp.org>
12653
12654         msvc-inval: Allow three invalid parameter handling modes.
12655         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12656         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12657         macros.
12658         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12659         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12660         SANE_LIBRARY_HANDLING as a no-op.
12661         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12662         <stdlib.h>.
12663         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12664
12665 2011-09-25  Bruno Haible  <bruno@clisp.org>
12666
12667         msvc-inval: Make handler multithread-safe.
12668         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12669         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12670         declarations.
12671         (gl_msvc_inval_current): New declaration.
12672         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12673         Operate on the structure returned by gl_msvc_inval_current().
12674         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12675         Remove varaiables.
12676         (tls_index, tls_initialized): New variables.
12677         (not_per_thread): New variable.
12678         (gl_msvc_inval_current): New function.
12679         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12680         returned by gl_msvc_inval_current().
12681
12682 2011-09-25  Bruno Haible  <bruno@clisp.org>
12683
12684         msvc-inval: Install handler globally.
12685         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12686         !_MSC_VER.
12687         (gl_msvc_invalid_parameter_handler): Remove declaration.
12688         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12689         declarations.
12690         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12691         Install the handler globally, don't uninstall it.
12692         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12693         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12694         currently valid, call RaiseException instead.
12695         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12696         for !_MSC_VER.
12697
12698 2011-09-25  Bruno Haible  <bruno@clisp.org>
12699
12700         strerror_r-posix: Fix for MSVC 9.
12701         * lib/strerror_r.c (local_snprintf): New function.
12702         (snprintf): Define to local_snprintf, not to _snprintf.
12703
12704 2011-09-25  Bruno Haible  <bruno@clisp.org>
12705
12706         ftruncate: Support for MSVC 9.
12707         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12708         (chsize_nothrow): New function.
12709         (chsize): Redefine as a macro.
12710         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12711         * modules/ftruncate (Depends-on): Add msvc-inval.
12712
12713 2011-09-25  Bruno Haible  <bruno@clisp.org>
12714
12715         New module 'fstat'.
12716         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12717         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12718         * lib/fchdir.c (rpl_fstat): Remove function.
12719         * m4/fstat.m4: New file.
12720         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12721         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12722         declared.
12723         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12724         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12725         * modules/fstat: New file.
12726         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12727         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12728         is set.
12729         * doc/posix-functions/fstat.texi: Mention the new module and the
12730         problem on MSVC.
12731         * NEWS: Mention the change.
12732         * modules/acl (Depends-on): Add fstat.
12733         * modules/chdir-safer (Depends-on): Likewise.
12734         * modules/chown (Depends-on): Likewise.
12735         * modules/copy-file (Depends-on): Likewise.
12736         * modules/fchdir (Depends-on): Likewise.
12737         * modules/fdopendir (Depends-on): Likewise.
12738         * modules/fopen (Depends-on): Likewise.
12739         * modules/fts (Depends-on): Likewise.
12740         * modules/getcwd (Depends-on): Likewise.
12741         * modules/isapipe (Depends-on): Likewise.
12742         * modules/linkat (Depends-on): Likewise.
12743         * modules/lseek (Depends-on): Likewise.
12744         * modules/mkdir-p (Depends-on): Likewise.
12745         * modules/open (Depends-on): Likewise.
12746         * modules/openat (Depends-on): Likewise.
12747         * modules/read-file (Depends-on): Likewise.
12748         * modules/renameat (Depends-on): Likewise.
12749         * modules/utimens (Depends-on): Likewise.
12750
12751 2011-09-25  Bruno Haible  <bruno@clisp.org>
12752
12753         linkat: Fix compilation on MSVC 9.
12754         * lib/linkat.c: Don't include <stdint.h>.
12755
12756 2011-09-25  Bruno Haible  <bruno@clisp.org>
12757
12758         fclose: Support for MSVC 9.
12759         * lib/fclose.c: Include msvc-inval.h.
12760         (fclose_nothrow): New function.
12761         (rpl_fclose): Use it.
12762         * modules/fclose (Depends-on): Add msvc-inval.
12763         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12764
12765 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12766
12767         dup2: minor simplifications
12768         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12769         that it's a performance win.
12770         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12771         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12772
12773 2011-09-24  Jim Meyering  <meyering@redhat.com>
12774
12775         test-futimens: avoid a warning from gcc -Wshadow
12776         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12777         to avoid a shadowing warning.
12778
12779 2011-09-24  Bruno Haible  <bruno@clisp.org>
12780
12781         fdopen: Support for MSVC 9.
12782         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12783         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12784         * lib/fdopen.c: Include msvc-inval.h.
12785         (fdopen_nothrow): New function.
12786         (rpl_fdopen): Use it.
12787         * modules/fdopen (Depends-on): Add msvc-inval.
12788         * modules/fclose-tests (Depends-on): Add fdopen.
12789         * modules/fflush-tests (Depends-on): Likewise.
12790         * modules/fgetc-tests (Depends-on): Likewise.
12791         * modules/fputc-tests (Depends-on): Likewise.
12792         * modules/fread-tests (Depends-on): Likewise.
12793         * modules/freopen-tests (Depends-on): Likewise.
12794         * modules/fseeko-tests (Depends-on): Likewise.
12795         * modules/ftello-tests (Depends-on): Likewise.
12796         * modules/fwrite-tests  (Depends-on): Likewise.
12797         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12798
12799 2011-09-24  Bruno Haible  <bruno@clisp.org>
12800
12801         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12802         * modules/fgetc-tests (Depends-on): Add unistd.
12803         * modules/fputc-tests (Depends-on): Likewise.
12804         * modules/fread-tests (Depends-on): Likewise.
12805         * modules/fwrite-tests (Depends-on): Likewise.
12806
12807 2011-09-24  Bruno Haible  <bruno@clisp.org>
12808
12809         dup: Simplify autoconf test.
12810         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12811         on gl_MSVC_INVAL's result.
12812
12813 2011-09-24  Bruno Haible  <bruno@clisp.org>
12814
12815         Tests for function fwrite().
12816         * modules/fwrite-tests: New file.
12817         * tests/test-fwrite.c: New file.
12818         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12819
12820         Tests for function fread().
12821         * modules/fread-tests: New file.
12822         * tests/test-fread.c: New file.
12823         * modules/stdio-tests (Depends-on): Add fread-tests.
12824
12825         Activate fputc tests.
12826         * modules/stdio-tests (Depends-on): Add fputc-tests.
12827
12828         Enhance fgetc, fputc tests.
12829         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12830         * tests/test-fputc.c (main): Likewise.
12831
12832 2011-09-24  Bruno Haible  <bruno@clisp.org>
12833
12834         write: Support for MSVC 9.
12835         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12836         is not 1.
12837         * lib/write.c (write_nothrow): New function.
12838         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12839         not 1. Use write_nothrow.
12840         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12841         invalid parameter handler.
12842         (gl_PREREQ_WRITE): New macro.
12843         * modules/write (Depends-on): Add msvc-inval.
12844         (configure.ac): Invoke gl_PREREQ_WRITE.
12845         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12846
12847 2011-09-24  Bruno Haible  <bruno@clisp.org>
12848
12849         read: Fix last commit.
12850         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12851
12852 2011-09-24  Bruno Haible  <bruno@clisp.org>
12853
12854         dup2: Fix last commit.
12855         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12856         (rpl_dup2): Disable fcntl workaround on native Windows.
12857
12858         sigprocmask: Make code safer.
12859         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12860         section that changes macro definitions for this compilation unit.
12861
12862 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12863
12864         dup2: clarify by coalescing Windows-specific material
12865         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12866         "msvc-nothrow.h"' to the Windows-specific section, so that the
12867         Emacs source need not contain these include files.
12868         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12869         Windows-specific fixes into this function rather than just the
12870         nothrow fix, as this shortens and clarifies the code.  Always
12871         define as a function, as that's a bit cleaner than having it be
12872         sometimes a function and sometimes a macro.
12873         (rpl_dup2): Move the Windows-specific stuff out of here and into
12874         ms_windows_dup2.  Don't protect the Haiku-related fix with
12875         "#if !defined __linux__", as the same code also works around
12876         a Linux kernel bug, and it doesn't add any system calls on any
12877         platform.  Add comment about FreeBSD 6.1.
12878
12879         sigprocmask: move #include directive
12880         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12881         Windows-specific section, so that the Emacs source need not
12882         contain msvc-inval.h.
12883
12884 2011-09-23  Bruno Haible  <bruno@clisp.org>
12885
12886         read: Support for MSVC 9.
12887         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12888         is not 1.
12889         * lib/read.c (read_nothrow): New function.
12890         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12891         read_nothrow.
12892         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12893         invalid parameter handler.
12894         (gl_PREREQ_READ): New macro.
12895         * modules/read (Depends-on): Add msvc-inval.
12896         (configure.ac): Invoke gl_PREREQ_READ.
12897         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12898
12899 2011-09-23  Bruno Haible  <bruno@clisp.org>
12900
12901         close: Support for MSVC 9.
12902         * lib/close.c: Include <errno.h>, msvc-inval.h.
12903         (close_nothrow): New function.
12904         (rpl_close): Use it.
12905         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12906         invalid parameter handler.
12907         * modules/close (Depends-on): Add msvc-inval.
12908         * modules/dup2-tests (Depends-on): Add close.
12909         * modules/dup3-tests (Depends-on): Likewise.
12910         * modules/fcntl-tests (Depends-on): Likewise.
12911         * modules/spawn-pipe-tests (Depends-on): Likewise.
12912         * modules/unistd-safer-tests (Depends-on): Likewise.
12913         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12914
12915 2011-09-23  Bruno Haible  <bruno@clisp.org>
12916
12917         New module 'dup'.
12918         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12919         Allow replacement.
12920         * lib/dup.c: New file.
12921         * lib/fchdir.c (rpl_dup): Remove function.
12922         * m4/dup.m4: New file.
12923         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12924         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12925         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12926         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12927         * modules/dup: New file.
12928         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12929         'dup' module is in use.
12930         * modules/fdopendir (Depends-on): Add dup.
12931         * modules/fdutimensat-tests (Depends-on): Likewise.
12932         * modules/fts (Depends-on): Likewise.
12933         * modules/futimens-tests (Depends-on): Likewise.
12934         * modules/posix_spawnp-tests (Depends-on): Likewise.
12935         * modules/unistd-safer-tests (Depends-on): Likewise.
12936         * modules/utimens-tests (Depends-on): Likewise.
12937         * doc/posix-functions/dup.texi: Mention the new module and the problem
12938         on MSVC.
12939
12940 2011-09-23  Bruno Haible  <bruno@clisp.org>
12941
12942         getdtablesize: Support for MSVC 9.
12943         * lib/getdtablesize.c: Include msvc-inval.h.
12944         (_setmaxstdio_nothrow): New function.
12945         (_setmaxstdio): Redefine it.
12946         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12947         * modules/getdtablesize (Depends-on): Add msvc-inval.
12948         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12949
12950 2011-09-23  Bruno Haible  <bruno@clisp.org>
12951
12952         signal-h: Rename from signal.
12953         * modules/signal-h: Renamed from modules/signal.
12954         * modules/pthread_sigmask (Depends-on): Update.
12955         * modules/raise (Depends-on): Likewise.
12956         * modules/sigaction (Depends-on): Likewise.
12957         * modules/sigpipe (Depends-on): Likewise.
12958         * modules/sigprocmask (Depends-on): Likewise.
12959         * modules/sys_select (Depends-on): Likewise.
12960         * modules/signal-h-tests: Renamed from modules/signal-tests.
12961         (Files, Depends-on, Makefile.am): Update.
12962         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12963         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12964         (Files, Makefile.am): Update.
12965         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12966         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12967         * modules/signal: New placeholder file.
12968         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12969         * doc/posix-headers/signal.texi: Update.
12970         * NEWS: Mention the change.
12971
12972 2011-09-23  Bruno Haible  <bruno@clisp.org>
12973
12974         sigprocmask: Avoid crashes through signal() on MSVC 9.
12975         * lib/sigprocmask.c: Include msvc-inval.h.
12976         (signal_nothrow): New function.
12977         (signal): Redefine it.
12978         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12979         * modules/sigprocmask (Depends-on): Add msvc-inval.
12980         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12981
12982 2011-09-23  Bruno Haible  <bruno@clisp.org>
12983
12984         Tests for module 'raise'.
12985         * modules/raise-tests: New file.
12986         * tests/test-raise.c: New file.
12987
12988         raise: Support for MSVC.
12989         * lib/signal.in.h (raise): New declaration.
12990         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12991         for native Windows platforms.
12992         * m4/raise.m4: New file.
12993         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12994         HAVE_RAISE, REPLACE_RAISE.
12995         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12996         REPLACE_RAISE.
12997         * modules/raise (Status, Notice): Remove fields.
12998         (Files): Add m4/raise.m4.
12999         (Depends-on): Add signal, msvc-inval.
13000         (configure.ac): Use the common idioms.
13001         (Maintainer): Add me.
13002         * tests/test-signal-c++.cc: Check the signature of raise.
13003         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13004
13005 2011-09-23  Bruno Haible  <bruno@clisp.org>
13006
13007         pipe2: Fix compilation on pre-C99 compilers.
13008         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13009
13010 2011-09-23  Bruno Haible  <bruno@clisp.org>
13011
13012         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13013         * lib/msvc-nothrow.h: New file.
13014         * lib/msvc-nothrow.c: New file.
13015         * m4/msvc-nothrow.m4: New file.
13016         * modules/msvc-nothrow: New file.
13017         * lib/dup2.c: Include msvc-nothrow.h.
13018         (rpl_dup2): No need to protect _get_osfhandle call here.
13019         * lib/accept4.c: Include msvc-nothrow.h.
13020         * lib/error.c: Likewise.
13021         * lib/fcntl.c: Likewise.
13022         * lib/lseek.c: Likewise.
13023         * lib/nonblocking.c: Likewise.
13024         * lib/poll.c: Likewise.
13025         * lib/read.c: Likewise.
13026         * lib/select.c: Likewise.
13027         * lib/sockets.h: Likewise.
13028         * lib/sockets.c: Likewise.
13029         * lib/stdio-read.c: Likewise.
13030         * lib/stdio-write.c: Likewise.
13031         * lib/write.c: Likewise.
13032         * lib/w32sock.h: Likewise.
13033         * lib/w32spawn.h: Likewise.
13034         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13035         * lib/fsync.c: Likewise.
13036         * lib/isapipe.c: Likewise.
13037         * modules/dup2 (Depends-on): Add msvc-nothrow.
13038         * modules/accept4 (Depends-on): Likewise.
13039         * modules/error (Depends-on): Likewise.
13040         * modules/fcntl (Depends-on): Likewise.
13041         * modules/lseek (Depends-on): Likewise.
13042         * modules/nonblocking (Depends-on): Likewise.
13043         * modules/poll (Depends-on): Likewise.
13044         * modules/read (Depends-on): Likewise.
13045         * modules/select (Depends-on): Likewise.
13046         * modules/sockets (Depends-on): Likewise.
13047         * modules/sigpipe (Depends-on): Likewise.
13048         * modules/write (Depends-on): Likewise.
13049         * modules/accept (Depends-on): Likewise.
13050         * modules/bind (Depends-on): Likewise.
13051         * modules/connect (Depends-on): Likewise.
13052         * modules/gethostname (Depends-on): Likewise.
13053         * modules/getpeername (Depends-on): Likewise.
13054         * modules/getsockname (Depends-on): Likewise.
13055         * modules/getsockopt (Depends-on): Likewise.
13056         * modules/ioctl (Depends-on): Likewise.
13057         * modules/listen (Depends-on): Likewise.
13058         * modules/recv (Depends-on): Likewise.
13059         * modules/recvfrom (Depends-on): Likewise.
13060         * modules/send (Depends-on): Likewise.
13061         * modules/sendto (Depends-on): Likewise.
13062         * modules/setsockopt (Depends-on): Likewise.
13063         * modules/shutdown (Depends-on): Likewise.
13064         * modules/socket (Depends-on): Likewise.
13065         * modules/execute (Depends-on): Likewise.
13066         * modules/spawn-pipe (Depends-on): Likewise.
13067         * modules/flock (Depends-on): Likewise.
13068         * modules/fsync (Depends-on): Likewise.
13069         * modules/isapipe (Depends-on): Likewise.
13070         * tests/test-cloexec.c: Include msvc-nothrow.h.
13071         * tests/test-dup-safer.c: Likewise.
13072         * tests/test-dup2.c: Likewise.
13073         * tests/test-dup3.c: Likewise.
13074         * tests/test-fcntl.c: Likewise.
13075         * tests/test-pipe.c: Likewise.
13076         * tests/test-pipe2.c: Likewise.
13077         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
13078         * modules/unistd-safer-tests (Depends-on): Likewise.
13079         * modules/dup2-tests (Depends-on): Likewise.
13080         * modules/dup3-tests (Depends-on): Likewise.
13081         * modules/fcntl-tests (Depends-on): Likewise.
13082         * modules/pipe-posix-tests (Depends-on): Likewise.
13083         * modules/pipe2-tests (Depends-on): Likewise.
13084
13085 2011-09-23  Bruno Haible  <bruno@clisp.org>
13086
13087         dup2: Make code more maintainable.
13088         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13089         (rpl_dup2): Use it.
13090         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13091         * modules/dup2 (configure.ac): Invoke it.
13092         Reported by Paul Eggert.
13093
13094 2011-09-23  Bruno Haible  <bruno@clisp.org>
13095
13096         msvc-inval: Fix compilation error.
13097         * lib/msvc-inval.h: Include <excpt.h>.
13098
13099 2011-09-23  Bruno Haible  <bruno@clisp.org>
13100
13101         mkdir: Tweak for MSVC 9.
13102         * lib/sys_stat.in.h: Update comments.
13103         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13104
13105         Tests for module 'chdir'.
13106         * modules/chdir-tests: New file.
13107         * tests/test-chdir.c: New file.
13108
13109         New module 'chdir'.
13110         * modules/chdir: New file.
13111         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13112         (chdir): New declaration.
13113         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13114         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13115         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13116         * tests/test-unistd-c++.cc: Check signature of chdir.
13117         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13118         * modules/chdir-long (Depends-on): Add chdir.
13119         * modules/fchdir (Depends-on): Likewise.
13120         * modules/rename (Depends-on): Likewise.
13121         * modules/savewd (Depends-on): Likewise.
13122
13123         rmdir: Support for mingw, MSVC 9.
13124         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13125         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13126
13127         getcwd: Tweak for MSVC 9.
13128         * lib/unistd.in.h: Update comments.
13129         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13130
13131 2011-09-22  Bruno Haible  <bruno@clisp.org>
13132
13133         strerror_r-posix: Avoid a link error on MSVC.
13134         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13135         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13136
13137 2011-09-22  Bruno Haible  <bruno@clisp.org>
13138
13139         select: Avoid link errors on MSVC.
13140         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13141         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13142         * modules/pselect (Link): Likewise.
13143         * NEWS: Mention the change.
13144         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13145         test-select-stdin against $(LIB_SELECT).
13146         * modules/pselect-tests (Makefile.am): Link test-pselect against
13147         $(LIB_SELECT).
13148
13149 2011-09-22  Bruno Haible  <bruno@clisp.org>
13150
13151         select: Avoid compilation error on MSVC.
13152         * lib/select.c: Don't include <stdbool.h>.
13153
13154 2011-09-21  Bruno Haible  <bruno@clisp.org>
13155
13156         Consolidate all uses of PATH_MAX in *.m4 files.
13157         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13158         macros.
13159         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13160         and gl_PATHMAX_SNIPPET.
13161         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13162         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13163         * modules/chdir-long (Files): Add m4/pathmax.m4.
13164         * modules/getcwd (Files): Likewise.
13165
13166 2011-09-21  Bruno Haible  <bruno@clisp.org>
13167
13168         ftruncate: Un-deprecate, concentrate on Win32 support.
13169         * modules/ftruncate (Status, Notice): Remove sections.
13170         (Depends-on): Add largefile.
13171         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13172         non-mingw platforms.
13173         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13174         include <io.h>.
13175         * modules/perror-tests (Depends-on): Add ftruncate.
13176         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13177         'ftruncate' module.
13178
13179 2011-09-21  Bruno Haible  <bruno@clisp.org>
13180
13181         Add dependencies to new dirent related modules.
13182         * modules/opendir (Depends-on): Add closedir.
13183         * modules/getcwd (Depends-on): Add opendir, closedir.
13184         * modules/dirent-safer-tests (Depends-on): Likewise.
13185         * modules/fdopendir-tests (Depends-on): Likewise.
13186         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13187         * modules/renameat-tests (Depends-on): Likewise.
13188
13189 2011-09-21  Bruno Haible  <bruno@clisp.org>
13190
13191         opendir: Avoid compilation error on mingw.
13192         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13193         * modules/opendir (Depends-on): Add unistd.
13194
13195 2011-09-21  Bruno Haible  <bruno@clisp.org>
13196
13197         ftruncate tests: Avoid a test failure on mingw.
13198         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13199
13200 2011-09-21  Bruno Haible  <bruno@clisp.org>
13201
13202         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13203         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13204         native Windows.
13205
13206 2011-09-21  Bruno Haible  <bruno@clisp.org>
13207
13208         New module 'fdopen'.
13209         * lib/stdio.in.h (fdopen): New declaration.
13210         * lib/fdopen.c: New file.
13211         * m4/fdopen.m4: New file.
13212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13213         REPLACE_FDOPEN.
13214         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13215         REPLACE_FDOPEN.
13216         * modules/fdopen: New file.
13217         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13218         * tests/test-stdio-c++.cc: Check signature of fdopen.
13219         * doc/posix-functions/fdopen.texi: Mention the new module.
13220
13221 2011-09-21  Bruno Haible  <bruno@clisp.org>
13222
13223         unlockpt tests: Avoid test failure on NetBSD 5.1.
13224         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13225         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13226
13227 2011-09-21  Bruno Haible  <bruno@clisp.org>
13228
13229         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13230         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13231         * tests/test-getlogin_r.c (main): Likewise.
13232
13233 2011-09-20  Bruno Haible  <bruno@clisp.org>
13234
13235         time tests: Don't require pid_t.
13236         * doc/posix-headers/time.texi: Revert last change.
13237         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13238         * tests/test-time.c: Comment out the check for pid_t.
13239
13240 2011-09-20  Bruno Haible  <bruno@clisp.org>
13241
13242         fsync tests: Avoid a test failure on mingw.
13243         * tests/test-fsync.c (main): Allow a failure with EIO.
13244
13245 2011-09-20  Bruno Haible  <bruno@clisp.org>
13246
13247         euidaccess: Update comments.
13248         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13249
13250 2011-09-20  Bruno Haible  <bruno@clisp.org>
13251
13252         Ensure EBADF returns for socket functions on mingw.
13253         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13254         descriptor is invalid.
13255         * lib/bind.c (rpl_bind): Likewise.
13256         * lib/connect.c (rpl_connect): Likewise.
13257         * lib/getpeername.c (rpl_getpeername): Likewise.
13258         * lib/getsockname.c (rpl_getsockname): Likewise.
13259         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13260         * lib/listen.c (rpl_listen): Likewise.
13261         * lib/recv.c (rpl_recv): Likewise.
13262         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13263         * lib/send.c (rpl_send): Likewise.
13264         * lib/sendto.c (rpl_sendto): Likewise.
13265         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13266         * lib/shutdown.c (rpl_shutdown): Likewise.
13267
13268 2011-09-20  Bruno Haible  <bruno@clisp.org>
13269
13270         select tests: EBADF tests.
13271         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13272         test_bad_fd): New functions.
13273         (test_function): Invoke also test_bad_fd.
13274
13275 2011-09-20  Bruno Haible  <bruno@clisp.org>
13276
13277         Tests for module 'posix_spawn_file_actions_addopen.
13278         * modules/posix_spawn_file_actions_addopen-tests: New file.
13279         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13280
13281         Tests for module 'posix_spawn_file_actions_adddup2'.
13282         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13283         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13284
13285         Tests for module 'posix_spawn_file_actions_addclose'.
13286         * modules/posix_spawn_file_actions_addclose-tests: New file.
13287         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13288
13289 2011-09-20  Bruno Haible  <bruno@clisp.org>
13290
13291         Tests for module 'unlockpt'.
13292         * modules/unlockpt-tests: New file.
13293         * tests/test-unlockpt.c: New file.
13294         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13295
13296         Tests for module 'grantpt'.
13297         * modules/grantpt-tests: New file.
13298         * tests/test-grantpt.c: New file.
13299         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13300
13301 2011-09-20  Bruno Haible  <bruno@clisp.org>
13302
13303         freopen tests: EBADF tests.
13304         * tests/test-freopen.c: Include errno.h, unistd.h.
13305         (main): Add tests for EBADF, commented out for the moment.
13306
13307         fclose tests: EBADF tests.
13308         * tests/test-fclose.c (main): Add tests for EBADF.
13309
13310         fflush tests: EBADF tests.
13311         * tests/test-fflush.c: Include errno.h, macros.h.
13312         (main): Add tests for EBADF.
13313
13314         ftello tests: EBADF tests.
13315         * tests/test-ftello4.sh: New file.
13316         * tests/test-ftello4.c: New file.
13317         * modules/ftello-tests (Files): Add them.
13318         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13319
13320         fseeko tests: EBADF tests.
13321         * tests/test-fseeko4.sh: New file.
13322         * tests/test-fseeko4.c: New file.
13323         * modules/fseeko-tests (Files): Add them.
13324         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13325
13326         Tests for function fputc().
13327         * modules/fputc-tests: New file.
13328         * tests/test-fputc.c: New file.
13329         * modules/stdio-tests (Depends-on): Add fputc-tests.
13330
13331         Tests for function fgetc().
13332         * modules/fgetc-tests: New file.
13333         * tests/test-fgetc.c: New file.
13334         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13335
13336         Tests for function fdopen().
13337         * modules/fdopen-tests: New file.
13338         * tests/test-fdopen.c: New file.
13339         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13340
13341         Tests for module 'vdprintf'.
13342         * modules/vdprintf-tests: New file.
13343         * tests/test-vdprintf.c: New file.
13344
13345         Tests for module 'dprintf'.
13346         * modules/dprintf-tests: New file.
13347         * tests/test-dprintf.c: New file.
13348
13349 2011-09-20  Bruno Haible  <bruno@clisp.org>
13350
13351         Tests for module 'ioctl'.
13352         * modules/ioctl-tests: New file.
13353         * tests/test-ioctl.c: New file.
13354
13355 2011-09-20  Bruno Haible  <bruno@clisp.org>
13356
13357         fcntl tests: EBADF tests.
13358         * tests/test-fcntl.c (main): Add more tests for EBADF.
13359
13360 2011-09-20  Bruno Haible  <bruno@clisp.org>
13361
13362         utimensat tests: EBADF tests.
13363         * tests/test-utimensat.c (main): Add tests for EBADF.
13364
13365         renameat tests: EBADF tests.
13366         * tests/test-renameat.c (main): Add tests for EBADF.
13367
13368         mkfifoat tests: EBADF tests.
13369         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13370
13371         readlinkat tests: EBADF tests.
13372         * tests/test-readlinkat.c (main): Add tests for EBADF.
13373
13374         symlinkat tests: EBADF tests.
13375         * tests/test-symlinkat.c (main): Add tests for EBADF.
13376
13377         linkat tests: EBADF tests.
13378         * tests/test-linkat.c (main): Add tests for EBADF.
13379
13380         Tests for module 'faccessat'.
13381         * modules/faccessat-tests: New file.
13382         * tests/test-faccessat.c: New file.
13383
13384         fdopendir tests: EBADF tests.
13385         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13386
13387         openat tests: EBADF tests.
13388         * tests/test-fchownat.c (main): Add tests for EBADF.
13389         * tests/test-fstatat.c (main): Likewise.
13390         * tests/test-mkdirat.c (main): Likewise.
13391         * tests/test-openat.c (main): Likewise.
13392         * tests/test-unlinkat.c (main): Likewise.
13393         * tests/test-fchmodat.c: New file.
13394         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13395         (Makefile.am): Also run 'test-fchmodat'.
13396
13397 2011-09-20  Bruno Haible  <bruno@clisp.org>
13398
13399         utimens, futimens, fdutimensat tests: EBADF tests.
13400         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13401
13402         Tests for function fstat().
13403         * modules/fstat-tests: New file.
13404         * tests/test-fstat.c: New file.
13405         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13406
13407 2011-09-20  Bruno Haible  <bruno@clisp.org>
13408
13409         test-ttyname_r tests: EBADF tests.
13410         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13411
13412         Tests for module 'isatty'.
13413         * modules/isatty-tests: New file.
13414         * tests/test-isatty.c: New file.
13415
13416         Tests for module 'write'.
13417         * modules/write-tests: New file.
13418         * tests/test-write.c: New file.
13419
13420         Tests for module 'read'.
13421         * modules/read-tests: New file.
13422         * tests/test-read.c: New file.
13423
13424         pwrite tests: EBADF tests.
13425         * tests/test-pwrite.c (main): Add tests for EBADF.
13426
13427         pread tests: EBADF tests.
13428         * tests/test-pread.c (main): Add tests for EBADF.
13429
13430         lseek tests: EBADF tests.
13431         * tests/test-lseek.c (main): Add more tests for EBADF.
13432
13433         Tests for module 'ftruncate'.
13434         * modules/ftruncate-tests: New file.
13435         * tests/test-ftruncate.sh: New file.
13436         * tests/test-ftruncate.c: New file.
13437
13438         fsync tests: EBADF tests.
13439         * tests/test-fsync.c (main): Add more tests for EBADF.
13440
13441         fdatasync tests: EBADF tests.
13442         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13443
13444         Tests for module 'fchown'.
13445         * modules/fchown-tests: New file.
13446         * tests/test-fchown.c: New file.
13447
13448         Tests for module 'fchmod'.
13449         * modules/fchmod-tests: New file.
13450         * tests/test-fchmod.c: New file.
13451
13452         fchdir tests: EBADF tests.
13453         * tests/test-fchdir.c (main): Add more tests for EBADF.
13454
13455         dup2 tests: EBADF tests.
13456         * tests/test-dup2.c (main): Add more tests for EBADF.
13457
13458         Tests for module 'dup'.
13459         * modules/dup-tests: New file.
13460         * tests/test-dup.c: New file.
13461
13462         Tests for module 'close'.
13463         * modules/close-tests: New file.
13464         * tests/test-close.c: New file.
13465
13466 2011-09-20  Bruno Haible  <bruno@clisp.org>
13467
13468         Tests for module 'shutdown'.
13469         * modules/shutdown-tests: New file.
13470         * tests/test-shutdown.c: New file.
13471
13472         Tests for module 'setsockopt'.
13473         * modules/setsockopt-tests: New file.
13474         * tests/test-setsockopt.c: New file.
13475
13476         Tests for module 'sendto'.
13477         * modules/sendto-tests: New file.
13478         * tests/test-sendto.c: New file.
13479
13480         Tests for module 'send'.
13481         * modules/send-tests: New file.
13482         * tests/test-send.c: New file.
13483
13484         Tests for module 'recvfrom'.
13485         * modules/recvfrom-tests: New file.
13486         * tests/test-recvfrom.c: New file.
13487
13488         Tests for module 'recv'.
13489         * modules/recv-tests: New file.
13490         * tests/test-recv.c: New file.
13491
13492         Tests for module 'listen'.
13493         * modules/listen-tests: New file.
13494         * tests/test-listen.c: New file.
13495
13496         Tests for module 'getsockopt'.
13497         * modules/getsockopt-tests: New file.
13498         * tests/test-getsockopt.c: New file.
13499
13500         Tests for module 'getsockname'.
13501         * modules/getsockname-tests: New file.
13502         * tests/test-getsockname.c: New file.
13503
13504         Tests for module 'getpeername'.
13505         * modules/getpeername-tests: New file.
13506         * tests/test-getpeername.c: New file.
13507
13508         Tests for module 'connect'.
13509         * modules/connect-tests: New file.
13510         * tests/test-connect.c: New file.
13511
13512         Tests for module 'bind'.
13513         * modules/bind-tests: New file.
13514         * tests/test-bind.c: New file.
13515
13516         accept4 tests: Fix for native Windows.
13517         * tests/test-accept4.c: Include sockets.h.
13518         (main): Invoke gl_sockets_startup.
13519         * modules/accept4-tests (Depends-on): Add sockets.
13520
13521         accept tests: Fix for native Windows.
13522         * tests/test-accept.c: Include sockets.h.
13523         (main): Invoke gl_sockets_startup.
13524         * modules/accept-tests (Depends-on): Add sockets.
13525
13526 2011-09-19  Bruno Haible  <bruno@clisp.org>
13527
13528         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13529         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13530         do...while(0).
13531         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13532         Suggested by Paul Eggert.
13533
13534 2011-09-19  Bruno Haible  <bruno@clisp.org>
13535
13536         sched: Ensure pid_t is defined.
13537         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13538         not define pid_t.
13539         * lib/sched.in.h: Include <sys/types.h>.
13540         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13541         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13542
13543 2011-09-19  Bruno Haible  <bruno@clisp.org>
13544
13545         msvc-inval: Ensure the entire expansion is a single statement.
13546         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13547         of braces.
13548
13549 2011-09-19  Jim Meyering  <meyering@redhat.com>
13550
13551         tests: use printf, not echo in init.sh's warn_ function
13552         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13553         misbehave when given strings containing a backslash or starting
13554         with e.g., -n.  James Youngman suggested setting IFS.
13555
13556 2011-09-19  Eric Blake  <eblake@redhat.com>
13557
13558         futimens: enhance test
13559         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13560         closed non-negative fd.
13561
13562         date: accept 'hence' as opposite of 'ago'
13563         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13564         * tests/test-parse-datetime.c (main): Enhance test.
13565         Suggested by Jesse Wilson.
13566
13567 2011-09-19  Jim Meyering  <meyering@redhat.com>
13568
13569         getcwd: don't fail in a deep directory on a system without openat
13570         Before this change, getcwd would fail when called from a directory
13571         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13572         the non-openat implementation used "..", "../..", "../../..", etc.
13573         to access ancestor directories.  With too many, that string would
13574         be longer than PATH_MAX.
13575         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13576         using gnulib's openat replacement.
13577         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13578         we're using the replacement function.
13579
13580 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13581
13582         maint.mk: avoid warnings from perl about missing files
13583         * top/maint.mk (def_sym_regex): Ignore files listed in
13584         $(gl_other_headers_) that do not exist, say because a project
13585         does not use a corresponding module.
13586
13587 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13588
13589         stat: use pathmax.h only if needed
13590         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13591         This is better for Emacs, which does not have a mingw port and
13592         therefore can avoid the pathmax module.
13593
13594         utimens: remove dependency on dup2
13595         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13596         to work around the Linux kernel bug.
13597         * modules/utimens (Depends-on): Remove dup2.
13598
13599 2011-09-18  Bruno Haible  <bruno@clisp.org>
13600
13601         inet_ntop, inet_pton: Look for it also in libresolv.
13602         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13603         libnsl, search for it in libresolv.
13604         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13605         Needed on Solaris 7.
13606
13607 2011-09-18  Bruno Haible  <bruno@clisp.org>
13608
13609         accept, accept4 tests: Avoid link error on Solaris.
13610         * modules/accept-tests (Makefile.am): Link test-accept against
13611         $(LIBSOCKET).
13612         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13613         $(LIBSOCKET).
13614
13615         accept4: Avoid link error on Solaris.
13616         * modules/accept4 (Link): New section.
13617
13618         socket functions: Avoid link errors on Solaris.
13619         * modules/accept (Depends-on): Add socketlib.
13620         (Link): New section.
13621         * modules/bind (Depends-on): Add socketlib.
13622         (Link): New section.
13623         * modules/connect (Depends-on): Add socketlib.
13624         (Link): New section.
13625         * modules/getpeername (Depends-on): Add socketlib.
13626         (Link): New section.
13627         * modules/getsockname (Depends-on): Add socketlib.
13628         (Link): New section.
13629         * modules/getsockopt (Depends-on): Add socketlib.
13630         (Link): New section.
13631         * modules/listen (Depends-on): Add socketlib.
13632         (Link): New section.
13633         * modules/recv (Depends-on): Add socketlib.
13634         (Link): New section.
13635         * modules/recvfrom (Depends-on): Add socketlib.
13636         (Link): New section.
13637         * modules/send (Depends-on): Add socketlib.
13638         (Link): New section.
13639         * modules/sendto (Depends-on): Add socketlib.
13640         (Link): New section.
13641         * modules/setsockopt (Depends-on): Add socketlib.
13642         (Link): New section.
13643         * modules/shutdown (Depends-on): Add socketlib.
13644         (Link): New section.
13645         * modules/socket (Depends-on): Add socketlib.
13646         (Link): New section.
13647
13648 2011-09-18  Bruno Haible  <bruno@clisp.org>
13649
13650         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13651         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13652         than 5 seconds.
13653         * modules/ptsname-tests (configure.ac): Test for alarm.
13654
13655 2011-09-18  Bruno Haible  <bruno@clisp.org>
13656
13657         posix_spawn_file_actions_add*: Fix module dependencies.
13658         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13659         posix_spawn_file_actions_init.
13660         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13661         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13662
13663 2011-09-18  Bruno Haible  <bruno@clisp.org>
13664
13665         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13666         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13667         * tests/test-renameat.c (main): Likewise.
13668
13669 2011-09-18  Bruno Haible  <bruno@clisp.org>
13670
13671         Tests for module 'accept4'.
13672         * modules/accept4-tests: New file.
13673         * tests/test-accept4.c: New file.
13674
13675 2011-09-18  Bruno Haible  <bruno@clisp.org>
13676
13677         Tests for module 'accept'.
13678         * modules/accept-tests: New file.
13679         * tests/test-accept.c: New file.
13680
13681 2011-09-18  Bruno Haible  <bruno@clisp.org>
13682
13683         dup2: Support for MSVC.
13684         * lib/dup2.c: Include msvc-inval.h.
13685         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13686         _get_osfhandle calls.
13687         * modules/dup2 (Depends-on): Add msvc-inval.
13688         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13689
13690         New module 'msvc-inval'.
13691         * lib/msvc-inval.h: New file.
13692         * lib/msvc-inval.c: New file.
13693         * m4/msvc-inval.m4: New file.
13694         * modules/msvc-inval: New file.
13695
13696 2011-09-17  Bruno Haible  <bruno@clisp.org>
13697
13698         Tests for module 'pclose'.
13699         * modules/pclose-tests: New file.
13700
13701         New module 'pclose'.
13702         * lib/stdio.in.h (pclose): New declaration.
13703         * lib/pclose.c: New file.
13704         * m4/pclose.m4: New file.
13705         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13706         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13707         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13708         * modules/pclose: New file.
13709         * modules/popen-tests (Depends-on): Add pclose.
13710         * modules/popen-safer-tests (Depends-on): Likewise.
13711         * doc/posix-functions/pclose.texi: Mention the new module.
13712
13713 2011-09-17  Bruno Haible  <bruno@clisp.org>
13714
13715         popen: Support for MSVC.
13716         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13717         * lib/popen.c (popen): Provide alternate definition for native Windows.
13718         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13720         * modules/popen (Depends-on, configure.ac): Update condition.
13721         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13722         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13723         fixed.
13724
13725 2011-09-17  Bruno Haible  <bruno@clisp.org>
13726
13727         isnanl, isnand, isnanf: Work around MSVC bug.
13728         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13729
13730 2011-09-17  Bruno Haible  <bruno@clisp.org>
13731
13732         sys_socket tests: Fix recent mistake.
13733         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13734
13735 2011-09-17  Bruno Haible  <bruno@clisp.org>
13736
13737         putenv: Support for MSVC.
13738         * modules/putenv (Depends-on): Add environ.
13739         * lib/putenv.c (environ): Disable declaration.
13740         * lib/unistd.in.h: Update comment.
13741
13742 2011-09-17  Bruno Haible  <bruno@clisp.org>
13743
13744         math: Avoid macro redefinition warnings on MSVC.
13745         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13746         Undefine before redefining.
13747
13748 2011-09-17  Bruno Haible  <bruno@clisp.org>
13749
13750         doc: Mention functions which are declared as macros.
13751         * doc/posix-functions/*[fl].texi: Mention that some functions are
13752         defined as macros with arguments only.
13753
13754 2011-09-17  Bruno Haible  <bruno@clisp.org>
13755
13756         Add dependencies to new dirent related modules.
13757         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13758         * modules/fts (Depends-on): Likewise.
13759         * modules/glob (Depends-on): Likewise.
13760         * modules/savedir (Depends-on): Likewise.
13761         * modules/scandir (Depends-on): Likewise.
13762         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13763         * modules/fdopendir (Depends-on): Add opendir.
13764
13765 2011-09-17  Bruno Haible  <bruno@clisp.org>
13766
13767         inet_pton: Support for MSVC on Windows Vista or newer.
13768         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13769         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13770         HAVE_DECL_INET_PTON is defined.
13771         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13772         On platforms with <winsock2.h>, test whether inet_pton is declared in
13773         <ws2tcpip.h>. If so, arrange to replace it.
13774         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13775         REPLACE_INET_PTON.
13776         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13777         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13778         (Depends-on, configure.ac): Update condition.
13779         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13780
13781 2011-09-17  Bruno Haible  <bruno@clisp.org>
13782
13783         inet_ntop: Support for MSVC on Windows Vista or newer.
13784         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13785         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13786         HAVE_DECL_INET_NTOP is defined.
13787         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13788         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13789         <ws2tcpip.h>. If so, arrange to replace it.
13790         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13791         REPLACE_INET_NTOP.
13792         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13793         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13794         (Depends-on, configure.ac): Update condition.
13795         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13796
13797 2011-09-16  Eric Blake  <eblake@redhat.com>
13798
13799         test-fsync: yet another enhancement
13800         * tests/test-fsync.c (main): Also test behavior on read-only text
13801         file.
13802
13803 2011-09-16  Bruno Haible  <bruno@clisp.org>
13804
13805         Enhance fsync, fdatasync tests.
13806         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13807         * tests/test-fdatasync.c (main): Likewise.
13808
13809 2011-09-16  Bruno Haible  <bruno@clisp.org>
13810
13811         Support for MSVC compiler: Ensure mode_t gets defined.
13812         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13813         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13814         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13815         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13816         * tests/test-fcntl-h.c: Check that mode_t is defined.
13817         * tests/test-sys_stat.c: Likewise.
13818         * tests/test-sys_types.c: Likewise.
13819         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13820         * doc/posix-headers/sys_stat.texi: Likewise.
13821         * doc/posix-headers/sys_types.texi: Likewise.
13822
13823 2011-09-16  Bruno Haible  <bruno@clisp.org>
13824
13825         sys_stat: Support for MSVC.
13826         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13827         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13828         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13829         MSVC.
13830
13831 2011-09-16  Bruno Haible  <bruno@clisp.org>
13832
13833         Support for MSVC compiler: Ensure off_t gets defined.
13834         * lib/unistd.in.h: Include <sys/types.h>.
13835         * tests/test-fcntl-h.c: Check that off_t is defined.
13836         * tests/test-sys_stat.c: Likewise.
13837         * tests/test-sys_types.c: Likewise.
13838
13839 2011-09-16  Eric Blake  <eblake@redhat.com>
13840
13841         fdatasync: port to Solaris
13842         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13843         * modules/fdatasync (Link): Document it.
13844         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13845
13846         fdatasync: port to MacOS X 10.7
13847         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13848         declared.
13849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13850         * modules/unistd (Makefile.am): Substitute it.
13851         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13852         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13853
13854         fdatasync: minor improvements
13855         * modules/fdatasync (Depends-on): Add condition for fsync.
13856         * lib/fdatasync.c (fdatasync): Add comment.
13857         * tests/test-unistd-c++.cc: Test fdatasync.
13858
13859         unistd: update refs to newer POSIX
13860         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13861         Suggested by Bruno Haible.
13862
13863         fdatasync: new module
13864         * modules/fsync (Description): Document difference to fdatasync.
13865         * modules/fdatasync: New module.
13866         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13867         * lib/fdatasync.c (fdatasync): Likewise.
13868         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13869         defaults.
13870         * modules/unistd (Makefile.am): Set witnesses.
13871         * lib/unistd.in.h (fdatasync): Declare.
13872         * MODULES.html.sh: Document it.
13873         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13874         * modules/fdatasync-tests: New test.
13875         * tests/test-fdatasync.c: Likewise.
13876
13877 2011-09-16  Eric Blake  <eblake@redhat.com>
13878
13879         test-fsync: enhance tests
13880         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13881         * tests/test-fsync.c (main): Enhance test.
13882
13883 2011-09-15  Bruno Haible  <bruno@clisp.org>
13884
13885         Support for MSVC compiler: Ensure ssize_t gets defined.
13886         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13887         * doc/posix-headers/stdio.texi: Likewise.
13888         * modules/stdio (Depends-on): Add ssize_t.
13889         * modules/sys_socket (Depends-on): Likewise.
13890         * modules/sys_types (Depends-on): Likewise.
13891         * modules/sys_uio (Depends-on): Likewise.
13892         * modules/unistd (Depends-on): Likewise.
13893         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13894         * tests/test-sys_types.c: Check that ssize_t is defined.
13895
13896 2011-09-14  Bruno Haible  <bruno@clisp.org>
13897
13898         Avoid using #, the m4 comment starter character, near brackets.
13899         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13900         delimiter character in sed expressions.
13901         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13902         Suggested by Eric Blake.
13903
13904         Properly quote AC_CHECK_DECLS' 4th argument.
13905         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13906         argument.
13907         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13908         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13909         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13910         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13911         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13912         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13913         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13914         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13915         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13916         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13917         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13918         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13919         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13920         * m4/isinf.m4 (gl_ISINF): Likewise.
13921         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13922         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13923         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13924         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13925         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13926         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13927         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13928         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13929         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13930         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13931         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13932         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13933         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13934         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13935         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13936         Reported by Eric Blake.
13937
13938         Properly quote AC_CHECK_DECL's 4th argument.
13939         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13940         argument.
13941         * m4/argp.m4 (gl_ARGP): Likewise.
13942         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13943         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13944         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13945         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13946         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13947         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13948         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13949         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13950         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13951         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13952         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13953         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13954         Reported by Eric Blake.
13955
13956 2011-09-14  Eric Blake  <eblake@redhat.com>
13957
13958         opendir: avoid compile warning
13959         * lib/opendir.c (includes): Always include errno.h.
13960         Reported by Tatsuro MATSUOKA.
13961
13962 2011-09-14  Jim Meyering  <meyering@redhat.com>
13963
13964         maint.mk: sc_tight_scope: propagate failure from sub-make
13965         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13966         Reported by Martin von Gagern.
13967
13968 2011-09-13  Bruno Haible  <bruno@clisp.org>
13969
13970         tempname: Support for MSVC.
13971         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13972         MSVC.
13973         * modules/tempname (Depends-on): Add fcntl-h.
13974
13975 2011-09-13  Bruno Haible  <bruno@clisp.org>
13976
13977         sys_time: Support for MSVC.
13978         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13979         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13980         include <winsock2.h>.
13981         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13982         function declarations that collide with POSIX.
13983         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13984         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13985
13986 2011-09-13  Bruno Haible  <bruno@clisp.org>
13987
13988         stat: Support for MSVC.
13989         * lib/stat.c: Include pathmax.h.
13990         * modules/stat (Depends-on): Add pathmax.
13991
13992         pathmax: Support for native Windows.
13993         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13994
13995 2011-09-12  Bruno Haible  <bruno@clisp.org>
13996
13997         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13998         * lib/dirent.in.h (struct dirent): New type.
13999         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14000         DT_WHT): New macros.
14001         (DIR): New type.
14002         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14003         (readdir, rewinddir): New declarations.
14004         * lib/dirent-private.h: New file.
14005         * lib/opendir.c: New file.
14006         * lib/readdir.c: New file.
14007         * lib/rewinddir.c: New file.
14008         * lib/closedir.c: New file.
14009         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14010         * m4/opendir.m4: New file.
14011         * m4/readdir.m4: New file.
14012         * m4/rewinddir.m4: New file.
14013         * m4/closedir.m4: New file.
14014         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14015         REPLACE_CLOSEDIR here.
14016         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14017         readdir, rewinddir are declared.
14018         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14019         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14020         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14021         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14022         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14023         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14024         * modules/opendir: New file.
14025         * modules/readdir: New file.
14026         * modules/rewinddir: New file.
14027         * modules/closedir: New file.
14028         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14029         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14030         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14031         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14032         * NEWS: Mention the 'fchdir' change.
14033
14034 2011-09-11  Bruno Haible  <bruno@clisp.org>
14035
14036         asm-underscore.m4: Support for MSVC.
14037         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14038         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14039
14040 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14041
14042         Doc about crypt functions.
14043         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14044         needing for _GNU_SOURCE to get crypt.
14045         * doc/posix-functions/encrypt.texi: Likewise.
14046         * doc/posix-functions/setkey.texi: Likewise.
14047
14048 2011-09-11  Bruno Haible  <bruno@clisp.org>
14049
14050         doc: Update regarding MSVC 9.
14051         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14052         tested".
14053         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14054         * doc/posix-headers/*.texi: Likewise.
14055         * doc/pastposix-functions/*.texi: Likewise.
14056         * doc/glibc-functions/*.texi: Likewise.
14057         * doc/glibc-headers/*.texi: Likewise.
14058
14059 2011-09-11  Bruno Haible  <bruno@clisp.org>
14060
14061         unistd et al.: Don't assume <unistd.h> exists.
14062         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14063         does not exist.
14064         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14065         exist. But include <stdlib.h>.
14066         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14067         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14068         symlink() does not exist.
14069         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14070         include <io.h> instead.
14071         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14072         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14073         include <direct.h> instead.
14074         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14075         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14076         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14077         <io.h> instead.
14078         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
14079         correctly if the system does not have hard links.
14080         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
14081         <direct.h> instead.
14082         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14083         it when looking for function declarations.
14084         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14085         <direct.h> and <io.h> instead.
14086         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14087
14088 2011-09-11  Bruno Haible  <bruno@clisp.org>
14089
14090         strcase: Support for MSVC.
14091         * modules/strcase (Status, Notice): Remove obsoletion mark.
14092         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14093         * doc/posix-functions/strncasecmp.texi: Likewise.
14094
14095         strings: Don't assume <strings.h> exists.
14096         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14097         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14098         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14099         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14100
14101 2011-09-11  Bruno Haible  <bruno@clisp.org>
14102
14103         dirent: Don't assume <dirent.h> exists.
14104         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14105         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14106         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14107         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14108
14109 2011-09-11  Bruno Haible  <bruno@clisp.org>
14110
14111         Fix wint_t on MSVC.
14112         * lib/wchar.in.h (wint_t): On MSVC, override it.
14113         * lib/wctype.in.h (wint_t): Likewise.
14114         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14115         MSVC.
14116         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14117         * doc/posix-headers/wctype.texi: Likewise.
14118
14119 2011-09-11  Bruno Haible  <bruno@clisp.org>
14120
14121         sys_types: Fix typo.
14122         * lib/sys_types.in.h: Fix typo in comment.
14123         Reported by Paul Eggert.
14124
14125         Support for MSVC compiler: Ensure size_t gets defined.
14126         * modules/strings (Depends-on): Add 'sys_types'.
14127         * modules/sys_uio (Depends-on): Likewise.
14128         * lib/sys_uio.in.h: Update comment.
14129
14130         C++ tests for module 'sys_types'.
14131         * modules/sys_types-c++-tests: New file.
14132         * tests/test-sys_types-c++.cc: New file.
14133
14134         Tests for module 'sys_types'.
14135         * modules/sys_types-tests: New file.
14136         * tests/test-sys_types.c: New file.
14137
14138         New module 'sys_types'.
14139         * lib/sys_types.in.h: New file.
14140         * m4/sys_types_h.m4: New file.
14141         * modules/sys_types: New file.
14142         * doc/posix-headers/sys_types.texi: Mention the new module and the
14143         size_t problem on MSVC 9.
14144
14145 2011-09-11  Bruno Haible  <bruno@clisp.org>
14146
14147         Support for MSVC compiler: Avoid division by a literal 0.
14148         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14149         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14150         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14151         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14152         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14153         * tests/infinity.h: New file.
14154         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14155         on MSVC.
14156         * tests/test-ceilf1.c: Include infinity.h.
14157         (main): Use Infinityf.
14158         * tests/test-ceil1.c: Include infinity.h.
14159         (main): Use Infinityd.
14160         * tests/test-ceill.c: Include infinity.h.
14161         (main): Use Infinityl.
14162         * tests/test-dprintf-posix.c: Include infinity.h.
14163         (test_function): Use Infinityd.
14164         * tests/test-floorf1.c: Include infinity.h.
14165         (main): Use Infinityf.
14166         * tests/test-floor1.c: Include infinity.h.
14167         (main): Use Infinityd.
14168         * tests/test-floorl.c: Include infinity.h.
14169         (main): Use Infinityl.
14170         * tests/test-fprintf-posix.c: Include infinity.h.
14171         (test_function): Use Infinityd.
14172         * tests/test-frexp.c: Include infinity.h.
14173         (main): Use Infinityd.
14174         * tests/test-frexpl.c: Include infinity.h.
14175         (main): Use Infinityl.
14176         * tests/test-isfinite.c: Include infinity.h.
14177         (test_isfinitef): Use Infinityf.
14178         (test_isfinited): Use Infinityd.
14179         (test_isfinitel): Use Infinityl.
14180         * tests/test-isinf.c: Include infinity.h.
14181         (test_isinff): Use Infinityf.
14182         (test_isinfd): Use Infinityd.
14183         (test_isinfl): Use Infinityl.
14184         * tests/test-isnan.c: Include infinity.h.
14185         (test_float): Use Infinityf.
14186         (test_double): Use Infinityd.
14187         (test_long_double): Use Infinityl.
14188         * tests/test-isnanf.h: Include infinity.h.
14189         (main): Use Infinityf.
14190         * tests/test-isnand.h: Include infinity.h.
14191         (main): Use Infinityd.
14192         * tests/test-isnanl.h: Include infinity.h.
14193         (main): Use Infinityl.
14194         * tests/test-ldexpl.c: Include infinity.h.
14195         (main): Use Infinityl.
14196         * tests/test-printf-posix.h: Include infinity.h.
14197         (test_function): Use Infinityd.
14198         * tests/test-roundf1.c: Include infinity.h.
14199         (main): Use Infinityf.
14200         * tests/test-round1.c: Include infinity.h.
14201         (main): Use Infinityd.
14202         * tests/test-roundl.c: Include infinity.h.
14203         (main): Use Infinityl.
14204         * tests/test-signbit.c: Include infinity.h.
14205         (test_signbitf): Use Infinityf.
14206         (test_signbitd): Use Infinityd.
14207         (test_signbitl): Use Infinityl.
14208         * tests/test-snprintf-posix.h: Include infinity.h.
14209         (test_function): Use Infinityd, Infinityl.
14210         * tests/test-sprintf-posix.h: Include infinity.h.
14211         (test_function): Use Infinityd, Infinityl.
14212         * tests/test-truncf1.c: Include infinity.h.
14213         (main): Use Infinityf.
14214         * tests/test-trunc1.c: Include infinity.h.
14215         (main): Use Infinityd.
14216         * tests/test-truncl.c: Include infinity.h.
14217         (main): Use Infinityl.
14218         * tests/test-vasnprintf-posix.c: Include infinity.h.
14219         (test_function): Use Infinityd, Infinityl.
14220         * tests/test-vasprintf-posix.c: Include infinity.h.
14221         (test_function): Use Infinityd, Infinityl.
14222         * modules/ceilf-tests (Files): Add tests/infinity.h.
14223         * modules/ceil-tests (Files): Likewise.
14224         * modules/ceill-tests (Files): Likewise.
14225         * modules/dprintf-posix-tests (Files): Likewise.
14226         * modules/floorf-tests (Files): Likewise.
14227         * modules/floor-tests (Files): Likewise.
14228         * modules/floorl-tests (Files): Likewise.
14229         * modules/fprintf-posix-tests (Files): Likewise.
14230         * modules/frexp-tests (Files): Likewise.
14231         * modules/frexp-nolibm-tests (Files): Likewise.
14232         * modules/frexpl-tests (Files): Likewise.
14233         * modules/frexpl-nolibm-tests (Files): Likewise.
14234         * modules/isfinite-tests (Files): Likewise.
14235         * modules/isinf-tests (Files): Likewise.
14236         * modules/isnan-tests (Files): Likewise.
14237         * modules/isnanf-tests (Files): Likewise.
14238         * modules/isnanf-nolibm-tests (Files): Likewise.
14239         * modules/isnand-tests (Files): Likewise.
14240         * modules/isnand-nolibm-tests (Files): Likewise.
14241         * modules/isnanl-tests (Files): Likewise.
14242         * modules/isnanl-nolibm-tests (Files): Likewise.
14243         * modules/ldexpl-tests (Files): Likewise.
14244         * modules/printf-posix-tests (Files): Likewise.
14245         * modules/roundf-tests (Files): Likewise.
14246         * modules/round-tests (Files): Likewise.
14247         * modules/roundl-tests (Files): Likewise.
14248         * modules/signbit-tests (Files): Likewise.
14249         * modules/snprintf-posix-tests (Files): Likewise.
14250         * modules/sprintf-posix-tests (Files): Likewise.
14251         * modules/truncf-tests (Files): Likewise.
14252         * modules/trunc-tests (Files): Likewise.
14253         * modules/truncl-tests (Files): Likewise.
14254         * modules/vasnprintf-posix-tests (Files): Likewise.
14255         * modules/vasprintf-posix-tests (Files): Likewise.
14256         * modules/vdprintf-posix-tests (Files): Likewise.
14257         * modules/vfprintf-posix-tests (Files): Likewise.
14258         * modules/vprintf-posix-tests (Files): Likewise.
14259         * modules/vsnprintf-posix-tests (Files): Likewise.
14260         * modules/vsprintf-posix-tests (Files): Likewise.
14261         * modules/xprintf-posix-tests (Files): Likewise.
14262
14263 2011-09-11  Bruno Haible  <bruno@clisp.org>
14264
14265         Ensure pid_t gets defined.
14266         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14267         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14268         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14269         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14270         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14271         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14272         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14273         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14274         * tests/test-fcntl-h.c: Check that pid_t is defined.
14275         * tests/test-sched.c: Likewise.
14276         * tests/test-termios.c: Likewise.
14277         * tests/test-time.c: Likewise.
14278         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14279         * doc/posix-headers/signal.texi: Likewise.
14280         * doc/posix-headers/sys_types.texi: Likewise.
14281         * doc/posix-headers/time.texi: Likewise.
14282
14283 2011-09-11  Bruno Haible  <bruno@clisp.org>
14284
14285         acl: Fix compilation on Solaris 10 (older version).
14286         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14287         of ACE_EVERYONE.
14288         * lib/set-mode-acl.c (qset_acl): Likewise.
14289         Reported by Christian Jullien <eligis@orange.fr>.
14290
14291 2011-09-10  Bruno Haible  <bruno@clisp.org>
14292
14293         iconv, unsetenv: Add support for MSVC compiler.
14294         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14295         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14296
14297 2011-09-10  Bruno Haible  <bruno@clisp.org>
14298
14299         *printf: Add support for MSVC compiler.
14300         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14301         handles the exception caused by the %n directive. When cross-compiling,
14302         guess no on native Windows.
14303         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14304         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14305         emulate it through vsnprintf.
14306         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14307         * doc/posix-functions/dprintf.texi: Update documentation regarding
14308         MSVC 9.
14309         * doc/posix-functions/fprintf.texi: Likewise.
14310         * doc/posix-functions/printf.texi: Likewise.
14311         * doc/posix-functions/snprintf.texi: Likewise.
14312         * doc/posix-functions/sprintf.texi: Likewise.
14313         * doc/posix-functions/swprintf.texi: Likewise.
14314         * doc/posix-functions/vdprintf.texi: Likewise.
14315         * doc/posix-functions/vfprintf.texi: Likewise.
14316         * doc/posix-functions/vprintf.texi: Likewise.
14317         * doc/posix-functions/vsnprintf.texi: Likewise.
14318         * doc/posix-functions/vsprintf.texi: Likewise.
14319         * doc/glibc-functions/asprintf.texi: Likewise.
14320         * doc/glibc-functions/obstack_printf.texi: Likewise.
14321         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14322         * doc/glibc-functions/vasprintf.texi: Likewise.
14323
14324 2011-09-10  Bruno Haible  <bruno@clisp.org>
14325
14326         nocrash: Add support for native Windows.
14327         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14328
14329 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14330             Bruno Haible  <bruno@clisp.org>
14331
14332         absolute-header, include-next: Add support for MSVC compiler.
14333         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14334         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14335         directory separator in #line directives.
14336         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14337         recognize also backslash as directory separator in #line directives.
14338
14339 2011-09-08  Jim Meyering  <meyering@redhat.com>
14340
14341         maint.mk: mark the post-release commit log with "maint: " prefix
14342         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14343         one-line commit-log summary.
14344
14345 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14346             Bruno Haible  <bruno@clisp.org>
14347
14348         Doc about crypt functions.
14349         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14350         systems.
14351         * doc/posix-functions/encrypt.texi: Likewise.
14352         * doc/posix-functions/setkey.texi: Likewise.
14353
14354 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14355
14356         * lib/gc.h: Fix copyright header.
14357
14358 2011-09-07  Bruno Haible  <bruno@clisp.org>
14359
14360         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14361         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14362         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14363
14364 2011-09-07  Bruno Haible  <bruno@clisp.org>
14365
14366         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14367         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14368         * lib/freopen.c: Likewise.
14369         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14370         * lib/lstat.c: Likewise.
14371         * lib/stat.c: Likewise.
14372         * lib/open.c: Use different syntax for include of <fcntl.h>.
14373         * lib/openat.c: Include fcntl.h again, explicitly.
14374
14375 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14376
14377         parse-datetime: document the newly accepted format
14378         * doc/parse-datetime.texi (Combined date and time of day items):
14379         New section.
14380
14381 2011-09-06  Bruno Haible  <bruno@clisp.org>
14382
14383         acl: Fix a test failure on newer Solaris 10 with ZFS.
14384         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14385         ENOSYS as no ACL.
14386         Reported by Jim Meyering.
14387
14388 2011-09-06  Bruno Haible  <bruno@clisp.org>
14389
14390         acl: Update for AIX >= 5.3 with NFS.
14391         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14392         ENOSYS as no ACL.
14393
14394         acl: Fix a test failure on AIX >= 5.3 with NFS.
14395         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14396         as no ACL.
14397
14398 2011-09-06  Bruno Haible  <bruno@clisp.org>
14399
14400         acl: Fix a test failure on IRIX 6.5 with NFS.
14401         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14402         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14403         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14404         * lib/copy-acl.c (qcopy_acl): Likewise.
14405
14406 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14407
14408         openat: port to AIX 7.1 with large files
14409         AIX 7.1 does a "#define openat open64at" if large files are in use,
14410         so we can't simply #undef openat.  Use the orig_openat trick (similar
14411         to orig_open in lib/open.c) to work around the problem.  Problem
14412         reported by Kevin Brott for GNU tar, in the thread containing
14413         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14414         * lib/openat.c (__need_system_fcntl_h): Define first.
14415         Include <fcntl.h> and <sys/types.h> before undefining.
14416         (orig_openat) [HAVE_OPENAT]: New inline function.
14417         (openat) [HAVE_OPENAT]: Do not undef.
14418         (rpl_openat): Use orig_openat, not openat.
14419
14420 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14421             Bruno Haible  <bruno@clisp.org>
14422
14423         acl: Avoid errors on NonStop Kernel.
14424         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14425         ENOTSUP errors.
14426
14427 2011-09-05  Bruno Haible  <bruno@clisp.org>
14428
14429         acl: Clean up Solaris code.
14430         * lib/acl-internal.h: Remove no-op #if.
14431         * lib/file-has-acl.c: Likewise.
14432         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14433         * lib/copy-acl.c (qcopy_acl): Likewise.
14434
14435 2011-09-05  Bruno Haible  <bruno@clisp.org>
14436
14437         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14438         binaries built on the original Solaris 10.
14439         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14440         trivial.
14441
14442 2011-09-05  Bruno Haible  <bruno@clisp.org>
14443
14444         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14445         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14446         10.
14447         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14448         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14449         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14450         instead of acl_get, facl_get, acl_set, facl_set.
14451
14452 2011-09-05  Bruno Haible  <bruno@clisp.org>
14453
14454         copy-file: Try unit tests on more file systems.
14455         * tests/test-copy-file-1.sh: New file.
14456         * tests/test-copy-file-2.sh: New file.
14457         * modules/copy-file-tests (Files): Add them.
14458         (Makefile.am): Add them to TESTS.
14459
14460         acl: Try unit tests on more file systems.
14461         * tests/test-file-has-acl-1.sh: New file.
14462         * tests/test-file-has-acl-2.sh: New file.
14463         * tests/test-set-mode-acl-1.sh: New file.
14464         * tests/test-set-mode-acl-2.sh: New file.
14465         * tests/test-copy-acl-1.sh: New file.
14466         * tests/test-copy-acl-2.sh: New file.
14467         * modules/acl-tests (Files): Add them.
14468         (Makefile.am): Add them to TESTS.
14469
14470 2011-09-04  Bruno Haible  <bruno@clisp.org>
14471
14472         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14473         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14474         10.
14475         (OLD_ALLOW, OLD_DENY): New macros.
14476         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14477         ACE_ACCESS_ALLOWED_ACE_TYPE.
14478         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14479         ACE_ACCESS_DENIED_ACE_TYPE.
14480         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14481         (NEW_ACE_EXECUTE): Fix value.
14482         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14483         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14484         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14485         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14486         NEW_ACE_SYNCHRONIZE): New macros.
14487         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14488         instead of acl_fromtext, acl_set, facl_set.
14489         Fixes a coreutils/tests/cp/perm failure.
14490
14491 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14492
14493         openat: test for fstatat (..., 0) bug
14494         Further testing with tar suggests that fstatat (..., 0)
14495         does not work in general, on AIX 7.1; see
14496         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14497         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14498         replacement fstatat (which is what older AIX releases were using
14499         anyway).
14500         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14501         use is now changed to orig_fstatat.  This was probably the right
14502         thing to do anyway.
14503         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14504         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14505         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14506         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14507         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14508         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14509         if the bug is found.
14510
14511         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14512         This tests for another fstatat bug on AIX 7.1:
14513         fstatat (AT_FDCWD, ..., 0) does not work.  See
14514         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14515         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14516         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14517         (rpl_fstatat): Adjust so that it works around either (or both)
14518         bugs if present.
14519         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14520
14521 2011-09-03  Karl Berry  <karl@gnu.org>
14522
14523         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14524         in index entries.
14525
14526 2011-09-02  Bruno Haible  <bruno@clisp.org>
14527
14528         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14529         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14530         values of AR, ARFLAGS, RANLIB.
14531         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14532
14533 2011-09-02  Bruno Haible  <bruno@clisp.org>
14534
14535         Find 'ar' program that fits with --host argument.
14536         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14537
14538 2011-09-02  Bruno Haible  <bruno@clisp.org>
14539
14540         tests: init.sh: Support any non-GNU diff.
14541         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14542         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14543         Solaris 8.
14544
14545 2011-09-02  Bruno Haible  <bruno@clisp.org>
14546
14547         tests: init.sh: work also with any non-GNU diff that supports -u
14548         * tests/init.sh: Relax check for diff -u support.
14549         Rather than checking for GNU diff via --version, simply check
14550         for support for -u itself.  Useful at least on OpenBSD 4.9,
14551         AIX 7.1, IRIX 6.5, and Solaris 10.
14552
14553 2011-09-01  Bruno Haible  <bruno@clisp.org>
14554
14555         strtoimax, strtoumax: Document problem on HP-UX 11.
14556         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14557         * doc/posix-functions/strtoumax.texi: Likewise.
14558
14559 2011-09-01  Bruno Haible  <bruno@clisp.org>
14560
14561         strtoumax: Avoid link error on OSF/1 with DTK cc.
14562         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14563         defined as a function.
14564         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14565         strtoumax is defined, not whether it is declared.
14566
14567 2011-09-01  Bruno Haible  <bruno@clisp.org>
14568
14569         strtoimax: Avoid link error on OSF/1 with DTK cc.
14570         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14571         defined as a function.
14572         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14573         strtoimax is defined, not whether it is declared.
14574
14575 2011-09-01  Bruno Haible  <bruno@clisp.org>
14576
14577         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14578         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14579         as a function.
14580         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14581         whether it is declared.
14582
14583 2011-09-01  Bruno Haible  <bruno@clisp.org>
14584
14585         imaxabs: Avoid link error on OSF/1 with DTK cc.
14586         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14587         as a function.
14588         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14589         whether it is declared.
14590
14591 2011-09-01  Bruno Haible  <bruno@clisp.org>
14592
14593         Tests for module 'strtoumax'.
14594         * modules/strtoumax-tests: New file.
14595         * tests/test-strtoumax.c: New file.
14596
14597         Tests for module 'strtoimax'.
14598         * modules/strtoimax-tests: New file.
14599         * tests/test-strtoimax.c: New file.
14600
14601         Tests for module 'imaxdiv'.
14602         * modules/imaxdiv-tests: New file.
14603         * tests/test-imaxdiv.c: New file.
14604
14605         Tests for module 'imaxabs'.
14606         * modules/imaxabs-tests: New file.
14607         * tests/test-imaxabs.c: New file.
14608
14609 2011-09-01  Bruno Haible  <bruno@clisp.org>
14610
14611         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14612         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14613         pthread_create.
14614
14615 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14616
14617         openat: work around AIX 7.1 fstatat issue
14618         This should fix the problem that was not properly fixed
14619         in the previous change, dated 2011-08-30.
14620         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14621         __need_system_stat_h defined.
14622         (orig_fstatat) [HAVE_FSTATAT]: New function.
14623         (rpl_fstatat): Go back to the old way of doing things,
14624         except call orig_fstatat instead of fstatat.
14625         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14626         Remove unnecessary check whether fstatat fills in st_size etc.
14627
14628 2011-09-01  Bruno Haible  <bruno@clisp.org>
14629
14630         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14631         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14632         just include the system's header.
14633
14634 2011-08-31  Jim Meyering  <meyering@redhat.com>
14635
14636         tests: avoid spurious assertion failure in test-float.c on ppc64
14637         * tests/test-float.c (test_long_double): Comment out an assertion,
14638         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14639         with gcc-4.4.4.
14640
14641         maint: indent with spaces, not TABs
14642         I need to get in the habit of running gnulib's "make check".
14643         Both of these would have been caught.
14644         * m4/largefile.m4: Indent with spaces, not TABs.
14645         * lib/parse-datetime.y (iso_8601_time): Likewise.
14646         Spotted by Pádraig Brady.
14647
14648         test-parse-datetime.c: accommodate a relatively strict gcc warning
14649         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14650         to avoid a warning from gcc's -Werror=missing-declarations.
14651         Insert a few spaces-before-funcall-parenthesis.
14652
14653 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14654
14655         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14656         The parser now accepts ISO 8601 date-time strings with "T" as the
14657         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14658         with a space between the date and time strings.  Now it also parses
14659         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14660         variants like "2004-02-29T16:21:42.333-07:00"
14661         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14662         of day representation using the 'T' separator character.
14663         * doc/parse-datetime.texi (General date syntax): replace use of
14664         deprecated --iso-8601 option with --rfc-3339 in example of date
14665         command output formats that can be parsed.
14666         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14667         lib/parse-datetime.y.
14668         (gmt_offset): New function.
14669         (main): Add additional test cases to validate ISO8601 extended
14670         date and time of day parsing.
14671
14672 2011-08-31  Bruno Haible  <bruno@clisp.org>
14673
14674         freopen: Documentation.
14675         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14676         name.
14677         Reported by Claudio Bley <claudio.bley@gmail.com>.
14678
14679 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14680
14681         freopen: Don't crash if the filename argument is NULL.
14682         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14683         NULL.
14684
14685 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14686
14687         openat: work around AIX 7.1 fstatat bug
14688         Problem reported by Kevin Brott for GNU tar, in the thread containing
14689         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14690         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14691         FSTATAT_ST_SIZE_ETC_BROKEN.
14692         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14693         rpl_fstatat.
14694         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14695         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14696         AC_CHECK_FUNCS_ONCE for fstatat.
14697         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14698         fchmodat, mkdirat, openat and unlinkat.
14699
14700 2011-08-30  Bruno Haible  <bruno@clisp.org>
14701
14702         Avoid endless recursions if config.h includes some header files.
14703         * lib/fopen.c (__need_FILE): Define already before including config.h.
14704         * lib/freopen.c (__need_FILE): Likewise.
14705         * lib/open.c (__need_system_fcntl_h): Likewise.
14706         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14707         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14708         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14709
14710 2011-08-25  Karl Berry  <karl@gnu.org>
14711
14712         * config/srclist.txt (ylwrap): new try.
14713         * build-aux/ylwrap: new file.
14714
14715 2011-08-23  Bruno Haible  <bruno@clisp.org>
14716
14717         tmpdir: Use a good default directory on native Windows.
14718         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14719         (P_tmpdir): Default to _P_tmpdir on native Windows.
14720         (path_search): On native Windows, try the value returned by GetTempPath
14721         before trying P_tmpdir.
14722         * modules/tmpdir (Depends-on): Add pathmax.
14723         Suggested by John Darrington <john@darrington.wattle.id.au>.
14724
14725 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14726
14727         doc: fix typo in README-release
14728         * top/README-release: Capitalize first word of a sentence.
14729
14730 2011-08-19  Jim Meyering  <meyering@redhat.com>
14731
14732         fts: do not exhaust memory when processing million-entry directories
14733         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14734         directory would require about 256*N bytes of memory.  Thus, it was
14735         easy to construct a directory too large to be processed by any of
14736         those tools.  With this change, fts' maximum memory utilization is
14737         now limited to around 30MB.
14738         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14739         (fts_read): When we've processed the final entry (i.e., when
14740         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14741         using the parent entry to read any remaining entries.  Dispatch
14742         depending on what fts_build returns:
14743         - NULL+stop, aka failure: stop
14744         - NULL otherwise: move up in the dir hierarchy
14745         - non-NULL: handle this new entry
14746         (fts_build): Declare and use new local, continue_readdir.
14747         Prepare to be called from fts_read, when the entries
14748         from a partially-read directory have just been exhausted.
14749         In that case, we'll skip the opendir and instead use the parent's
14750         fts_dirp and derive dir_fd from that.
14751         Finally, in the readdir loop, if we read max_entries entries,
14752         exit the loop ensuring *not* to call closedir.  This is required
14753         so that fts_dirp can be reused on a subsequent call.
14754         Prompted by Ben England's report of memory exhaustion in find
14755         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14756
14757         maint: fts: move decl of `dp' down into while loop; split a long line
14758         * lib/fts.c (fts_build): No semantic change.
14759
14760         fts: add/use new struct member, fts_dirp
14761         We are about to use this to manage any directory with
14762         too many entries to read all of them into memory at once.
14763         To do that, we'll need to save the DIR* pointer in each
14764         affected FTSENT struct.
14765         * lib/fts_.h: Include <dirent.h>.
14766         (struct FTSENT) [fts_dirp]: New member.
14767         * lib/fts.c (closedir_and_clear): Define.
14768         Use it in place of closedir so that we are sure to
14769         clear the new fts_dirp member when done with it.
14770         (fts_alloc): Initialize the new member.
14771         (fts_lfree): Free, if needed.
14772
14773         maint: fts: give __opendir2 a new parameter and rename
14774         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14775         than surreptitiously using sole caller's "dir_fd".
14776         (fts_opendir): Rename from __opendir2.
14777
14778         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14779         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14780
14781         maint: fts.c: correct off-by-one indentation
14782         * lib/fts.c (fts_build): Correct indentation, change style
14783         of a couple of block comments, and bracing style.
14784
14785         maint: fts.c: move __opendir2 #define "up" out of function body
14786         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14787
14788         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14789         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14790         out for a long time and besides was useful only on BSD systems.
14791
14792 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14793
14794         regex: port to Stratus OpenVOS
14795         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14796         define to empty, rather than attempting nonportable optimizations.
14797         Problem reported by Paul Green in:
14798         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14799         and fix suggested by Eric Blake in:
14800         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14801
14802 2011-08-17  Eric Blake  <eblake@redhat.com>
14803
14804         getcwd: fix test failures on mingw
14805         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14806         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14807         test if long directory cannot be created, and allow mingw errno.
14808
14809         getcwd-lgpl: fix m4 to match relaxed test for BSD
14810         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14811         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14812         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14813         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14814         signature problem.
14815
14816         getcwd: fix compilation on mingw64
14817         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14818         getcwd.
14819         Reported by Marc-André Lureau.
14820
14821         pipe2: silence compiler warning
14822         * lib/pipe2.c (pipe2): Hide label if it is not used.
14823
14824 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14825
14826         relocatable-prog: fix link error
14827         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14828         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14829         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14830         into modules/relocatable-lib without noticing that
14831         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14832         also needs to build relocatable.c.
14833
14834 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14835
14836         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14837         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14838         shell code: it contained a 'break' that was not in a loop.
14839         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14840         via a shell-language loop; this may have been true in old Autoconf
14841         versions, but it's not true in Autoconf 2.68.  I found this bug
14842         when testing coreutils git on Solaris 8, whose shell complains
14843         about the syntax error.
14844
14845 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14846
14847         * lib/base64.c: Fix comment to reference RFC 4648.
14848         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14849         <gvtulder@gmail.com>.
14850
14851 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14852
14853         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14854
14855         po/Makefile.in.in: fix make -q problem
14856         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14857         rule, since there's no file named 'check-macro-version' and its
14858         use as a file breaks make -q.
14859         (all): Don't depend on check-macro-version.
14860         (CHECK_MACRO_VERSION): New macro.
14861         (stamp-po): Use it.
14862
14863         configmake: fix make -q problem
14864         * modules/configmake (configmake.h): Update configmake.h's time stamp
14865         even if the file does not change.  Otherwise, 'make -q' fails.
14866         Problem reported by Simon Josefsson in
14867         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14868
14869 2011-08-11  Jim Meyering  <meyering@redhat.com>
14870
14871         git-version-gen: correct the advice in a comment
14872         * build-aux/git-version-gen: Correct comment.
14873         Don't recommend to list .tarball-version in .gitignore.
14874
14875 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14876
14877         base64: fix off-by-one buffer size bug
14878         Problem and (trivial) fix reported by Gijs van Tulder in
14879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14880         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14881         * tests/test-base64.c (main): Catch the bug.
14882
14883 2011-08-10  Eric Blake  <eblake@redhat.com>
14884
14885         closein: correct comments
14886         * lib/closein.c (close_stdin): Improve comments.
14887
14888 2011-08-09  Bruno Haible  <bruno@clisp.org>
14889
14890         More tests for 'fseeko'.
14891         * tests/test-fseeko3.c: New file, from Eric Blake.
14892         * tests/test-fseeko3.sh: New file.
14893         * modules/fseeko-tests (Files): Add them.
14894         (TESTS): Add test-fseeko3.sh.
14895         (check_PROGRAMS): Add test-fseeko3.
14896
14897 2011-08-09  Eric Blake  <eblake@redhat.com>
14898
14899         fseeko: remove unneeded hack
14900         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14901
14902         fseeko: fix bug on glibc
14903         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14904         Reported by John W. Eaton.
14905
14906 2011-08-08  Bruno Haible  <bruno@clisp.org>
14907
14908         unictype/base: Fix interoperability with preinstalled libunistring.
14909         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14910         Reported by Simon Josefsson.
14911
14912 2011-08-08  Bruno Haible  <bruno@clisp.org>
14913
14914         iswblank: Detect declaration correctly.
14915         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14916         AC_CHECK_DECLS invocation.
14917
14918 2011-08-08  Bruno Haible  <bruno@clisp.org>
14919
14920         tcgetsid: Detect declaration correctly.
14921         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14922         AC_CHECK_DECLS invocation.
14923         Reported by Simon Josefsson.
14924
14925 2011-08-08  Eric Blake  <eblake@redhat.com>
14926
14927         largefile: fix typo that regressed large file support
14928         * modules/largefile (configure.ac-early): Fix section name.
14929
14930 2011-08-06  Karl Berry  <karl@gnu.org>
14931
14932         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14933         a separate module.
14934
14935 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14936
14937         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14938         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14939         get prototype for free.
14940
14941 2011-08-04  Bruno Haible  <bruno@clisp.org>
14942
14943         Tests for module 'pathmax'.
14944         * modules/pathmax-tests: New file.
14945         * tests/test-pathmax.c: New file.
14946
14947         canonicalize-lgpl: Support larger filenames on the Hurd.
14948         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14949         Reported by Paul Eggert.
14950
14951         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14952         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14953         * lib/chdir-long.h: Include pathmax.h.
14954         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14955         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14956         (PATH_MAX): Remove code that is done by pathmax.h.
14957         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14958         * lib/tmpfile.c: Add a comment.
14959         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14960         * modules/chdir-long (Depends-on): Add pathmax.
14961         * modules/getcwd (Depends-on): Add pathmax.
14962         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14963         is not defined.
14964         * doc/posix-headers/limits.texi: Mention the pathmax module.
14965         * NEWS: Mention the change.
14966
14967 2011-08-02  Bruno Haible  <bruno@clisp.org>
14968
14969         pthread_sigmask: Actually use results of gl_THREADLIB.
14970         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14971         gl_THREADLIB, not gl_[]THREADLIB.
14972         Reported by Eric Blake.
14973
14974 2011-08-02  Jim Meyering  <meyering@redhat.com>
14975
14976         maint.mk: relax the default _gl_TS_function_match regexp
14977         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14978         space between function name and "(" in an "extern" declaration.
14979         That would fail to match a decl with no space there: extern void foo();
14980
14981 2011-07-31  Iain Nicol  <iain@thenicols.net>
14982
14983         git-version-gen: document that EXTRA_DIST must include .version
14984         * build-aux/git-version-gen: In the how-to-use comment, document
14985         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14986         will fail when run from an unpacked distribution tarball.
14987
14988 2011-08-01  Bruno Haible  <bruno@clisp.org>
14989
14990         wctype-h: Fix last change.
14991         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14992         REPLACE_TOWLOWER to 0.
14993         Reported by Sam Steingold <sds@gnu.org>.
14994
14995 2011-07-31  Bruno Haible  <bruno@clisp.org>
14996
14997         frexpl: Update autoconf test.
14998         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14999         according to changes of 2011-06-20.
15000
15001 2011-07-31  Bruno Haible  <bruno@clisp.org>
15002
15003         sys_utsname: Add support for Minix.
15004         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15005         <sys/utsname.h>.
15006         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15007         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15008
15009 2011-07-31  Bruno Haible  <bruno@clisp.org>
15010
15011         strings: Add support for Minix.
15012         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15013         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15014         * doc/posix-headers/strings.texi: Document the Minix problem.
15015
15016 2011-07-31  Bruno Haible  <bruno@clisp.org>
15017
15018         wctype-h: Add support for Minix.
15019         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15020         REPLACE_TOWLOWER.
15021         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15022         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15023         REPLACE_ISWCNTRL.
15024
15025 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15026
15027         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15028         This is a performance improvement for 64-bit hosts: it causes the
15029         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15030
15031 2011-07-31  Bruno Haible  <bruno@clisp.org>
15032
15033         stdioext: Add support for Minix.
15034         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15035         * lib/fpurge.c (fpurge): Likewise.
15036         * lib/freadahead.c (freadahead): Likewise.
15037         * lib/freadable.c (freadable): Likewise.
15038         * lib/freading.c (freading): Likewise.
15039         * lib/freadptr.c (freadptr): Likewise.
15040         * lib/freadseek.c (freadptrinc): Likewise.
15041         * lib/fseeko.c (rpl_fseeko): Likewise.
15042         * lib/fseterr.c (fseterr): Likewise.
15043         * lib/fwritable.c (fwritable): Likewise.
15044         * lib/fwriting.c (fwriting): Likewise.
15045         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15046         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15047
15048 2011-07-31  Bruno Haible  <bruno@clisp.org>
15049
15050         errno: Port to Minix.
15051         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15052         ECONNABORTED are defined.
15053         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15054         GNULIB_defined_ECONNABORTED): New macros.
15055         * lib/strerror-override.h (strerror_override): Test also
15056         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15057         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15058         ECONNABORTED.
15059         * doc/posix-headers/errno.texi: Mention the Minix problem.
15060
15061 2011-07-31  Bruno Haible  <bruno@clisp.org>
15062
15063         Work around declaration collisions on Minix.
15064         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15065         defined, set REPLACE_MBSINIT.
15066         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15067         defined, set REPLACE_MBRTOWC.
15068         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15069         set REPLACE_MBRLEN.
15070         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15071         defined, set REPLACE_MBSRTOWCS.
15072         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15073         defined, set REPLACE_WCRTOMB.
15074         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15075         defined, set REPLACE_WCSRTOMBS.
15076
15077 2011-07-31  Bruno Haible  <bruno@clisp.org>
15078
15079         Add support for Minix with ACK compiler.
15080         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
15081         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
15082         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15083
15084 2011-07-31  Bruno Haible  <bruno@clisp.org>
15085
15086         Documentation about Minix.
15087         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15088         * doc/glibc-headers/*.texi: Likewise.
15089         * doc/posix-functions/*.texi: Likewise.
15090         * doc/glibc-functions/*.texi: Likewise.
15091
15092 2011-07-31  Bruno Haible  <bruno@clisp.org>
15093
15094         snippet/warn-on-use: Fix indentation.
15095         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15096
15097 2011-07-25  Jim Meyering  <meyering@redhat.com>
15098
15099         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15100         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15101         commands.
15102
15103 2011-07-27  Jim Meyering  <meyering@redhat.com>
15104
15105         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15106         * top/maint.mk (gl_extract_significant_defines_): Now that
15107         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15108         gnulib/lib/signal.in.h, and now that we recommend to
15109         define-if-undefined those two symbols in application code,
15110         we must filter them out of the "significant" list.
15111         This avoids a "make syntax-check" failure in coreutils.
15112
15113 2011-07-26  Eric Blake  <eblake@redhat.com>
15114
15115         warnings: add comments about previous patch
15116         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15117         * m4/include_next.m4: Likewise.
15118         * m4/warn-on-use.m4: Likewise.
15119         * m4/warnings.m4: Likewise, and simplify use.
15120         Suggested by Stefano Lattarini.
15121
15122         include-next, warnings: support older autoconf
15123         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15124         AS_VAR_PUSHDEF in a way that works with older autoconf.
15125         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15126         Reported by Daniel P. Berrange.
15127
15128 2011-07-25  Bruno Haible  <bruno@clisp.org>
15129
15130         fseek, ftell: Fix doc.
15131         * doc/posix-functions/fseek.texi: Reword statement about
15132         AC_SYS_LARGEFILE.
15133         * doc/posix-functions/ftell.texi: Likewise.
15134
15135 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15136             Bruno Haible  <bruno@clisp.org>
15137
15138         Add dependencies to the 'largefile' module.
15139         * modules/fopen (Depends-on): Add 'largefile'.
15140         * modules/freopen (Depends-on): Likewise.
15141         * modules/fseeko (Depends-on): Likewise.
15142         * modules/ftello (Depends-on): Likewise.
15143         * modules/glob (Depends-on): Likewise.
15144         * modules/lseek (Depends-on): Likewise.
15145         * modules/lstat (Depends-on): Likewise.
15146         * modules/mkostemp (Depends-on): Likewise.
15147         * modules/mkostemps (Depends-on): Likewise.
15148         * modules/mkstemp (Depends-on): Likewise.
15149         * modules/mkstemps (Depends-on): Likewise.
15150         * modules/open (Depends-on): Likewise.
15151         * modules/openat (Depends-on): Likewise.
15152         * modules/pread (Depends-on): Likewise.
15153         * modules/pwrite (Depends-on): Likewise.
15154         * modules/scandir (Depends-on): Likewise.
15155         * modules/stat (Depends-on): Likewise.
15156         * modules/tmpfile (Depends-on): Likewise.
15157         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15158         since the containing module now depends on the largefile module.
15159         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15160         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15161         off_t is fixed by gnulib.
15162         * doc/posix-functions/freopen.texi: Likewise.
15163         * doc/posix-functions/fseeko.texi: Likewise.
15164         * doc/posix-functions/fstatat.texi: Likewise.
15165         * doc/posix-functions/ftello.texi: Likewise.
15166         * doc/posix-functions/glob.texi: Likewise.
15167         * doc/posix-functions/lseek.texi: Likewise.
15168         * doc/posix-functions/lstat.texi: Likewise.
15169         * doc/posix-functions/mkstemp.texi: Likewise.
15170         * doc/posix-functions/open.texi: Likewise.
15171         * doc/posix-functions/openat.texi: Likewise.
15172         * doc/posix-functions/pread.texi: Likewise.
15173         * doc/posix-functions/pwrite.texi: Likewise.
15174         * doc/posix-functions/scandir.texi: Likewise.
15175         * doc/posix-functions/stat.texi: Likewise.
15176         * doc/posix-functions/tmpfile.texi: Likewise.
15177         * doc/glibc-functions/mkostemp.texi: Likewise.
15178         * doc/glibc-functions/mkostemps.texi: Likewise.
15179         * doc/glibc-functions/mkstemps.texi: Likewise.
15180
15181 2011-07-25  Bruno Haible  <bruno@clisp.org>
15182
15183         fcntl: Move AC_LIBOBJ invocation to module description.
15184         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15185         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15186
15187         fcntl: Remove call-in from fchdir.m4.
15188         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15189         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15190
15191         dup3: Remove potential call-in from fchdir.m4.
15192         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15193         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15194
15195         dup2: Move AC_LIBOBJ invocation to module description.
15196         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15197         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15198         Don't invoke AC_LIBOBJ.
15199         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15200
15201         dup2: Remove call-in from fchdir.m4.
15202         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15203         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15204
15205         fclose: Move AC_LIBOBJ invocation to module description.
15206         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15207         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15208         to 1.
15209         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15210
15211         fclose: Remove call-in from close.m4.
15212         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15213         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15214
15215         close: Move AC_LIBOBJ invocation to module description.
15216         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15217         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15218         1.
15219         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15220
15221         close: Remove call-in from fchdir.m4.
15222         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15223         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15224
15225         open: Move AC_LIBOBJ invocation to module description.
15226         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15227         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15228         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15229
15230         open: Remove call-in from fchdir.m4.
15231         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15232         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15233
15234         fchdir: Start to remove gl_REPLACE_* idiom.
15235         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15236         (gl_FUNC_FCHDIR): Invoke it.
15237
15238 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15239
15240         * lib/ftell.c (ftell): Comment out cast.
15241
15242         close: use gl_REPLACE_FCLOSE only if defined
15243         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15244         is defined.  The close module doesn't depend on the fclose module
15245         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15246         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15247         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15248
15249 2011-07-24  Jim Meyering  <meyering@redhat.com>
15250
15251         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15252         * tests/test-select.h (test_function): Declare as "static".
15253
15254 2011-07-24  Bruno Haible  <bruno@clisp.org>
15255
15256         doc: Mention the effects of AC_SYS_LARGEFILE.
15257         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15258         on this function.
15259         * doc/posix-functions/aio_error.texi: Likewise.
15260         * doc/posix-functions/aio_fsync.texi: Likewise.
15261         * doc/posix-functions/aio_read.texi: Likewise.
15262         * doc/posix-functions/aio_return.texi: Likewise.
15263         * doc/posix-functions/aio_suspend.texi: Likewise.
15264         * doc/posix-functions/aio_write.texi: Likewise.
15265         * doc/posix-functions/fgetpos.texi: Likewise.
15266         * doc/posix-functions/fopen.texi: Likewise.
15267         * doc/posix-functions/freopen.texi: Likewise.
15268         * doc/posix-functions/fsetpos.texi: Likewise.
15269         * doc/posix-functions/fstatvfs.texi: Likewise.
15270         * doc/posix-functions/ftruncate.texi: Likewise.
15271         * doc/posix-functions/ftw.texi: Likewise.
15272         * doc/posix-functions/getrlimit.texi: Likewise.
15273         * doc/posix-functions/glob.texi: Likewise.
15274         * doc/posix-functions/lio_listio.texi: Likewise.
15275         * doc/posix-functions/lockf.texi: Likewise.
15276         * doc/posix-functions/mkstemp.texi: Likewise.
15277         * doc/posix-functions/mmap.texi: Likewise.
15278         * doc/posix-functions/nftw.texi: Likewise.
15279         * doc/posix-functions/openat.texi: Likewise.
15280         * doc/posix-functions/opendir.texi: Likewise.
15281         * doc/posix-functions/posix_fadvise.texi: Likewise.
15282         * doc/posix-functions/posix_fallocate.texi: Likewise.
15283         * doc/posix-functions/pread.texi: Likewise.
15284         * doc/posix-functions/pwrite.texi: Likewise.
15285         * doc/posix-functions/readdir.texi: Likewise.
15286         * doc/posix-functions/readdir_r.texi: Likewise.
15287         * doc/posix-functions/rewinddir.texi: Likewise.
15288         * doc/posix-functions/scandir.texi: Likewise.
15289         * doc/posix-functions/seekdir.texi: Likewise.
15290         * doc/posix-functions/setrlimit.texi: Likewise.
15291         * doc/posix-functions/statvfs.texi: Likewise.
15292         * doc/posix-functions/telldir.texi: Likewise.
15293         * doc/posix-functions/tmpfile.texi: Likewise.
15294         * doc/posix-functions/truncate.texi: Likewise.
15295         * doc/glibc-functions/fallocate.texi: Likewise.
15296         * doc/glibc-functions/fstatfs.texi: Likewise.
15297         * doc/glibc-functions/fts_children.texi: Likewise.
15298         * doc/glibc-functions/fts_read.texi: Likewise.
15299         * doc/glibc-functions/getdirentries.texi: Likewise.
15300         * doc/glibc-functions/mkostemp.texi: Likewise.
15301         * doc/glibc-functions/mkostemps.texi: Likewise.
15302         * doc/glibc-functions/mkstemps.texi: Likewise.
15303         * doc/glibc-functions/preadv.texi: Likewise.
15304         * doc/glibc-functions/pwritev.texi: Likewise.
15305         * doc/glibc-functions/sendfile.texi: Likewise.
15306         * doc/glibc-functions/statfs.texi: Likewise.
15307
15308 2011-07-24  Bruno Haible  <bruno@clisp.org>
15309
15310         doc: Fix typo.
15311         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15312
15313 2011-07-24  Bruno Haible  <bruno@clisp.org>
15314
15315         doc: Mention fsusage.
15316         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15317
15318 2011-07-24  Bruno Haible  <bruno@clisp.org>
15319
15320         doc: Mention new glibc headers and functions.
15321         * doc/glibc-headers/gshadow.texi: New file.
15322         * doc/glibc-functions/endsgent.texi: New file.
15323         * doc/glibc-functions/fgetsgent.texi: New file.
15324         * doc/glibc-functions/fgetsgent_r.texi: New file.
15325         * doc/glibc-functions/getsgent.texi: New file.
15326         * doc/glibc-functions/getsgent_r.texi: New file.
15327         * doc/glibc-functions/getsgnam.texi: New file.
15328         * doc/glibc-functions/getsgnam_r.texi: New file.
15329         * doc/glibc-functions/putsgent.texi: New file.
15330         * doc/glibc-functions/setsgent.texi: New file.
15331         * doc/glibc-functions/sgetsgent.texi: New file.
15332         * doc/glibc-functions/sgetsgent_r.texi: New file.
15333         * doc/glibc-functions/malloc_info.texi: New file.
15334         * doc/glibc-functions/preadv.texi: New file.
15335         * doc/glibc-functions/pwritev.texi: New file.
15336         * doc/glibc-functions/register_printf_modifier.texi: New file.
15337         * doc/glibc-functions/register_printf_specifier.texi: New file.
15338         * doc/glibc-functions/register_printf_type.texi: New file.
15339         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15340         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15341         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15342         * doc/glibc-functions/pthread_getname_np.texi: New file.
15343         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15344         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15345         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15346         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15347         * doc/glibc-functions/pthread_setname_np.texi: New file.
15348         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15349         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15350         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15351         * doc/glibc-functions/qsort_r.texi: New file.
15352         * doc/glibc-functions/quick_exit.texi: New file.
15353         * doc/glibc-functions/syncfs.texi: New file.
15354         * doc/gnulib.texi: Include them.
15355         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15356         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15357         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15358         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15359         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15360         * doc/glibc-functions/execvpe.texi: Likewise.
15361
15362 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15363
15364         ftell: don't include <unistd.h>
15365         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15366         guaranteed to define off_t, and the ftell module depends on the
15367         stdio module.
15368
15369         ftell: do not assume wraparound signed arithmetic
15370         * lib/ftell.c: Include <limits.h>.
15371         (ftell): Don't assume wraparound signed arithmetic.
15372
15373 2011-07-24  Bruno Haible  <bruno@clisp.org>
15374
15375         close: No longer depend on module 'fclose'.
15376         * modules/close (Depends-on): Remove fclose.
15377         * NEWS: Mention the change.
15378         Suggested by Sam Steingold <sds@gnu.org>.
15379
15380 2011-07-24  Bruno Haible  <bruno@clisp.org>
15381
15382         fsusage: Enable large volume support on AIX >= 5.2.
15383         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15384         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15385         instead of STAT_STATVFS.
15386         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15387
15388         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15389         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15390         f_blocks field only on MacOS X.
15391
15392         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15393         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15394         * modules/fsusage (Depends-on): Add largefile.
15395
15396 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15397
15398         * README: Modernize discussion of signed integers.
15399         Assuming overflow wraparound is no longer safe.
15400         Mention ones' complement and signed magnitude.
15401
15402 2011-07-22  Bruno Haible  <bruno@clisp.org>
15403
15404         select tests, pselect tests: Refactor.
15405         * tests/test-select.h: New file, extracted from tests/test-select.c.
15406         (select_fn): New type.
15407         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15408         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15409         test_pipe): Add my_select argument.
15410         (test_function): Renamed from main. Add my_select argument.
15411         * tests/test-select.c: Move most code to tests/test-select.h. Include
15412         test-select.h.
15413         * modules/select-tests (Files): Add tests/test-select.h.
15414         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15415         (my_select, main): New functions.
15416         * modules/pselect-tests (Files): Add tests/test-select.h,
15417         tests/macros.h, tests/signature.h.
15418         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15419         (configure.ac): Check for <sys/wait.h>.
15420
15421 2011-07-22  Bruno Haible  <bruno@clisp.org>
15422
15423         sys_select tests: Check the signature of FD_*.
15424         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15425         signature tests from here...
15426         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15427         here.
15428         * modules/sys_select-tests (Files): Add tests/signature.h.
15429
15430 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15431
15432         largefile: new module, replacing large-inode
15433         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15434         * MODULES.html.sh: Add largefile, remove large-inode.
15435         * modules/largefile, m4/largefile.m4: New files.
15436         * modules/large-inode, m4/large-inode.m4: Remove.
15437
15438         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15439         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15440         implementations that use only 32 bits to count blocks.
15441         On typical hosts with 1024-byte blocks, this fails with file
15442         systems as small as 4 TiB.  Problem reported by Herb Wartens
15443         <http://debbugs.gnu.org/9140> and this should also fix a similar
15444         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15445
15446         large-inode: New module
15447         * MODULES.html.sh: Add it.
15448         * modules/large-inode, m4/large-inode.m4: New files.
15449
15450         extensions: Enable extensions on MacOS X 10.5 and later.
15451         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15452
15453 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15454
15455         file-has-acl: use acl_extended_file_nofollow if available
15456         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15457         (acl_extended_file): New macro.
15458         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15459         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15460
15461 2011-07-21  Bruno Haible  <bruno@clisp.org>
15462
15463         Declare system functions in a way that works with C++.
15464         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15465         declare fdopendir as extern "C".
15466         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15467         declare frexpl as extern "C".
15468         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15469         declare gai_strerror as extern "C".
15470         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15471         programs, declare gai_strerror as extern "C".
15472         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15473         declare getlogin_r as extern "C".
15474         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15475         as extern "C".
15476         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15477         declare ldexpl as extern "C".
15478         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15479         as extern "C".
15480         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15481         program, declare getmntinfo as extern "C".
15482         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15483         stpncpy as extern "C".
15484         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15485         program, declare __xpg_strerror_r as extern "C".
15486         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15487         strndup as extern "C".
15488         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15489         declare memset and bzero as extern "C".
15490         Reported by Sam Steingold <sds@gnu.org>.
15491
15492 2011-07-12  Jim Meyering  <meyering@redhat.com>
15493
15494         maint.mk: prohibit inclusion of "verify.h" without use
15495         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15496
15497 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15498
15499         timer-time: A new module to check for timer_settime()
15500         * m4/timer_time.m4: Check for the posix function.
15501         * modules/timer-time: Add the new module.
15502         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15503         Mention it.
15504
15505 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15506             Bruno Haible  <bruno@clisp.org>
15507
15508         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15509         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15510         not defined, assume POSIX threads and look for pthread_sigmask in
15511         $LIBS, without changing $CPPFLAGS.
15512
15513 2011-07-19  Bruno Haible  <bruno@clisp.org>
15514
15515         strstr: Update cross-compilation guess.
15516         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15517         CPUs, guess no, in view of glibc
15518         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15519         Suggested by Eric Blake. Reported by Reuben Thomas.
15520
15521 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15522
15523         getopt-gnu: suppress core dumps from detection code
15524         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15525         to suppress core dumps that may well occur on glibc systems.
15526         * modules/getopt-gnu: Depend on nocrash.
15527
15528 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15529
15530         pthread_sigmask: ensure usleep is declared
15531         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15532         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15533
15534 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15535
15536         doc: Document NonStop portability issues.
15537         * doc/posix-functions/sigaction.texi (sigaction):
15538         * doc/posix-headers/signal.texi (signal.h):
15539         Document NonStop.  See Joachim Schmitz in
15540         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15541
15542 2011-07-15  Bruno Haible  <bruno@clisp.org>
15543
15544         ffsl, ffsll: Avoid unportable behaviour.
15545         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15546
15547 2011-07-15  Bruno Haible  <bruno@clisp.org>
15548
15549         ffs: More tests.
15550         * tests/test-ffs.c (NBITS): New macro.
15551         (main): Add more tests.
15552         * tests/test-ffsl.c (NBITS): New macro.
15553         (main): Add more tests.
15554         * tests/test-ffsll.c (NBITS): New macro.
15555         (main): Add more tests.
15556
15557 2011-07-15  Eric Blake  <eblake@redhat.com>
15558
15559         ffsl, ffsll: new modules
15560         * modules/ffsl: New file.
15561         * modules/ffsll: Likewise.
15562         * m4/ffsl.m4: Likewise.
15563         * m4/ffsll.m4: Likewise.
15564         * lib/ffsl.c: Likewise.
15565         * lib/ffsl.h: Likewise.
15566         * lib/ffsll.c: Likewise.
15567         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15568         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15569         * modules/string (Makefile.am): Substitute witnesses.
15570         * lib/strings.in.h (ffsl, ffsll): Declare.
15571         * modules/ffsl-tests: New test file.
15572         * modules/ffsll-tests: Likewise.
15573         * tests/test-ffsl.c: Likewise.
15574         * tests/test-ffsll.c: Likewise.
15575         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15576         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15577         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15578
15579         ffs: fix m4 prerequisite
15580         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15581
15582         ffs: avoid undefined behavior
15583         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15584         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15585         Reported by Bruno Haible.
15586
15587 2011-07-12  Bruno Haible  <bruno@clisp.org>
15588
15589         pthread_sigmask: Rely on module 'threadlib'.
15590         * modules/pthread_sigmask (Depends-on): Add threadlib.
15591         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15592         is defined.
15593
15594 2011-07-12  Bruno Haible  <bruno@clisp.org>
15595
15596         regex: Depend on module 'strcase'.
15597         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15598
15599 2011-07-12  Jim Meyering  <meyering@redhat.com>
15600
15601         warn-on-use: fix typo in file name
15602         * modules/snippet/warn-on-use (Files): Correct file name:
15603         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15604
15605 2011-07-12  Bruno Haible  <bruno@clisp.org>
15606
15607         strings: Document module.
15608         * doc/posix-headers/strings.texi: Mention module 'strings'.
15609
15610 2011-07-12  Bruno Haible  <bruno@clisp.org>
15611
15612         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15613         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15614         (Files, Makefile.am): Update.
15615         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15616         * modules/stdlib (Depends-on): Update.
15617
15618 2011-07-12  Bruno Haible  <bruno@clisp.org>
15619
15620         * NEWS: Mention the changes.
15621
15622         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15623         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15624         (Files, Makefile.am): Update.
15625         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15626         * modules/arpa_inet (Depends-on): Update.
15627         * modules/ctype (Depends-on): Update.
15628         * modules/dirent (Depends-on): Update.
15629         * modules/fcntl-h (Depends-on): Update.
15630         * modules/glob (Depends-on): Update.
15631         * modules/iconv-h (Depends-on): Update.
15632         * modules/inttypes-incomplete (Depends-on): Update.
15633         * modules/langinfo (Depends-on): Update.
15634         * modules/locale (Depends-on): Update.
15635         * modules/math (Depends-on): Update.
15636         * modules/netdb (Depends-on): Update.
15637         * modules/poll-h (Depends-on): Update.
15638         * modules/pty (Depends-on): Update.
15639         * modules/search (Depends-on): Update.
15640         * modules/signal (Depends-on): Update.
15641         * modules/spawn (Depends-on): Update.
15642         * modules/stdio (Depends-on): Update.
15643         * modules/stdlib (Depends-on): Update.
15644         * modules/string (Depends-on): Update.
15645         * modules/strings (Depends-on): Update.
15646         * modules/sys_file (Depends-on): Update.
15647         * modules/sys_ioctl (Depends-on): Update.
15648         * modules/sys_select (Depends-on): Update.
15649         * modules/sys_socket (Depends-on): Update.
15650         * modules/sys_stat (Depends-on): Update.
15651         * modules/sys_time (Depends-on): Update.
15652         * modules/sys_times (Depends-on): Update.
15653         * modules/sys_utsname (Depends-on): Update.
15654         * modules/sys_wait (Depends-on): Update.
15655         * modules/termios (Depends-on): Update.
15656         * modules/time (Depends-on): Update.
15657         * modules/unistd (Depends-on): Update.
15658         * modules/wchar (Depends-on): Update.
15659         * modules/wctype-h (Depends-on): Update.
15660         * MODULES.html.sh (Support for building libraries and executables):
15661         Update.
15662
15663         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15664         * modules/snippet/unused-parameter: Renamed from
15665         modules/unused-parameter.
15666         (Files, Makefile.am): Update.
15667         * build-aux/snippet/unused-parameter.h: Renamed from
15668         build-aux/unused-parameter.h.
15669         * modules/selinux-h (Depends-on): Update.
15670         * modules/unistr/base (Depends-on): Update.
15671         * MODULES.html.sh (Core language properties): Update.
15672
15673         Rename module 'link-warning' to 'snippet/link-warning'.
15674         * modules/snippet/link-warning: Renamed from modules/link-warning.
15675         (Files, Makefile.am): Update.
15676         * build-aux/snippet/link-warning.h: Renamed from
15677         build-aux/link-warning.h.
15678         * MODULES.html.sh (Support for building libraries and executables):
15679         Update.
15680
15681         Rename module 'c++defs' to 'snippet/c++defs'.
15682         * modules/snippet/c++defs: Renamed from modules/c++defs.
15683         (Files, Makefile.am): Update.
15684         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15685         * modules/arpa_inet (Depends-on): Update.
15686         * modules/ctype (Depends-on): Update.
15687         * modules/dirent (Depends-on): Update.
15688         * modules/fcntl-h (Depends-on): Update.
15689         * modules/glob (Depends-on): Update.
15690         * modules/iconv-h (Depends-on): Update.
15691         * modules/langinfo (Depends-on): Update.
15692         * modules/locale (Depends-on): Update.
15693         * modules/math (Depends-on): Update.
15694         * modules/netdb (Depends-on): Update.
15695         * modules/poll-h (Depends-on): Update.
15696         * modules/pty (Depends-on): Update.
15697         * modules/search (Depends-on): Update.
15698         * modules/signal (Depends-on): Update.
15699         * modules/spawn (Depends-on): Update.
15700         * modules/stdio (Depends-on): Update.
15701         * modules/stdlib (Depends-on): Update.
15702         * modules/string (Depends-on): Update.
15703         * modules/strings (Depends-on): Update.
15704         * modules/sys_ioctl (Depends-on): Update.
15705         * modules/sys_select (Depends-on): Update.
15706         * modules/sys_socket (Depends-on): Update.
15707         * modules/sys_stat (Depends-on): Update.
15708         * modules/sys_time (Depends-on): Update.
15709         * modules/sys_wait (Depends-on): Update.
15710         * modules/termios (Depends-on): Update.
15711         * modules/time (Depends-on): Update.
15712         * modules/unistd (Depends-on): Update.
15713         * modules/wchar (Depends-on): Update.
15714         * modules/wctype-h (Depends-on): Update.
15715
15716         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15717         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15718         (Files, Makefile.am): Update.
15719         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15720         * modules/argv-iter (Depends-on): Update.
15721         * modules/arpa_inet (Depends-on): Update.
15722         * modules/dirent (Depends-on): Update.
15723         * modules/fcntl-h (Depends-on): Update.
15724         * modules/fnmatch (Depends-on): Update.
15725         * modules/getopt-posix (Depends-on): Update.
15726         * modules/glob (Depends-on): Update.
15727         * modules/iconv-h (Depends-on): Update.
15728         * modules/inttypes-incomplete (Depends-on): Update.
15729         * modules/locale (Depends-on): Update.
15730         * modules/math (Depends-on): Update.
15731         * modules/netdb (Depends-on): Update.
15732         * modules/search (Depends-on): Update.
15733         * modules/signal (Depends-on): Update.
15734         * modules/spawn (Depends-on): Update.
15735         * modules/stdio (Depends-on): Update.
15736         * modules/stdlib (Depends-on): Update.
15737         * modules/string (Depends-on): Update.
15738         * modules/strings (Depends-on): Update.
15739         * modules/sys_socket (Depends-on): Update.
15740         * modules/sys_stat (Depends-on): Update.
15741         * modules/sys_time (Depends-on): Update.
15742         * modules/sys_times (Depends-on): Update.
15743         * modules/sys_utsname (Depends-on): Update.
15744         * modules/time (Depends-on): Update.
15745         * modules/unistd (Depends-on): Update.
15746         * modules/wchar (Depends-on): Update.
15747         * MODULES.html.sh (Support for building libraries and executables):
15748         Update.
15749
15750 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         Improvements on _Noreturn and related modules.
15753
15754         modules/_Exit-tests: test _Noreturn too
15755         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15756         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15757         (main): Use them.
15758
15759         stdnoreturn, stdnoreturn-tests: remove modules
15760         They're not needed here and a bit premature for use elsewhere.  See
15761         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15762         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15763         * tests/test-stdnoreturn.c: Remove files.
15764         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15765         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15766         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15767         and using noreturn.
15768         * modules/openat, modules/sigpipe-die, modules/xalloc:
15769         * modules/xmemdup0, modules/xstrtol:
15770         Remove dependency on stdnoreturn.
15771
15772         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15773         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15774         Reparenthesize to avoid GCC warning.
15775         Support Microsoft's syntax.
15776         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15777
15778         _Noreturn-tests: remove module
15779         * modules/_Noreturn-tests: Remove.
15780         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15781         * tests/test-_Noreturn.c: Remove.
15782         * tests/test-stdnoreturn.c: Merge from the old
15783         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15784
15785 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15786
15787         _Noreturn, stdnoreturn, and related modules.
15788
15789         * top/maint.mk: Adjust to new noreturn support.
15790         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15791         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15792
15793         xalloc: use stdnoreturn.h
15794         * lib/xalloc.h: Include <stdnoreturn.h>.
15795         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15796         * modules/xalloc (Depends-on): Add stdnoreturn.
15797
15798         xstrtol: use stdnoreturn.h
15799         * lib/xstrtol.h: Include <stdnoreturn.h>.
15800         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15801         * modules/xstrtol (Depends-on): Add stdnoreturn.
15802
15803         xmemdup0: use stdnoreturn.h
15804         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15805         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15806         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15807
15808         sigpipe-die: use stdnoreturn.h
15809         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15810         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15811         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15812
15813         openat: use stdnoreturn.h
15814         * lib/openat.h: Include <stdnoreturn.h>.
15815         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15816         * modules/openat (Depends-on): Add stdnoreturn.
15817
15818         * lib/openat-die.c (openat_save_fail): Modernize comment.
15819
15820         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15821
15822         * lib/glthread/thread.h: Modernize comment.
15823
15824         obstack: use _Noreturn
15825         * lib/obstack.c (__attribute__): Remove macro.
15826         (print_and_abort): Use _Noreturn.
15827
15828         c-stack: use _Noreturn
15829         * lib/c-stack.c (die, overflow_handler, segv_handler):
15830         Use _Noreturn rather than __attribute__((noreturn)).
15831
15832         argmatch-tests, exclude_tests: use _Noreturn
15833         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15834         Remove.
15835         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15836
15837         stdlib: use _Noreturn
15838         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15839         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15840         * modules/stdlib (Depends-on): Add _Noreturn.
15841         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15842
15843         stdnoreturn-tests: new module
15844         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15845
15846         stdnoreturn: new module
15847         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15848         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15849
15850         _Noreturn-tests: new module
15851         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15852
15853         _Noreturn: new module
15854         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15855         New section, mentioning it.
15856         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15857
15858         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15859
15860 2011-07-11  Eric Blake  <eblake@redhat.com>
15861
15862         ffs: new module
15863         * modules/ffs: New file.
15864         * m4/ffs.m4: Likewise.
15865         * lib/ffs.c: Likewise.
15866         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15867         * modules/strings (Makefile.am): Substitute witness.
15868         (Depends-on): Add c++defs.
15869         * lib/strings.in.h (ffs): Declare.
15870         * modules/ffs-tests: New test file.
15871         * tests/test-ffs.c: Test new module.
15872         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15873         * doc/posix-functions/ffs.texi (ffs): Likewise.
15874
15875         regex: avoid compiler warning
15876         * lib/regex.c (includes): Include <strings.h>, for use of
15877         strcasecmp in regcomp.c.
15878         Reported by Joachim Schmitz.
15879
15880 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15881
15882         stdint: respect system's intmax_t if INTMAX_MAX
15883         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15884         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15885         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15886         long but int64_t is long long, and where we will clash with the
15887         system intmax_t if we override it.  See
15888         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15889         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15890         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15891         similarly for UINTMAX_C.
15892
15893 2011-07-08  Bruno Haible  <bruno@clisp.org>
15894
15895         pthread_sigmask tests: Avoid a compiler warning.
15896         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15897         non-zero.
15898
15899         sigprocmask tests: A better way to avoid a compiler warning.
15900         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15901         (main): Complain if system() returns non-zero.
15902         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15903
15904 2011-07-08  Bruno Haible  <bruno@clisp.org>
15905
15906         pthread_sigmask: Work around IRIX bug.
15907         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15908         bug.
15909         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15910         there may be unblocked pending signals.
15911         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15912
15913 2011-07-08  Bruno Haible  <bruno@clisp.org>
15914
15915         pthread_sigmask: Work around Cygwin bug.
15916         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15917         bug.
15918         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15919         the system's pthread_sigmask function.
15920         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15921
15922 2011-07-08  Bruno Haible  <bruno@clisp.org>
15923
15924         pthread_sigmask: Work around bug in single-threaded implementation.
15925         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15926         FreeBSD, HP-UX, Solaris bug.
15927         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15928         * lib/pthread_sigmask.c: Include <stddef.h>.
15929         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15930         the system's pthread_sigmask function.
15931         * modules/pthread_sigmask (configure.ac): Invoke
15932         gl_PREREQ_PTHREAD_SIGMASK.
15933         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15934         HP-UX, Solaris.
15935
15936 2011-07-08  Eric Blake  <eblake@redhat.com>
15937
15938         test-sigprocmask: avoid compiler warning
15939         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15940         * tests/test-sigprocmask.c (main): Use it to silence warning.
15941         Reported by Jim Meyering.
15942
15943         test-snprintf: avoid compiler warning
15944         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15945         * tests/test-vsnprintf.c (main): Likewise.
15946         Reported by Jim Meyering.
15947
15948 2011-07-08  Bruno Haible  <bruno@clisp.org>
15949
15950         Tests for module 'pthread_sigmask'.
15951         * modules/pthread_sigmask-tests: New file.
15952         * tests/test-pthread_sigmask1.c: New file, based on
15953         tests/test-sigprocmask.c.
15954         * tests/test-pthread_sigmask2.c: New file.
15955
15956 2011-07-08  Jim Meyering  <meyering@redhat.com>
15957
15958         test-getopt.h: avoid warning about an unused variable
15959         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15960
15961 2011-07-07  Jim Meyering  <meyering@redhat.com>
15962
15963         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15964         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15965         now that it no longer contains leading TABs.
15966         Remove unused "url=FIXME" statement.
15967
15968 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15969
15970         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15971         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15972         When gl_THREADLIB is not in use, assume that the POSIX sematics
15973         are desired.  This is better for Emacs, which uses POSIX semantics
15974         on GNUish and/or POSIXish platforms, and does not use threads at
15975         all otherwise.
15976
15977         pthread_sigmask: fix typo when testing for libraries
15978         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15979         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15980
15981 2011-07-08  Eric Blake  <eblake@redhat.com>
15982
15983         fts: introduce FTS_NOATIME
15984         * lib/fts_.h (FTS_NOATIME): New bit flag.
15985         (FTS_OPTIONMASK): Adjust.
15986         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15987         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15988
15989 2011-07-08  Bruno Haible  <bruno@clisp.org>
15990
15991         Tests for module 'thread'.
15992         * modules/thread-tests: New file.
15993         * tests/test-thread_self.c: New file.
15994         * tests/test-thread_create.cc: New file.
15995
15996 2011-07-08  Bruno Haible  <bruno@clisp.org>
15997
15998         thread: Avoid gcc warnings when using gl_thread_self().
15999         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16000         'void *'.
16001         (gl_thread_self_pointer): Update.
16002
16003 2011-07-07  Bruno Haible  <bruno@clisp.org>
16004
16005         signal-c++-tests: Check declaration of pthread_sigmask.
16006         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16007         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16008         $(LIB_PTHREAD_SIGMASK).
16009
16010 2011-07-07  Bruno Haible  <bruno@clisp.org>
16011
16012         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16013         * lib/signal.in.h (pthread_sigmask): Override if
16014         REPLACE_PTHREAD_SIGMASK is 1.
16015         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16016         REPLACE_PTHREAD_SIGMASK.
16017         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16018         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16019         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16020         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16021         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16022
16023 2011-07-07  Bruno Haible  <bruno@clisp.org>
16024
16025         pthread_sigmask: Ensure declaration in <signal.h>.
16026         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16027         include <pthread.h>.
16028         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16029         problem.
16030
16031 2011-07-07  Bruno Haible  <bruno@clisp.org>
16032
16033         pthread_sigmask: Document the module.
16034         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16035
16036 2011-07-07  Bruno Haible  <bruno@clisp.org>
16037
16038         pthread_sigmask: Follow gnulib conventions.
16039         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16040         gl_PTHREAD_SIGMASK.
16041         * modules/pthread_sigmask (configure.ac): Update.
16042
16043 2011-07-07  Bruno Haible  <bruno@clisp.org>
16044
16045         pthread_sigmask: Make declaration C++ safe.
16046         * lib/signal.in.h: In two special conditions, just do an #include_next.
16047         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16048         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16049         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16050         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16051         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16052         not REPLACE_PTHREAD_MASK.
16053         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16054         not REPLACE_PTHREAD_MASK.
16055         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16056
16057 2011-07-07  Bruno Haible  <bruno@clisp.org>
16058
16059         pthread_sigmask: Fix return value.
16060         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16061         * lib/pthread_sigmask.c: New file.
16062         * modules/pthread_sigmask (Files): Add it.
16063         (configure.ac): Invoke AC_LIBOBJ.
16064
16065 2011-07-07  Eric Blake  <eblake@redhat.com>
16066
16067         getopt: more portable argv creation
16068         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16069         const, use char arrays rather than strings.
16070         Suggested by Paul Eggert.
16071
16072 2011-07-07  Bruno Haible  <bruno@clisp.org>
16073
16074         Tests for module 'sigprocmask'.
16075         * modules/sigprocmask-tests: New file.
16076         * tests/test-sigprocmask.c: New file.
16077
16078 2011-07-07  Bruno Haible  <bruno@clisp.org>
16079
16080         float tests: Tweak.
16081         * tests/test-float.c (main): Tweak skip message.
16082
16083 2011-07-07  Eric Blake  <eblake@redhat.com>
16084
16085         getopt: avoid compiler warning during configure
16086         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16087         assigning string literals to non-const pointer.
16088
16089         getopt-gnu: avoid crash in glibc getopt
16090         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16091         * tests/test-getopt.h (test_getopt): Enhance test.
16092         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16093         * doc/posix-functions/getopt.texi (getopt): Document it.
16094         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16095         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16096         Likewise.
16097
16098 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16099
16100         getopt: handle W; without long options in getopt [BZ #12922]
16101         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16102         but no long options are defined, just return 'W'.
16103
16104 2011-07-07  Bruno Haible  <bruno@clisp.org>
16105
16106         Avoid literal tabs.
16107         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16108         variable containing a tab instead of a literal tab.
16109         Reported by Jim Meyering.
16110
16111 2011-07-07  Bruno Haible  <bruno@clisp.org>
16112
16113         Comments.
16114         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16115
16116 2011-07-06  Bruno Haible  <bruno@clisp.org>
16117
16118         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16119         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16120         <winsock2.h>.
16121         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16122         lib/sys_socket.in.h.
16123         (close, gethostname): Hide declarations from <winsock2.h>.
16124         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16125         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16126         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16127         (select): Don't override if gnulib's <sys/select.h> was already
16128         included.
16129         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16130         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16131         setsockopt, shutdown, select): Tweak indentation.
16132
16133 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16134
16135         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16136         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16137         in an application that does not use the sys_select module.
16138
16139 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16140
16141         poll: do not return 0 on timeout=-1
16142         * lib/poll.c: Loop with yield if no events occurred.
16143
16144 2011-07-06  Eric Blake  <eblake@redhat.com>
16145
16146         pthread_sigmask: always replace when not using pthread
16147         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16148         replacement when using some threading other than pthread.  Fix
16149         logic bug.
16150
16151 2011-07-06  Bruno Haible  <bruno@clisp.org>
16152
16153         Comments.
16154         * m4/printf.m4: Update comments about mingw.
16155
16156 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16157
16158         sys_select: define sigset_t more portably
16159         * lib/sys_select.in.h: Always include <sys/types.h>, since
16160         we now need sigset_t and mingw defines it there.
16161         Include <signal.h> before split inclusion guard, to avoid
16162         mishaps on Solaris, whose <signal.h> eventually includes us.
16163         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16164         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16165         which come from ...
16166         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16167         gl_CHECK_TYPE_SIGSET_T.
16168         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16169         does the real work.
16170         * modules/sys_select (Depends-on): Add 'signal'.
16171
16172         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16173         Suggested by Bruno Haible.
16174
16175         pselect: Use pthread_sigmask, not sigprocmask.
16176         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16177         multithreaded apps better than sigprocmask does.
16178         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16179         sigprocmask directly.
16180
16181 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16182
16183         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16184         Don't #undef,  since we don't need any underlying pselect.
16185         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16186         (Depends-on): Add select.
16187         (Link): Add $(LIBSOCKET).
16188         These changes suggested by Bruno Haible.
16189
16190         pselect: document better
16191         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16192         * doc/posix-functions/pselect.texi (pselect): Document new module.
16193
16194         pthread_sigmask: new module
16195         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16196         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16197         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16198         This is done only as a macro; I don't know how well that'll
16199         work for C++.  Move <sys/types.h> include before the include_next,
16200         to avoid mishap on Solaris.
16201         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16202         * modules/signal (Makefile.am): Substitute the check's results.
16203         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16204
16205         test-pselect: new module
16206         * modules/pselect-tests, tests/test-pselect.c: New files.
16207         * tests/test-select.c, tests/test-sys_select-c++.cc:
16208         If TEST_PSELECT is defined, test pselect instead of testing select.
16209
16210         * tests/test-sys_select.c (sigset_t): Test for it, too.
16211         Suggested by Bruno Haible.
16212
16213 2011-07-05  Eric Blake  <eblake@redhat.com>
16214
16215         snprintf: guarantee %1$d, for libintl
16216         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16217         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16218         * doc/posix-functions/snprintf.texi (snprintf): Update.
16219         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16220         * tests/test-snprintf.c (main): Enhance test.
16221         * tests/test-vsnprintf.c (main): Likewise.
16222
16223 2011-07-05  Jim Meyering  <meyering@redhat.com>
16224
16225         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16226         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16227         per Bruno's request, to accommodate this idiom (no space after "#")
16228         even when the function is inside an #if block:
16229         char *
16230         gets (char *s)
16231         #undef gets
16232         {
16233           ...
16234         }
16235
16236 2011-07-04  Jim Meyering  <meyering@redhat.com>
16237
16238         maint: indent with spaces, not TABs, and add a rule to check this
16239         * tests/test-userspec.c: Indent with spaces, not TABs.
16240         * tests/test-argp.c: Likewise.
16241         * tests/test-c-stack2.sh: Likewise.
16242         * tests/test-parse-duration.sh: Likewise
16243         * m4/strtod.m4: Likewise.
16244         * m4/alloca.m4: Likewise.
16245         * m4/pselect.m4: Likewise.
16246         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16247
16248 2011-07-03  Jim Meyering  <meyering@redhat.com>
16249
16250         maint.mk: correct omissions in prohibit_argmatch_without_use check
16251         This rule would mistakenly report that argmatch.h is included without
16252         use even when both the argmatch and invalid_arg macro were used.
16253         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16254         of argmatch and invalid_arg.
16255
16256 2011-07-03  Bruno Haible  <bruno@clisp.org>
16257
16258         Comments about EINTR.
16259         * lib/safe-read.h: Explain the purpose of this module.
16260         * lib/safe-write.h: Likewise.
16261         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16262         module.
16263         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16264         module.
16265         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16266
16267 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16268
16269         xnanosleep: Rewrite to use new dtotimespec module.
16270         It has the conversion code that used to be in xnanosleep.
16271         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16272         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16273         (TIME_T_MAX): Remove.
16274         (xnanosleep): Rewrite in terms of dtotimespec.
16275         * modules/xnanosleep (Depends-on): Add dtotimespec.
16276         Remove intprops, stdbool.
16277
16278         timespec-add, timespec-sub: new modules
16279         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16280         * lib/timespec-add.c, lib/timespec-sub.c:
16281         * modules/timespec-add, modules/timespec-sub: New files.
16282
16283         dtotimespec: new module
16284         * lib/timespec.h (dtotimespec): New decl.
16285         * lib/dtotimespec.c, modules/dtotimespec: New files.
16286
16287         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16288
16289         pselect: new module
16290         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16291         (pselect): New decls.
16292         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16293         since the standard pselect decl uses 'restrict'.
16294         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16295         HAVE_PSELECT, REPLACE_PSELECT.
16296         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16297         HAVE_PSELECT, REPLACE_PSELECT.
16298         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16299
16300         sys_select: don't depend on sys_socket
16301         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16302         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16303         This fix works on GNU and GNU-like platforms, but has not been tested
16304         on native Windows.
16305         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16306         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16307         gl_HEADER_SYS_SOCKET.
16308         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16309         gl_PREREQ_SYS_H_WINSOCK2.
16310
16311 2011-06-29  Eric Blake  <eblake@redhat.com>
16312
16313         pipe2: fix C89 compile problem
16314         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16315         Reported by Bruno Haible.
16316
16317         pipe, pipe2: don't corrupt fd on error
16318         * lib/pipe.c (pipe): Leave fd unchanged on error.
16319         * lib/pipe2.c (pipe2): Likewise.
16320         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16321         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16322
16323 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16324
16325         mmap-anon: do not use regular expressions inadvertently
16326         * m4/mmap-anon.m4: Remove trailing period from strings sought
16327         in the output.
16328
16329 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16330
16331         nanosleep: fix integer overflow problem
16332         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16333         arithmetic wraps around on overflow.
16334
16335         nanosleep: simplify carrying
16336         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16337         first call to the underyling nanosleep, not for the last one.
16338         This doesn't fix any bugs, but it simplifies the computation of
16339         the remaining delay.  Found while auditing integer overflow issues.
16340
16341         dup2: remove test for existence of fcntl
16342         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16343         "#if HAVE_FCNTL", in the configure-time test program.
16344         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16345         and therefore speeds up "configure" a bit.  Found while
16346         adding the dup2 module to Emacs.
16347
16348 2011-06-24  Eric Blake  <eblake@redhat.com>
16349
16350         maint.mk: enhance useless header checks
16351         * top/maint.mk (_sc_header_without_use): Check both include
16352         styles.
16353         (sc_prohibit_assert_without_use)
16354         (sc_prohibit_close_stream_without_use)
16355         (sc_prohibit_getopt_without_use)
16356         (sc_prohibit_quotearg_without_use)
16357         (sc_prohibit_quote_without_use)
16358         (sc_prohibit_long_options_without_use)
16359         (sc_prohibit_inttostr_without_use)
16360         (sc_prohibit_ignore_value_without_use)
16361         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16362         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16363         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16364         (sc_prohibit_hash_pjw_without_use)
16365         (sc_prohibit_safe_read_without_use)
16366         (sc_prohibit_argmatch_without_use)
16367         (sc_prohibit_canonicalize_without_use)
16368         (sc_prohibit_root_dev_ino_without_use)
16369         (sc_prohibit_openat_without_use)
16370         (sc_prohibit_c_ctype_without_use)
16371         (sc_prohibit_signal_without_use)
16372         (sc_prohibit_stdio--_without_use)
16373         (sc_prohibit_stdio-safer_without_use)
16374         (sc_prohibit_strings_without_use)
16375         (sc_prohibit_intprops_without_use)
16376         (sc_prohibit_stddef_without_use)
16377         (sc_prohibit_xfreopen_without_use): Update clients.
16378
16379 2011-06-24  Jim Meyering  <meyering@redhat.com>
16380
16381         syntax-check: keep one maint.mk rule in sync with its header
16382         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16383         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16384         I prefer to avoid temporary files here, so use <(...), but that
16385         is not supported by /bin/sh, so...
16386         (SHELL): Define to /bin/bash.
16387
16388 2011-06-24  Eric Blake  <eblake@redhat.com>
16389
16390         maint.mk: update sc_prohibit_intprops_without_use
16391         * top/maint.mk (_intprops_names): Match recent changes.
16392
16393 2011-06-24  Bruno Haible  <bruno@clisp.org>
16394
16395         strerror-override: No-op tweak.
16396         * lib/strerror-override.h (strerror_override): Reorder conditions,
16397         for consistency with lib/strerror-override.c.
16398
16399 2011-06-23  Eric Blake  <eblake@redhat.com>
16400
16401         maint.mk: test further PATH_MAX issues
16402         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16403         (sc_prohibit_path_max_allocation): ...and also test alloca.
16404         Suggested by Jim Meyering.
16405
16406 2011-06-22  Eric Blake  <eblake@redhat.com>
16407
16408         maint.mk: add syntax-check to avoid char[PATH_MAX]
16409         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16410
16411         stat: be robust to PATH_MAX definition
16412         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16413         * modules/stat (Depends-on): Add verify.
16414
16415         link: work around IRIX bug
16416         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16417         * lib/link.c (rpl_link): Work around it.
16418         * tests/test-link.h (test_link): Enhance test.
16419         * doc/posix-functions/link.texi (link): Document the bug.
16420
16421         getopt: silence clang warning
16422         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16423         dereference.
16424         Reported by Gustavo Martin Domato.
16425
16426 2011-06-22  Jim Meyering  <meyering@redhat.com>
16427
16428         bootstrap: do not insert a blank line into each .gitignore file
16429         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16430
16431 2011-06-21  Eric Blake  <eblake@redhat.com>
16432
16433         perror: test for output mismatch
16434         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16435         perror on IRIX.
16436
16437         strerror_r: fix OpenBSD behavior on out-of-range
16438         * lib/strerror_r.c (strerror_r): Always use maximal string.
16439         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16440
16441         strerror_r: fix OpenBSD behavior on 0
16442         * lib/strerror-override.c (strerror_override): Also override 0
16443         when needed.
16444         * lib/strerror-override.h (strerror_override): Likewise.
16445         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16446         earlier.
16447         * lib/strerror_r.c (strerror_r): Likewise.
16448         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16449         behavior...
16450         (gl_FUNC_STRERROR_0): ...into new macro.
16451         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16452         is overridden.
16453         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16454         * modules/strerror-override (Files): Add strerror.m4.
16455         (configure.ac): Also provide override for 0 when needed.
16456         * doc/posix-functions/strerror.texi (strerror): Document this.
16457         * doc/posix-functions/perror.texi (perror): Likewise.
16458
16459         perror: adjust array size
16460         * modules/perror (Depends-on): Add strerror-override.
16461         * lib/perror.c (perror): Use it to avoid magic number.
16462
16463         strerror-override: reduce size
16464         * lib/strerror-override.c (strerror_override): Use fewer lines.
16465
16466 2011-06-20  Bruno Haible  <bruno@clisp.org>
16467
16468         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16469         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16470
16471 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16472
16473         alloca: port to compilers that can optimize like GCC 4.6.0
16474         * lib/alloca.c (find_stack_direction): New signature, taken from
16475         Autoconf git.  This works with GCC 4.6.0.  This code should never
16476         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16477         be used with other compilers that optimize as well as GCC 4.6.0 does.
16478         (alloca): Adjust to new signature.
16479         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16480         New macro, which patches Autoconf in a similar way.
16481
16482         c-stack: stop worrying about stack direction
16483         * lib/c-stack.c (find_stack_direction): Remove.
16484         (segv_handler): Don't worry about stack direction growth, as it's
16485         too much of a pain to configure this correctly, given how compilers
16486         are optimizing-away our stack-growth detection code.  Instead, assume
16487         that any access to just before or just after the stack is OK.
16488         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16489         Don't require AC_FUNC_ALLOCA; no longer needed.
16490
16491 2011-06-20  Eric Blake  <eblake@redhat.com>
16492
16493         test-stat: don't allocate PATH_MAX bytes
16494         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16495         PATH_MAX-sized buffer.
16496         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16497         * modules/stat-tests (Depends-on): Likewise.
16498         * tests/test-fstatat.c (includes): Drop pathmax.h.
16499         * tests/test-stat.c (includes): Likewise.
16500         Reported by Bruno Haible.
16501
16502 2011-06-20  Bruno Haible  <bruno@clisp.org>
16503
16504         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16505         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16506         * lib/float.c: New file.
16507         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16508         REPLACE_FLOAT_LDBL.
16509         * modules/float (Files): Add lib/float.c.
16510         (configure.ac): Invoke AC_LIBOBJ.
16511         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16512
16513 2011-06-20  Bruno Haible  <bruno@clisp.org>
16514
16515         Tests for module 'float'.
16516         * modules/float-tests: New file.
16517         * tests/test-float.c: New file.
16518
16519 2011-06-19  Bruno Haible  <bruno@clisp.org>
16520
16521         isinf: Coding style.
16522         * lib/isinf.c: Use GNU coding style.
16523
16524 2011-06-19  Bruno Haible  <bruno@clisp.org>
16525
16526         linkat test: Avoid test failure on AIX 7.1.
16527         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16528         * tests/test-link.h (test_link): Likewise.
16529
16530 2011-06-19  Bruno Haible  <bruno@clisp.org>
16531
16532         pread test: Avoid test failure on OpenBSD 4.9.
16533         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16534
16535 2011-06-19  Bruno Haible  <bruno@clisp.org>
16536
16537         sprintf-posix: Fix test failure on AIX 7.1.
16538         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16539         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16540         on AIX.
16541         * doc/posix-functions/fprintf.texi: Likewise.
16542         * doc/posix-functions/printf.texi: Likewise.
16543         * doc/posix-functions/snprintf.texi: Likewise.
16544         * doc/posix-functions/sprintf.texi: Likewise.
16545         * doc/posix-functions/vdprintf.texi: Likewise.
16546         * doc/posix-functions/vfprintf.texi: Likewise.
16547         * doc/posix-functions/vprintf.texi: Likewise.
16548         * doc/posix-functions/vsnprintf.texi: Likewise.
16549         * doc/posix-functions/vsprintf.texi: Likewise.
16550
16551 2011-06-19  Bruno Haible  <bruno@clisp.org>
16552
16553         roundl-ieee: Fix test failure on AIX 7.1.
16554         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16555         * doc/posix-functions/roundl.texi: Mention problem with negative
16556         arguments.
16557
16558 2011-06-19  Bruno Haible  <bruno@clisp.org>
16559
16560         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16561         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16562         * doc/posix-functions/round.texi: Mention problem with negative
16563         arguments.
16564         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16565
16566 2011-06-19  Bruno Haible  <bruno@clisp.org>
16567
16568         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16569         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16570         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16571         * doc/posix-functions/roundf.texi: Mention problem with negative
16572         arguments.
16573         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16574
16575 2011-06-19  Bruno Haible  <bruno@clisp.org>
16576
16577         ceilf-ieee: Work around bug on MacOS X 10.5.
16578         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16579
16580         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16581         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16582         IEEE compliant, avoid compiler optimizations.
16583         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16584         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16585         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16586         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16587         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16588         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16589         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16590         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16591         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16592         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16593
16594 2011-06-19  Bruno Haible  <bruno@clisp.org>
16595
16596         ceilf-ieee: Work around bug on AIX 7.1.
16597         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16598         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16599
16600 2011-06-19  Bruno Haible  <bruno@clisp.org>
16601
16602         ceil-ieee: Work around bug on AIX 7.1.
16603         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16604         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16605
16606 2011-06-18  Bruno Haible  <bruno@clisp.org>
16607
16608         fsync test: Avoid test failure on MacOS X and AIX.
16609         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16610         EINVAL.
16611
16612 2011-06-18  Bruno Haible  <bruno@clisp.org>
16613
16614         openat, fdopendir tests: Fix link errors.
16615         * modules/openat-tests (Depends-on): Add progname.
16616         * modules/fdopendir-tests (Depends-on): Likewise.
16617         * tests/test-fchownat.c: Include progname.h.
16618         (main): Call set_program_name.
16619         * tests/test-fstatat.c: Include progname.h.
16620         (main): Call set_program_name.
16621         * tests/test-mkdirat.c: Include progname.h.
16622         (main): Call set_program_name.
16623         * tests/test-openat.c: Include progname.h.
16624         (main): Call set_program_name.
16625         * tests/test-unlinkat.c: Include progname.h.
16626         (main): Call set_program_name.
16627         * tests/test-fdopendir.c: Include progname.h.
16628         (main): Call set_program_name.
16629
16630 2011-06-18  Bruno Haible  <bruno@clisp.org>
16631
16632         Doc update.
16633         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16634         HP-UX.
16635         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16636
16637 2011-06-18  Bruno Haible  <bruno@clisp.org>
16638
16639         getcwd tests: Avoid compilation error on HP-UX 11.31.
16640         * modules/getcwd-tests (Depends-on): Add pathmax.
16641         * tests/test-getcwd.c: Include pathmax.h.
16642
16643 2011-06-18  Bruno Haible  <bruno@clisp.org>
16644
16645         isfinite, isinf: Fix link error on AIX 6 and 7.
16646         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16647         needed, also test the macro with a 'float' argument.
16648         * m4/isinf.m4 (gl_ISINF): Likewise.
16649
16650 2011-06-18  Bruno Haible  <bruno@clisp.org>
16651
16652         getloadavg: Don't clobber LIBS. Regression from previous commit.
16653         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16654         AC_CHECK_LIB from here...
16655         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16656         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16657         gl_func_getloadavg_done.
16658         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16659
16660 2011-06-18  Bruno Haible  <bruno@clisp.org>
16661
16662         clean-temp: Improve documentation.
16663         * lib/clean-temp.h: Explain better how to use this module.
16664         Reported by John Darrington <john@darrington.wattle.id.au>.
16665
16666 2011-06-17  Bruno Haible  <bruno@clisp.org>
16667
16668         pread, pwrite: Avoid cc warning on AIX.
16669         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16670         (pwrite): Likewise.
16671
16672 2011-06-17  Bruno Haible  <bruno@clisp.org>
16673
16674         spawn-pipe tests: Fix link error.
16675         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16676         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16677
16678 2011-06-17  Bruno Haible  <bruno@clisp.org>
16679
16680         Tests: Remove unnecessary dependency.
16681         * modules/canonicalize-tests (Depends-on): Remove progname.
16682         * modules/chown-tests (Depends-on): Likewise.
16683         * modules/dirname-tests (Depends-on): Likewise.
16684         * modules/fdopendir-tests (Depends-on): Likewise.
16685         * modules/fdutimensat-tests (Depends-on): Likewise.
16686         * modules/hash-tests (Depends-on): Likewise.
16687         * modules/lchown-tests (Depends-on): Likewise.
16688         * modules/linkat-tests (Depends-on): Likewise.
16689         * modules/renameat-tests (Depends-on): Likewise.
16690         * modules/spawn-pipe-tests (Depends-on): Likewise.
16691         * modules/utimensat-tests (Depends-on): Likewise.
16692
16693 2011-06-17  Bruno Haible  <bruno@clisp.org>
16694
16695         spawn-pipe tests: Fix link error.
16696         * tests/test-spawn-pipe-child.c: Undefine fflush.
16697
16698 2011-06-17  Bruno Haible  <bruno@clisp.org>
16699
16700         Fix tests link errors.
16701         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16702         * modules/chown-tests (Makefile.am): Don't link test-chown with
16703         LIBINTL.
16704         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16705         LIBINTL.
16706         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16707         LIBINTL.
16708         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16709         LIBINTL.
16710
16711 2011-06-16  Bruno Haible  <bruno@clisp.org>
16712
16713         crypto/gc-sha1: Fix recent regression.
16714         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16715         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16716
16717         crypto/gc-md5: Fix recent regression.
16718         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16719
16720         crypto/gc-md4: Fix recent regression.
16721         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16722         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16723
16724         crypto/gc-arctwo: Fix recent regression.
16725         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16726         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16727
16728         crypto/gc-rijndael: Fix recent regression.
16729         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16730         (configure.ac): Invoke AC_LIBOBJ here.
16731         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16732         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16733
16734         crypto/gc-hmac-sha1: Fix recent regression.
16735         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16736         (configure.ac): Invoke AC_LIBOBJ here.
16737         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16738         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16739
16740         crypto/gc-hmac-md5: Fix recent regression.
16741         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16742         (configure.ac): Invoke AC_LIBOBJ here.
16743         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16744         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16745
16746         crypto/gc-des: Fix recent regression.
16747         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16748         (configure.ac): Invoke AC_LIBOBJ here.
16749         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16750         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16751
16752         crypto/gc-arcfour: Fix recent regression.
16753         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16754         (configure.ac): Invoke AC_LIBOBJ here.
16755         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16756         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16757
16758 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16759
16760         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16761         After the 2011-05-21 change, this macro requires
16762         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16763         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16764
16765 2011-06-16  Bruno Haible  <bruno@clisp.org>
16766
16767         fprintftime: Move AC_LIBOBJ invocations to module description.
16768         * m4/fprintftime.m4: Remove file.
16769         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16770         (configure.ac): Remove gl_FPRINTFTIME call.
16771         (Makefile.am): Augment lib_SOURCES.
16772         Reported by Jim Meyering.
16773
16774 2011-06-16  Bruno Haible  <bruno@clisp.org>
16775
16776         tmpfile-safer: Finish 2011-05-23 commit.
16777         * m4/stdio-safer.m4: Really remove file.
16778         Reported by Jim Meyering.
16779
16780 2011-06-16  Bruno Haible  <bruno@clisp.org>
16781
16782         syntax-check: Fix typo.
16783         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16784         printf-posix.m4.
16785         Reported by Jim Meyering.
16786
16787 2011-06-13  Jim Meyering  <meyering@redhat.com>
16788
16789         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16790         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16791
16792 2011-05-23  Bruno Haible  <bruno@clisp.org>
16793
16794         yesno: Move AC_LIBOBJ invocations to module description.
16795         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16796         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16797
16798 2011-05-23  Bruno Haible  <bruno@clisp.org>
16799
16800         xstrtol: Move AC_LIBOBJ invocations to module description.
16801         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16802         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16803
16804 2011-05-23  Bruno Haible  <bruno@clisp.org>
16805
16806         xstrtold: Move AC_LIBOBJ invocations to module description.
16807         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16808         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16809
16810 2011-05-23  Bruno Haible  <bruno@clisp.org>
16811
16812         xstrtod: Move AC_LIBOBJ invocations to module description.
16813         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16814         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16815
16816 2011-05-23  Bruno Haible  <bruno@clisp.org>
16817
16818         xnanosleep: Move AC_LIBOBJ invocations to module description.
16819         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16820         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16821
16822 2011-05-23  Bruno Haible  <bruno@clisp.org>
16823
16824         xgetcwd: Move AC_LIBOBJ invocations to module description.
16825         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16826         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16827
16828 2011-05-23  Bruno Haible  <bruno@clisp.org>
16829
16830         xalloc: Move AC_LIBOBJ invocations to module description.
16831         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16832         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16833
16834 2011-05-23  Bruno Haible  <bruno@clisp.org>
16835
16836         write-any-file: Move AC_LIBOBJ invocations to module description.
16837         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16838         invocation.
16839         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16840
16841 2011-05-23  Bruno Haible  <bruno@clisp.org>
16842
16843         utimens: Move AC_LIBOBJ invocations to module description.
16844         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16845         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16846
16847 2011-05-23  Bruno Haible  <bruno@clisp.org>
16848
16849         utimecmp: Move AC_LIBOBJ invocations to module description.
16850         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16851         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16852
16853 2011-05-23  Bruno Haible  <bruno@clisp.org>
16854
16855         userspec: Move AC_LIBOBJ invocations to module description.
16856         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16857         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16858
16859 2011-05-23  Bruno Haible  <bruno@clisp.org>
16860
16861         unlinkdir: Move AC_LIBOBJ invocations to module description.
16862         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16863         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16864
16865 2011-05-23  Bruno Haible  <bruno@clisp.org>
16866
16867         unistd-safer: Move AC_LIBOBJ invocations to module description.
16868         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16869         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16870
16871 2011-05-23  Bruno Haible  <bruno@clisp.org>
16872
16873         tempname: Move AC_LIBOBJ invocations to module description.
16874         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16875         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16876
16877 2011-05-23  Bruno Haible  <bruno@clisp.org>
16878
16879         strftime: Move AC_LIBOBJ invocations to module description.
16880         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16881         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16882
16883 2011-05-23  Bruno Haible  <bruno@clisp.org>
16884
16885         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16886         * m4/stdlib-safer.m4: Remove file.
16887         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16888         (configure.ac): Remove gl_STDLIB_SAFER call.
16889         (Makefile.am): Augment lib_SOURCES.
16890
16891 2011-05-23  Bruno Haible  <bruno@clisp.org>
16892
16893         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16894         * m4/stdio-safer.m4: Remove file.
16895         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16896         (configure.ac): Remove gl_TMPFILE_SAFER call.
16897         (Makefile.am): Augment lib_SOURCES.
16898
16899 2011-05-23  Bruno Haible  <bruno@clisp.org>
16900
16901         popen-safer: Move AC_LIBOBJ invocations to module description.
16902         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16903         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16904         (configure.ac): Remove gl_POPEN_SAFER call.
16905         (Makefile.am): Augment lib_SOURCES.
16906
16907 2011-05-23  Bruno Haible  <bruno@clisp.org>
16908
16909         freopen-safer: Move AC_LIBOBJ invocations to module description.
16910         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16911         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16912         (configure.ac): Remove gl_FREOPEN_SAFER call.
16913         (Makefile.am): Augment lib_SOURCES.
16914
16915 2011-05-23  Bruno Haible  <bruno@clisp.org>
16916
16917         fopen-safer: Move AC_LIBOBJ invocations to module description.
16918         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16919         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16920         (configure.ac): Remove gl_FOPEN_SAFER call.
16921         (Makefile.am): Augment lib_SOURCES.
16922
16923 2011-05-23  Bruno Haible  <bruno@clisp.org>
16924
16925         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16926         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16927         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16928
16929 2011-05-23  Bruno Haible  <bruno@clisp.org>
16930
16931         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16932         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16933         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16934
16935 2011-05-23  Bruno Haible  <bruno@clisp.org>
16936
16937         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16938         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16939         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16940
16941 2011-05-23  Bruno Haible  <bruno@clisp.org>
16942
16943         settime: Move AC_LIBOBJ invocations to module description.
16944         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16945         * modules/settime (Makefile.am): Augment lib_SOURCES.
16946
16947 2011-05-23  Bruno Haible  <bruno@clisp.org>
16948
16949         savedir: Move AC_LIBOBJ invocations to module description.
16950         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16951         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16952
16953 2011-05-23  Bruno Haible  <bruno@clisp.org>
16954
16955         save-cwd: Move AC_LIBOBJ invocations to module description.
16956         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16957         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16958
16959 2011-05-23  Bruno Haible  <bruno@clisp.org>
16960
16961         same: Move AC_LIBOBJ invocations to module description.
16962         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16963         * modules/same (Makefile.am): Augment lib_SOURCES.
16964
16965 2011-05-23  Bruno Haible  <bruno@clisp.org>
16966
16967         safe-write: Move AC_LIBOBJ invocations to module description.
16968         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16969         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16970         instead of gl_SAFE_WRITE.
16971         (Makefile.am): Augment lib_SOURCES.
16972
16973 2011-05-23  Bruno Haible  <bruno@clisp.org>
16974
16975         safe-read: Move AC_LIBOBJ invocations to module description.
16976         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16977         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16978         of gl_SAFE_READ.
16979         (Makefile.am): Augment lib_SOURCES.
16980
16981 2011-05-23  Bruno Haible  <bruno@clisp.org>
16982
16983         safe-alloc: Move AC_LIBOBJ invocations to module description.
16984         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16985         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16986
16987 2011-05-23  Bruno Haible  <bruno@clisp.org>
16988
16989         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16990         * m4/rijndael.m4: Remove file.
16991         * modules/crypto/rijndael (Files): Remove it.
16992         (configure.ac): Remove gl_RIJNDAEL call.
16993         (Makefile.am): Augment lib_SOURCES.
16994
16995 2011-05-23  Bruno Haible  <bruno@clisp.org>
16996
16997         readtokens: Move AC_LIBOBJ invocations to module description.
16998         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16999         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17000
17001 2011-05-23  Bruno Haible  <bruno@clisp.org>
17002
17003         read-file: Move AC_LIBOBJ invocations to module description.
17004         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17005         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17006         of gl_FUNC_READ_FILE.
17007         (Makefile.am): Augment lib_SOURCES.
17008
17009 2011-05-23  Bruno Haible  <bruno@clisp.org>
17010
17011         quotearg: Move AC_LIBOBJ invocations to module description.
17012         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17013         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17014
17015 2011-05-23  Bruno Haible  <bruno@clisp.org>
17016
17017         quote: Move AC_LIBOBJ invocations to module description.
17018         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17019         * modules/quote (Makefile.am): Augment lib_SOURCES.
17020
17021 2011-05-23  Bruno Haible  <bruno@clisp.org>
17022
17023         posixver: Move AC_LIBOBJ invocations to module description.
17024         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17025         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17026
17027 2011-05-23  Bruno Haible  <bruno@clisp.org>
17028
17029         posixtm: Move AC_LIBOBJ invocations to module description.
17030         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17031         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17032
17033 2011-05-23  Bruno Haible  <bruno@clisp.org>
17034
17035         physmem: Move AC_LIBOBJ invocations to module description.
17036         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17037         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17038
17039 2011-05-23  Bruno Haible  <bruno@clisp.org>
17040
17041         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17042         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17043         invocation.
17044         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17045
17046 2011-05-23  Bruno Haible  <bruno@clisp.org>
17047
17048         mpsort: Move AC_LIBOBJ invocations to module description.
17049         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17050         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17051
17052 2011-05-23  Bruno Haible  <bruno@clisp.org>
17053
17054         modechange: Move AC_LIBOBJ invocations to module description.
17055         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17056         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17057
17058 2011-05-23  Bruno Haible  <bruno@clisp.org>
17059
17060         mkdir-p: Move AC_LIBOBJ invocations to module description.
17061         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17062         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17063
17064 2011-05-23  Bruno Haible  <bruno@clisp.org>
17065
17066         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17067         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17068         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17069
17070 2011-05-23  Bruno Haible  <bruno@clisp.org>
17071
17072         mgetgroups: Move AC_LIBOBJ invocations to module description.
17073         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17074         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17075
17076 2011-05-23  Bruno Haible  <bruno@clisp.org>
17077
17078         memxor: Move AC_LIBOBJ invocations to module description.
17079         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
17080         * modules/memxor (Makefile.am): Augment lib_SOURCES.
17081
17082 2011-05-23  Bruno Haible  <bruno@clisp.org>
17083
17084         memcoll: Move AC_LIBOBJ invocations to module description.
17085         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17086         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17087
17088 2011-05-23  Bruno Haible  <bruno@clisp.org>
17089
17090         memcasecmp: Move AC_LIBOBJ invocations to module description.
17091         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17092         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17093
17094 2011-05-23  Bruno Haible  <bruno@clisp.org>
17095
17096         crypto/md5: Move AC_LIBOBJ invocations to module description.
17097         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17098         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17099
17100 2011-05-23  Bruno Haible  <bruno@clisp.org>
17101
17102         crypto/md4: Move AC_LIBOBJ invocations to module description.
17103         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17104         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17105
17106 2011-05-23  Bruno Haible  <bruno@clisp.org>
17107
17108         crypto/md2: Move AC_LIBOBJ invocations to module description.
17109         * m4/md2.m4: Remove file.
17110         * modules/crypto/md2 (Files): Remove it.
17111         (configure.ac): Remove gl_MD2 call.
17112         (Makefile.am): Augment lib_SOURCES.
17113
17114 2011-05-23  Bruno Haible  <bruno@clisp.org>
17115
17116         long-options: Move AC_LIBOBJ invocations to module description.
17117         * m4/long-options.m4: Remove file.
17118         * modules/long-options (Files): Remove it.
17119         (configure.ac): Remove gl_LONG_OPTIONS call.
17120         (Makefile.am): Augment lib_SOURCES.
17121
17122 2011-05-23  Bruno Haible  <bruno@clisp.org>
17123
17124         i-ring: Move AC_LIBOBJ invocations to module description.
17125         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17126         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17127
17128 2011-05-23  Bruno Haible  <bruno@clisp.org>
17129
17130         idcache: Move AC_LIBOBJ invocations to module description.
17131         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17132         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17133
17134 2011-05-23  Bruno Haible  <bruno@clisp.org>
17135
17136         human: Move AC_LIBOBJ invocations to module description.
17137         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17138         * modules/human (Makefile.am): Augment lib_SOURCES.
17139
17140 2011-05-23  Bruno Haible  <bruno@clisp.org>
17141
17142         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17143         * m4/hmac-sha1.m4: Remove file.
17144         * modules/crypto/hmac-sha1 (Files): Remove it.
17145         (configure.ac): Remove gl_HMAC_SHA1 call.
17146         (Makefile.am): Augment lib_SOURCES.
17147
17148 2011-05-23  Bruno Haible  <bruno@clisp.org>
17149
17150         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17151         * m4/hmac-md5.m4: Remove file.
17152         * modules/crypto/hmac-md5 (Files): Remove it.
17153         (configure.ac): Remove gl_HMAC_MD5 call.
17154         (Makefile.am): Augment lib_SOURCES.
17155
17156 2011-05-23  Bruno Haible  <bruno@clisp.org>
17157
17158         hash: Move AC_LIBOBJ invocations to module description.
17159         * m4/hash.m4: Remove file.
17160         * modules/hash (Files): Remove it.
17161         (configure.ac): Remove gl_HASH call.
17162         (Makefile.am): Augment lib_SOURCES.
17163
17164 2011-05-23  Bruno Haible  <bruno@clisp.org>
17165
17166         hard-locale: Move AC_LIBOBJ invocations to module description.
17167         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17168         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17169
17170 2011-05-23  Bruno Haible  <bruno@clisp.org>
17171
17172         getugroups: Move AC_LIBOBJ invocations to module description.
17173         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17174         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17175
17176 2011-05-23  Bruno Haible  <bruno@clisp.org>
17177
17178         gettime: Move AC_LIBOBJ invocations to module description.
17179         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17180         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17181
17182 2011-05-23  Bruno Haible  <bruno@clisp.org>
17183
17184         getndelim2: Move AC_LIBOBJ invocations to module description.
17185         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17186         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17187
17188 2011-05-23  Bruno Haible  <bruno@clisp.org>
17189
17190         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17191         * m4/gc-pbkdf2-sha1.m4: Remove file.
17192         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17193         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17194         (Makefile.am): Augment lib_SOURCES.
17195
17196 2011-05-23  Bruno Haible  <bruno@clisp.org>
17197
17198         fts: Move AC_LIBOBJ invocations to module description.
17199         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17200         * modules/fts (configure.ac): ... to here.
17201
17202 2011-05-23  Bruno Haible  <bruno@clisp.org>
17203
17204         file-type: Move AC_LIBOBJ invocations to module description.
17205         * m4/file-type.m4: Remove file.
17206         * modules/file-type (Files): Remove it.
17207         (configure.ac): Remove gl_FILE_TYPE call.
17208         (Makefile.am): Augment lib_SOURCES.
17209
17210 2011-05-23  Bruno Haible  <bruno@clisp.org>
17211
17212         filenamecat*: Respect rules for use of AC_LIBOBJ.
17213         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17214         Remove AC_LIBOBJ invocation.
17215         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17216         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17217
17218 2011-05-23  Bruno Haible  <bruno@clisp.org>
17219
17220         filemode: Move AC_LIBOBJ invocations to module description.
17221         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17222         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17223
17224 2011-05-23  Bruno Haible  <bruno@clisp.org>
17225
17226         openat-safer: Move AC_LIBOBJ invocations to module description.
17227         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17228         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17229
17230 2011-05-23  Bruno Haible  <bruno@clisp.org>
17231
17232         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17233         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17234         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17235
17236 2011-05-23  Bruno Haible  <bruno@clisp.org>
17237
17238         exclude: Move AC_LIBOBJ invocations to module description.
17239         * m4/exclude.m4: Remove file.
17240         * modules/exclude (Files): Remove it.
17241         (configure.ac): Remove gl_EXCLUDE call.
17242         (Makefile.am): Augment lib_SOURCES.
17243
17244 2011-05-23  Bruno Haible  <bruno@clisp.org>
17245
17246         dirname*: Respect rules for use of AC_LIBOBJ.
17247         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17248         invocations.
17249         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17250         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17251
17252 2011-05-23  Bruno Haible  <bruno@clisp.org>
17253
17254         dirent-safer: Move AC_LIBOBJ invocations to module description.
17255         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17256         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17257
17258 2011-05-23  Bruno Haible  <bruno@clisp.org>
17259
17260         crypto/des: Move AC_LIBOBJ invocations to module description.
17261         * m4/des.m4: Remove file.
17262         * modules/crypto/des (Files): Remove it.
17263         (configure.ac): Remove gl_DES call.
17264         (Makefile.am): Augment lib_SOURCES.
17265
17266 2011-05-23  Bruno Haible  <bruno@clisp.org>
17267
17268         cycle-check: Move AC_LIBOBJ invocations to module description.
17269         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17270         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17271
17272 2011-05-23  Bruno Haible  <bruno@clisp.org>
17273
17274         c-strtold: Move AC_LIBOBJ invocations to module description.
17275         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17276         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17277
17278 2011-05-23  Bruno Haible  <bruno@clisp.org>
17279
17280         c-strtod: Move AC_LIBOBJ invocations to module description.
17281         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17282         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17283
17284 2011-05-23  Bruno Haible  <bruno@clisp.org>
17285
17286         crc: Move AC_LIBOBJ invocations to module description.
17287         * m4/crc.m4: Remove file.
17288         * modules/crc (Files): Remove it.
17289         (configure.ac): Remove gl_CRC call.
17290         (Makefile.am): Augment lib_SOURCES.
17291
17292 2011-05-23  Bruno Haible  <bruno@clisp.org>
17293
17294         close-stream: Move AC_LIBOBJ invocations to module description.
17295         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17296         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17297
17298 2011-05-23  Bruno Haible  <bruno@clisp.org>
17299
17300         closeout: Move AC_LIBOBJ invocations to module description.
17301         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17302         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17303
17304 2011-05-23  Bruno Haible  <bruno@clisp.org>
17305
17306         closein: Move AC_LIBOBJ invocations to module description.
17307         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17308         * modules/closein (Makefile.am): Augment lib_SOURCES.
17309
17310 2011-05-23  Bruno Haible  <bruno@clisp.org>
17311
17312         cloexec: Move AC_LIBOBJ invocations to module description.
17313         * m4/cloexec.m4: Remove file.
17314         * modules/cloexec (Files): Remove it.
17315         (configure.ac): Remove gl_CLOEXEC call.
17316         (Makefile.am): Augment lib_SOURCES.
17317
17318 2011-05-23  Bruno Haible  <bruno@clisp.org>
17319
17320         check-version: Move AC_LIBOBJ invocations to module description.
17321         * m4/check-version.m4: Remove file.
17322         * modules/check-version (Files): Remove it.
17323         (configure.ac): Remove gl_CHECK_VERSION call.
17324         (Makefile.am): Augment lib_SOURCES.
17325
17326 2011-05-23  Bruno Haible  <bruno@clisp.org>
17327
17328         chdir-safer: Move AC_LIBOBJ invocations to module description.
17329         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17330         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17331
17332 2011-05-23  Bruno Haible  <bruno@clisp.org>
17333
17334         canonicalize: Move AC_LIBOBJ invocations to module description.
17335         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17336         AC_LIBOBJ invocation.
17337         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17338
17339 2011-05-23  Bruno Haible  <bruno@clisp.org>
17340
17341         canon-host: Move AC_LIBOBJ invocations to module description.
17342         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17343         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17344         instead of gl_CANON_HOST.
17345         (Makefile.am): Augment lib_SOURCES.
17346
17347 2011-05-23  Bruno Haible  <bruno@clisp.org>
17348
17349         backupfile: Move AC_LIBOBJ invocations to module description.
17350         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17351         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17352
17353 2011-05-23  Bruno Haible  <bruno@clisp.org>
17354
17355         argmatch: Move AC_LIBOBJ invocations to module description.
17356         * m4/argmatch.m4: Remove file.
17357         * modules/argmatch (Files): Remove it.
17358         (configure.ac): Remove gl_ARGMATCH call.
17359         (Makefile.am): Augment lib_SOURCES.
17360
17361 2011-05-23  Bruno Haible  <bruno@clisp.org>
17362
17363         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17364         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17365         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17366
17367 2011-05-23  Bruno Haible  <bruno@clisp.org>
17368
17369         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17370         * m4/arcfour.m4: Remove file.
17371         * modules/crypto/arcfour (Files): Remove it.
17372         (configure.ac): Remove gl_ARCFOUR call.
17373         (Makefile.am): Augment lib_SOURCES.
17374
17375 2011-05-22  Bruno Haible  <bruno@clisp.org>
17376
17377         write: Move AC_LIBOBJ invocations to module description.
17378         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17379         * modules/write (configure.ac): ... to here.
17380
17381 2011-05-22  Bruno Haible  <bruno@clisp.org>
17382
17383         wmemset: Move AC_LIBOBJ invocations to module description.
17384         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17385         here...
17386         * modules/wmemset (configure.ac): ... to here.
17387
17388 2011-05-22  Bruno Haible  <bruno@clisp.org>
17389
17390         wmemmove: Move AC_LIBOBJ invocations to module description.
17391         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17392         here...
17393         * modules/wmemmove (configure.ac): ... to here.
17394
17395 2011-05-22  Bruno Haible  <bruno@clisp.org>
17396
17397         wmemcpy: Move AC_LIBOBJ invocations to module description.
17398         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17399         here...
17400         * modules/wmemcpy (configure.ac): ... to here.
17401
17402 2011-05-22  Bruno Haible  <bruno@clisp.org>
17403
17404         wmemcmp: Move AC_LIBOBJ invocations to module description.
17405         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17406         here...
17407         * modules/wmemcmp (configure.ac): ... to here.
17408
17409 2011-05-22  Bruno Haible  <bruno@clisp.org>
17410
17411         wmemchr: Move AC_LIBOBJ invocations to module description.
17412         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17413         here...
17414         * modules/wmemchr (configure.ac): ... to here.
17415
17416 2011-05-22  Bruno Haible  <bruno@clisp.org>
17417
17418         wcswidth: Move AC_LIBOBJ invocations to module description.
17419         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17420         here...
17421         * modules/wcswidth (configure.ac): ... to here.
17422
17423 2011-05-22  Bruno Haible  <bruno@clisp.org>
17424
17425         wcwidth: Respect rules for use of AC_LIBOBJ.
17426         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17427         invocation from here...
17428         * modules/wcwidth (configure.ac): ... to here.
17429         (Depends-on): Update conditions.
17430
17431 2011-05-22  Bruno Haible  <bruno@clisp.org>
17432
17433         wctype: Move AC_LIBOBJ invocations to module description.
17434         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17435         invocation from here...
17436         * modules/wctype (configure.ac): ... to here.
17437         (Depends-on): Update conditions.
17438
17439 2011-05-22  Bruno Haible  <bruno@clisp.org>
17440
17441         wctrans: Move AC_LIBOBJ invocations to module description.
17442         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17443         invocation from here...
17444         * modules/wctrans (configure.ac): ... to here.
17445
17446 2011-05-22  Bruno Haible  <bruno@clisp.org>
17447
17448         wctomb: Move AC_LIBOBJ invocations to module description.
17449         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17450         invocations from here...
17451         * modules/wctomb (configure.ac): ... to here.
17452
17453 2011-05-22  Bruno Haible  <bruno@clisp.org>
17454
17455         wctob: Move AC_LIBOBJ invocations to module description.
17456         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17457         gl_PREREQ_WCTOB invocations from here...
17458         * modules/wctob (configure.ac): ... to here.
17459         (Depends-on): Update conditions.
17460
17461 2011-05-22  Bruno Haible  <bruno@clisp.org>
17462
17463         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17464         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17465         here...
17466         * modules/wcsxfrm (configure.ac): ... to here.
17467
17468 2011-05-22  Bruno Haible  <bruno@clisp.org>
17469
17470         wcstok: Move AC_LIBOBJ invocations to module description.
17471         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17472         * modules/wcstok (configure.ac): ... to here.
17473
17474 2011-05-22  Bruno Haible  <bruno@clisp.org>
17475
17476         wcsstr: Move AC_LIBOBJ invocations to module description.
17477         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17478         * modules/wcsstr (configure.ac): ... to here.
17479
17480 2011-05-22  Bruno Haible  <bruno@clisp.org>
17481
17482         wcsspn: Move AC_LIBOBJ invocations to module description.
17483         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17484         * modules/wcsspn (configure.ac): ... to here.
17485
17486 2011-05-22  Bruno Haible  <bruno@clisp.org>
17487
17488         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17489         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17490         gl_PREREQ_WCSRTOMBS invocations from here...
17491         * modules/wcsrtombs (configure.ac): ... to here.
17492
17493 2011-05-22  Bruno Haible  <bruno@clisp.org>
17494
17495         wcsrchr: Move AC_LIBOBJ invocations to module description.
17496         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17497         here...
17498         * modules/wcsrchr (configure.ac): ... to here.
17499
17500 2011-05-22  Bruno Haible  <bruno@clisp.org>
17501
17502         wcspbrk: Move AC_LIBOBJ invocations to module description.
17503         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17504         here...
17505         * modules/wcspbrk (configure.ac): ... to here.
17506
17507 2011-05-22  Bruno Haible  <bruno@clisp.org>
17508
17509         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17510         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17511         gl_PREREQ_WCSNRTOMBS invocations from here...
17512         * modules/wcsnrtombs (configure.ac): ... to here.
17513
17514 2011-05-22  Bruno Haible  <bruno@clisp.org>
17515
17516         wcsnlen: Move AC_LIBOBJ invocations to module description.
17517         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17518         here...
17519         * modules/wcsnlen (configure.ac): ... to here.
17520
17521 2011-05-22  Bruno Haible  <bruno@clisp.org>
17522
17523         wcsncpy: Move AC_LIBOBJ invocations to module description.
17524         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17525         here...
17526         * modules/wcsncpy (configure.ac): ... to here.
17527
17528 2011-05-22  Bruno Haible  <bruno@clisp.org>
17529
17530         wcsncmp: Move AC_LIBOBJ invocations to module description.
17531         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17532         here...
17533         * modules/wcsncmp (configure.ac): ... to here.
17534
17535 2011-05-22  Bruno Haible  <bruno@clisp.org>
17536
17537         wcsncat: Move AC_LIBOBJ invocations to module description.
17538         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17539         here...
17540         * modules/wcsncat (configure.ac): ... to here.
17541
17542 2011-05-22  Bruno Haible  <bruno@clisp.org>
17543
17544         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17545         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17546         from here...
17547         * modules/wcsncasecmp (configure.ac): ... to here.
17548
17549 2011-05-22  Bruno Haible  <bruno@clisp.org>
17550
17551         wcslen: Move AC_LIBOBJ invocations to module description.
17552         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17553         * modules/wcslen (configure.ac): ... to here.
17554
17555 2011-05-22  Bruno Haible  <bruno@clisp.org>
17556
17557         wcsdup: Move AC_LIBOBJ invocations to module description.
17558         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17559         * modules/wcsdup (configure.ac): ... to here.
17560
17561 2011-05-22  Bruno Haible  <bruno@clisp.org>
17562
17563         wcscspn: Move AC_LIBOBJ invocations to module description.
17564         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17565         here...
17566         * modules/wcscspn (configure.ac): ... to here.
17567
17568 2011-05-22  Bruno Haible  <bruno@clisp.org>
17569
17570         wcscpy: Move AC_LIBOBJ invocations to module description.
17571         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17572         * modules/wcscpy (configure.ac): ... to here.
17573
17574 2011-05-22  Bruno Haible  <bruno@clisp.org>
17575
17576         wcscoll: Move AC_LIBOBJ invocations to module description.
17577         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17578         here...
17579         * modules/wcscoll (configure.ac): ... to here.
17580
17581 2011-05-22  Bruno Haible  <bruno@clisp.org>
17582
17583         wcscmp: Move AC_LIBOBJ invocations to module description.
17584         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17585         * modules/wcscmp (configure.ac): ... to here.
17586
17587 2011-05-22  Bruno Haible  <bruno@clisp.org>
17588
17589         wcschr: Move AC_LIBOBJ invocations to module description.
17590         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17591         * modules/wcschr (configure.ac): ... to here.
17592
17593 2011-05-22  Bruno Haible  <bruno@clisp.org>
17594
17595         wcscat: Move AC_LIBOBJ invocations to module description.
17596         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17597         * modules/wcscat (configure.ac): ... to here.
17598
17599 2011-05-22  Bruno Haible  <bruno@clisp.org>
17600
17601         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17602         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17603         here...
17604         * modules/wcscasecmp (configure.ac): ... to here.
17605
17606 2011-05-22  Bruno Haible  <bruno@clisp.org>
17607
17608         wcrtomb: Move AC_LIBOBJ invocations to module description.
17609         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17610         invocations from here...
17611         * modules/wcrtomb (configure.ac): ... to here.
17612
17613 2011-05-22  Bruno Haible  <bruno@clisp.org>
17614
17615         wcpncpy: Move AC_LIBOBJ invocations to module description.
17616         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17617         here...
17618         * modules/wcpncpy (configure.ac): ... to here.
17619
17620 2011-05-22  Bruno Haible  <bruno@clisp.org>
17621
17622         wcpcpy: Move AC_LIBOBJ invocations to module description.
17623         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17624         * modules/wcpcpy (configure.ac): ... to here.
17625
17626 2011-05-22  Bruno Haible  <bruno@clisp.org>
17627
17628         waitpid: Move AC_LIBOBJ invocations to module description.
17629         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17630         invocation from here...
17631         * modules/waitpid (configure.ac): ... to here.
17632
17633 2011-05-22  Bruno Haible  <bruno@clisp.org>
17634
17635         utimensat: Move AC_LIBOBJ invocations to module description.
17636         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17637         here...
17638         * modules/utimensat (configure.ac): ... to here.
17639
17640 2011-05-22  Bruno Haible  <bruno@clisp.org>
17641
17642         usleep: Move AC_LIBOBJ invocations to module description.
17643         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17644         here...
17645         * modules/usleep (configure.ac): ... to here.
17646
17647 2011-05-22  Bruno Haible  <bruno@clisp.org>
17648
17649         unlockpt: Move AC_LIBOBJ invocations to module description.
17650         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17651         gl_PREREQ_UNLOCKPT invocations from here...
17652         * modules/unlockpt (configure.ac): ... to here.
17653
17654 2011-05-22  Bruno Haible  <bruno@clisp.org>
17655
17656         unlink: Respect rules for use of AC_LIBOBJ.
17657         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17658         * modules/unlink (configure.ac): ... to here.
17659
17660 2011-05-22  Bruno Haible  <bruno@clisp.org>
17661
17662         uname: Move AC_LIBOBJ invocations to module description.
17663         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17664         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17665         here...
17666         * modules/uname (configure.ac): ... to here.
17667
17668 2011-05-22  Bruno Haible  <bruno@clisp.org>
17669
17670         ttyname_r: Move AC_LIBOBJ invocations to module description.
17671         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17672         gl_PREREQ_TTYNAME_R invocations from here...
17673         * modules/ttyname_r (configure.ac): ... to here.
17674
17675 2011-05-22  Bruno Haible  <bruno@clisp.org>
17676
17677         tsearch: Move AC_LIBOBJ invocations to module description.
17678         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17679         invocations from here...
17680         * modules/tsearch (configure.ac): ... to here.
17681
17682 2011-05-22  Bruno Haible  <bruno@clisp.org>
17683
17684         towctrans: Move AC_LIBOBJ invocations to module description.
17685         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17686         AC_LIBOBJ invocation from here...
17687         * modules/towctrans (configure.ac): ... to here.
17688
17689 2011-05-22  Bruno Haible  <bruno@clisp.org>
17690
17691         tmpfile: Move AC_LIBOBJ invocations to module description.
17692         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17693         invocations from here...
17694         * modules/tmpfile (configure.ac): ... to here.
17695
17696 2011-05-22  Bruno Haible  <bruno@clisp.org>
17697
17698         times: Move AC_LIBOBJ invocations to module description.
17699         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17700         * modules/times (configure.ac): ... to here.
17701
17702 2011-05-22  Bruno Haible  <bruno@clisp.org>
17703
17704         time_r: Move AC_LIBOBJ invocations to module description.
17705         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17706         invocations from here...
17707         * modules/time_r (configure.ac): ... to here.
17708
17709 2011-05-22  Bruno Haible  <bruno@clisp.org>
17710
17711         timegm: Move AC_LIBOBJ invocations to module description.
17712         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17713         invocations from here...
17714         * modules/timegm (configure.ac): ... to here.
17715
17716 2011-05-22  Bruno Haible  <bruno@clisp.org>
17717
17718         tcgetsid: Move AC_LIBOBJ invocations to module description.
17719         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17720         and gl_PREREQ_TCGETSID invocations from here...
17721         * modules/tcgetsid (configure.ac): ... to here.
17722         (Depends-on): Update conditions.
17723
17724 2011-05-22  Bruno Haible  <bruno@clisp.org>
17725
17726         symlinkat: Move AC_LIBOBJ invocations to module description.
17727         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17728         here...
17729         * modules/symlinkat (configure.ac): ... to here.
17730
17731 2011-05-22  Bruno Haible  <bruno@clisp.org>
17732
17733         symlink: Move AC_LIBOBJ invocations to module description.
17734         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17735         here...
17736         * modules/symlink (configure.ac): ... to here.
17737
17738 2011-05-22  Bruno Haible  <bruno@clisp.org>
17739
17740         strverscmp: Move AC_LIBOBJ invocations to module description.
17741         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17742         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17743         from here...
17744         * modules/strverscmp (configure.ac): ... to here.
17745
17746 2011-05-22  Bruno Haible  <bruno@clisp.org>
17747
17748         strtok_r: Move AC_LIBOBJ invocations to module description.
17749         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17750         and gl_PREREQ_STRTOK_R invocations from here...
17751         * modules/strtok_r (configure.ac): ... to here.
17752         (Depends-on): Update conditions.
17753
17754 2011-05-22  Bruno Haible  <bruno@clisp.org>
17755
17756         strtoumax: Move AC_LIBOBJ invocations to module description.
17757         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17758         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17759         from here...
17760         * modules/strtoumax (configure.ac): ... to here.
17761
17762 2011-05-22  Bruno Haible  <bruno@clisp.org>
17763
17764         strtoimax: Move AC_LIBOBJ invocations to module description.
17765         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17766         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17767         from here...
17768         * modules/strtoimax (configure.ac): ... to here.
17769
17770 2011-05-22  Bruno Haible  <bruno@clisp.org>
17771
17772         strtoull: Move AC_LIBOBJ invocations to module description.
17773         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17774         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17775         from here...
17776         * modules/strtoull (configure.ac): ... to here.
17777
17778 2011-05-22  Bruno Haible  <bruno@clisp.org>
17779
17780         strtoll: Move AC_LIBOBJ invocations to module description.
17781         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17782         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17783         here...
17784         * modules/strtoll (configure.ac): ... to here.
17785
17786 2011-05-22  Bruno Haible  <bruno@clisp.org>
17787
17788         strtoul: Move AC_LIBOBJ invocations to module description.
17789         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17790         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17791         * modules/strtoul (configure.ac): ... to here.
17792
17793 2011-05-22  Bruno Haible  <bruno@clisp.org>
17794
17795         strtol: Move AC_LIBOBJ invocations to module description.
17796         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17797         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17798         * modules/strtol (configure.ac): ... to here.
17799
17800 2011-05-22  Bruno Haible  <bruno@clisp.org>
17801
17802         strtod: Move AC_LIBOBJ invocations to module description.
17803         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17804         invocations from here...
17805         * modules/strtod (configure.ac): ... to here.
17806
17807 2011-05-22  Bruno Haible  <bruno@clisp.org>
17808
17809         strstr*: Move AC_LIBOBJ invocations to module description.
17810         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17811         invocations from here...
17812         * modules/strstr-simple (configure.ac): ... to here.
17813         * modules/strstr (configure.ac): ... and here.
17814
17815 2011-05-22  Bruno Haible  <bruno@clisp.org>
17816
17817         strsignal: Move AC_LIBOBJ invocations to module description.
17818         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17819         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17820         * modules/strsignal (configure.ac): ... to here.
17821         (Depends-on): Update conditions.
17822
17823 2011-05-22  Bruno Haible  <bruno@clisp.org>
17824
17825         strsep: Move AC_LIBOBJ invocations to module description.
17826         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17827         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17828         here...
17829         * modules/strsep (configure.ac): ... to here.
17830
17831 2011-05-22  Bruno Haible  <bruno@clisp.org>
17832
17833         strptime: Move AC_LIBOBJ invocations to module description.
17834         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17835         gl_PREREQ_STRPTIME invocations from here...
17836         * modules/strptime (configure.ac): ... to here.
17837
17838 2011-05-22  Bruno Haible  <bruno@clisp.org>
17839
17840         strpbrk: Move AC_LIBOBJ invocations to module description.
17841         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17842         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17843         here...
17844         * modules/strpbrk (configure.ac): ... to here.
17845
17846 2011-05-22  Bruno Haible  <bruno@clisp.org>
17847
17848         strnlen: Move AC_LIBOBJ invocations to module description.
17849         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17850         invocations from here...
17851         * modules/strnlen (configure.ac): ... to here.
17852
17853 2011-05-22  Bruno Haible  <bruno@clisp.org>
17854
17855         strndup: Move AC_LIBOBJ invocations to module description.
17856         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17857         invocations from here...
17858         * modules/strndup (configure.ac): ... to here.
17859         (Depends-on): Update conditions.
17860
17861 2011-05-22  Bruno Haible  <bruno@clisp.org>
17862
17863         strncat: Move AC_LIBOBJ invocations to module description.
17864         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17865         invocations from here...
17866         * modules/strncat (configure.ac): ... to here.
17867
17868 2011-05-22  Bruno Haible  <bruno@clisp.org>
17869
17870         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17871         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17872         invocations from here...
17873         * modules/strdup (configure.ac): ... to here.
17874         * modules/strdup-posix (configure.ac): ... and here.
17875
17876 2011-05-22  Bruno Haible  <bruno@clisp.org>
17877
17878         strcspn: Move AC_LIBOBJ invocations to module description.
17879         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17880         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17881         here...
17882         * modules/strcspn (configure.ac): ... to here.
17883
17884 2011-05-22  Bruno Haible  <bruno@clisp.org>
17885
17886         strchrnul: Move AC_LIBOBJ invocations to module description.
17887         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17888         gl_PREREQ_STRCHRNUL invocations from here...
17889         * modules/strchrnul (configure.ac): ... to here.
17890
17891 2011-05-22  Bruno Haible  <bruno@clisp.org>
17892
17893         strcasestr*: Move AC_LIBOBJ invocations to module description.
17894         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17895         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17896         * modules/strcasestr-simple (configure.ac): ... to here.
17897         * modules/strcasestr (configure.ac): ... and here.
17898
17899 2011-05-22  Bruno Haible  <bruno@clisp.org>
17900
17901         strcase: Move AC_LIBOBJ invocations to module description.
17902         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17903         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17904         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17905         gl_PREREQ_STRNCASECMP invocations from here...
17906         * modules/strcase (configure.ac): ... to here.
17907
17908 2011-05-22  Bruno Haible  <bruno@clisp.org>
17909
17910         stpncpy: Move AC_LIBOBJ invocations to module description.
17911         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17912         here...
17913         * modules/stpncpy (configure.ac): ... to here.
17914
17915 2011-05-22  Bruno Haible  <bruno@clisp.org>
17916
17917         stpcpy: Move AC_LIBOBJ invocations to module description.
17918         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17919         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17920         here...
17921         * modules/stpcpy (configure.ac): ... to here.
17922
17923 2011-05-21  Bruno Haible  <bruno@clisp.org>
17924
17925         stat: Move AC_LIBOBJ invocations to module description.
17926         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17927         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17928         here...
17929         * modules/stat (configure.ac): ... to here.
17930
17931 2011-05-21  Bruno Haible  <bruno@clisp.org>
17932
17933         sleep: Move AC_LIBOBJ invocations to module description.
17934         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17935         * modules/sleep (configure.ac): ... to here.
17936
17937 2011-05-21  Bruno Haible  <bruno@clisp.org>
17938
17939         signbit: Move AC_LIBOBJ invocations to module description.
17940         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17941         * modules/signbit (configure.ac): ... to here.
17942
17943 2011-05-21  Bruno Haible  <bruno@clisp.org>
17944
17945         sigprocmask: Move AC_LIBOBJ invocations to module description.
17946         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17947         gl_PREREQ_SIGPROMASK invocations from here...
17948         * modules/sigprocmask (configure.ac): ... to here.
17949
17950 2011-05-21  Bruno Haible  <bruno@clisp.org>
17951
17952         sigaction: Move AC_LIBOBJ invocations to module description.
17953         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17954         gl_PREREQ_SIGACTION invocations from here...
17955         * modules/sigaction (configure.ac): ... to here.
17956
17957 2011-05-21  Bruno Haible  <bruno@clisp.org>
17958
17959         sig2str: Move AC_LIBOBJ invocations to module description.
17960         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17961         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17962         here...
17963         * modules/sig2str (configure.ac): ... to here.
17964
17965 2011-05-21  Bruno Haible  <bruno@clisp.org>
17966
17967         setlocale: Move AC_LIBOBJ invocations to module description.
17968         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17969         gl_PREREQ_SETLOCALE invocations from here...
17970         * modules/setlocale (configure.ac): ... to here.
17971
17972 2011-05-21  Bruno Haible  <bruno@clisp.org>
17973
17974         unsetenv: Move AC_LIBOBJ invocations to module description.
17975         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17976         and gl_PREREQ_UNSETENV invocations from here...
17977         * modules/unsetenv (configure.ac): ... to here.
17978         (Depends-on): Update.
17979
17980 2011-05-21  Bruno Haible  <bruno@clisp.org>
17981
17982         setenv: Move AC_LIBOBJ invocations to module description.
17983         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17984         here...
17985         * modules/setenv (configure.ac): ... to here.
17986
17987 2011-05-21  Bruno Haible  <bruno@clisp.org>
17988
17989         selinux-h: Move AC_LIBOBJ invocations to module description.
17990         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17991         AC_LIBOBJ invocation from here...
17992         * modules/selinux-h (configure.ac): ... to here.
17993
17994 2011-05-21  Bruno Haible  <bruno@clisp.org>
17995
17996         select: Respect rules for use of AC_LIBOBJ.
17997         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17998         here...
17999         * modules/select (configure.ac): ... to here.
18000
18001 2011-05-21  Bruno Haible  <bruno@clisp.org>
18002
18003         scandir: Move AC_LIBOBJ invocations to module description.
18004         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18005         invocations from here...
18006         * modules/scandir (configure.ac): ... to here.
18007
18008 2011-05-21  Bruno Haible  <bruno@clisp.org>
18009
18010         rpmatch: Move AC_LIBOBJ invocations to module description.
18011         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18012         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18013         here...
18014         * modules/rpmatch (configure.ac): ... to here.
18015
18016 2011-05-21  Bruno Haible  <bruno@clisp.org>
18017
18018         rmdir: Respect rules for use of AC_LIBOBJ.
18019         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18020         * modules/rmdir (configure.ac): ... to here.
18021
18022 2011-05-21  Bruno Haible  <bruno@clisp.org>
18023
18024         renameat: Move AC_LIBOBJ invocations to module description.
18025         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18026         here...
18027         * modules/renameat (configure.ac): ... to here.
18028
18029 2011-05-21  Bruno Haible  <bruno@clisp.org>
18030
18031         rename: Respect rules for use of AC_LIBOBJ.
18032         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18033         here...
18034         * modules/rename (configure.ac): ... to here.
18035
18036 2011-05-21  Bruno Haible  <bruno@clisp.org>
18037
18038         remove: Move AC_LIBOBJ invocations to module description.
18039         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18040         here...
18041         * modules/remove (configure.ac): ... to here.
18042
18043 2011-05-21  Bruno Haible  <bruno@clisp.org>
18044
18045         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18046         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18047         macro.
18048         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18049         * modules/relocatable-lib (configure.ac): ... to here.
18050         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18051         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18052
18053 2011-05-21  Bruno Haible  <bruno@clisp.org>
18054
18055         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18056         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18057         here...
18058         * modules/relocatable-prog (configure.ac): ... to here.
18059
18060 2011-05-21  Bruno Haible  <bruno@clisp.org>
18061
18062         regex: Move AC_LIBOBJ invocations to module description.
18063         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18064         invocations from here...
18065         * modules/regex (configure.ac): ... to here.
18066
18067 2011-05-21  Bruno Haible  <bruno@clisp.org>
18068
18069         realloc-*: Move AC_LIBOBJ invocations to module description.
18070         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18071         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18072         AC_LIBOBJ invocations from here...
18073         * modules/realloc-gnu (configure.ac): ... to here.
18074         * modules/realloc-posix (configure.ac): ... and here.
18075
18076 2011-05-21  Bruno Haible  <bruno@clisp.org>
18077
18078         readutmp: Move AC_LIBOBJ invocations to module description.
18079         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
18080         * modules/readutmp (configure.ac): ... to here.
18081
18082 2011-05-21  Bruno Haible  <bruno@clisp.org>
18083
18084         readlinkat: Move AC_LIBOBJ invocations to module description.
18085         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18086         here...
18087         * modules/readlinkat (configure.ac): ... to here.
18088
18089 2011-05-21  Bruno Haible  <bruno@clisp.org>
18090
18091         readlink: Move AC_LIBOBJ invocations to module description.
18092         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18093         gl_PREREQ_READLINK invocations from here...
18094         * modules/readlink (configure.ac): ... to here.
18095
18096 2011-05-21  Bruno Haible  <bruno@clisp.org>
18097
18098         readline: Move AC_LIBOBJ invocations to module description.
18099         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18100         gl_PREREQ_READLINE invocations from here...
18101         * modules/readline (configure.ac): ... to here.
18102
18103 2011-05-21  Bruno Haible  <bruno@clisp.org>
18104
18105         read: Move AC_LIBOBJ invocations to module description.
18106         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18107         * modules/read (configure.ac): ... to here.
18108
18109 2011-05-21  Bruno Haible  <bruno@clisp.org>
18110
18111         rawmemchr: Move AC_LIBOBJ invocations to module description.
18112         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18113         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18114         from here...
18115         * modules/rawmemchr (configure.ac): ... to here.
18116
18117 2011-05-21  Bruno Haible  <bruno@clisp.org>
18118
18119         random_r: Move AC_LIBOBJ invocations to module description.
18120         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18121         gl_PREREQ_RANDOM_R invocations from here...
18122         * modules/random_r (configure.ac): ... to here.
18123
18124 2011-05-21  Bruno Haible  <bruno@clisp.org>
18125
18126         pwrite: Move AC_LIBOBJ invocations to module description.
18127         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18128         * modules/pwrite (configure.ac): ... to here.
18129
18130 2011-05-21  Bruno Haible  <bruno@clisp.org>
18131
18132         putenv: Move AC_LIBOBJ invocations to module description.
18133         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18134         * modules/putenv (configure.ac): ... to here.
18135
18136 2011-05-21  Bruno Haible  <bruno@clisp.org>
18137
18138         login_tty: Move AC_LIBOBJ invocations to module description.
18139         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18140         * modules/login_tty (configure.ac): ... to here.
18141
18142 2011-05-21  Bruno Haible  <bruno@clisp.org>
18143
18144         openpty: Move AC_LIBOBJ invocations to module description.
18145         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18146         * modules/openpty (configure.ac): ... to here.
18147
18148 2011-05-21  Bruno Haible  <bruno@clisp.org>
18149
18150         forkpty: Move AC_LIBOBJ invocations to module description.
18151         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18152         * modules/forkpty (configure.ac): ... to here.
18153
18154 2011-05-21  Bruno Haible  <bruno@clisp.org>
18155
18156         ptsname: Move AC_LIBOBJ invocations to module description.
18157         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18158         invocations from here...
18159         * modules/ptsname (configure.ac): ... to here.
18160
18161 2011-05-21  Bruno Haible  <bruno@clisp.org>
18162
18163         pread: Move AC_LIBOBJ invocations to module description.
18164         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18165         * modules/pread (configure.ac): ... to here.
18166
18167 2011-05-21  Bruno Haible  <bruno@clisp.org>
18168
18169         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18170         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18171         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18172         * modules/posix_spawn (configure.ac): ... to here.
18173         * modules/posix_spawnp (configure.ac): ... and here.
18174
18175 2011-05-21  Bruno Haible  <bruno@clisp.org>
18176
18177         popen: Move AC_LIBOBJ invocations to module description.
18178         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18179         invocations from here...
18180         * modules/popen (configure.ac): ... to here.
18181
18182 2011-05-21  Bruno Haible  <bruno@clisp.org>
18183
18184         poll: Move AC_LIBOBJ invocations to module description.
18185         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18186         invocations from here...
18187         * modules/poll (configure.ac): ... to here.
18188
18189 2011-05-21  Bruno Haible  <bruno@clisp.org>
18190
18191         pipe-posix: Move AC_LIBOBJ invocations to module description.
18192         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18193         * modules/pipe-posix (configure.ac): ... to here.
18194
18195 2011-05-21  Bruno Haible  <bruno@clisp.org>
18196
18197         openat: Respect rules for use of AC_LIBOBJ.
18198         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18199         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18200         * modules/openat (configure.ac): ... to here.
18201
18202 2011-05-21  Bruno Haible  <bruno@clisp.org>
18203
18204         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18205         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18206         invocation from here...
18207         * modules/obstack-printf (configure.ac): ... to here.
18208         * modules/obstack-printf-posix (configure.ac): ... and here.
18209
18210 2011-05-21  Bruno Haible  <bruno@clisp.org>
18211
18212         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18213         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18214         from here...
18215         * modules/nl_langinfo (configure.ac): ... to here.
18216
18217 2011-05-21  Bruno Haible  <bruno@clisp.org>
18218
18219         nanosleep: Move AC_LIBOBJ invocations to module description.
18220         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18221         gl_PREREQ_NANOSLEEP invocations from here...
18222         * modules/nanosleep (configure.ac): ... to here.
18223
18224 2011-05-21  Bruno Haible  <bruno@clisp.org>
18225
18226         mountlist: Move AC_LIBOBJ invocations to module description.
18227         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18228         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18229         * modules/mountlist (configure.ac): ... to here.
18230
18231 2011-05-21  Bruno Haible  <bruno@clisp.org>
18232
18233         mktime: Respect rules for use of AC_LIBOBJ.
18234         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18235         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18236         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18237         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18238         * modules/mktime (configure.ac): ... to here.
18239         * modules/mktime-internal (configure.ac): ... and here.
18240         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18241
18242 2011-05-21  Bruno Haible  <bruno@clisp.org>
18243
18244         mkstemps: Move AC_LIBOBJ invocations to module description.
18245         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18246         here...
18247         * modules/mkstemps (configure.ac): ... to here.
18248
18249 2011-05-21  Bruno Haible  <bruno@clisp.org>
18250
18251         mkstemp: Move AC_LIBOBJ invocations to module description.
18252         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18253         gl_PREREQ_MKSTEMP invocations from here...
18254         * modules/mkstemp (configure.ac): ... to here.
18255
18256 2011-05-21  Bruno Haible  <bruno@clisp.org>
18257
18258         mkostemps: Move AC_LIBOBJ invocations to module description.
18259         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18260         here...
18261         * modules/mkostemps (configure.ac): ... to here.
18262
18263 2011-05-21  Bruno Haible  <bruno@clisp.org>
18264
18265         mkostemp: Move AC_LIBOBJ invocations to module description.
18266         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18267         gl_PREREQ_MKOSTEMP invocations from here...
18268         * modules/mkostemp (configure.ac): ... to here.
18269
18270 2011-05-21  Bruno Haible  <bruno@clisp.org>
18271
18272         mknod: Move AC_LIBOBJ invocations to module description.
18273         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18274         * modules/mknod (configure.ac): ... to here.
18275
18276 2011-05-21  Bruno Haible  <bruno@clisp.org>
18277
18278         mkfifoat: Move AC_LIBOBJ invocations to module description.
18279         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18280         here...
18281         * modules/mkfifoat (configure.ac): ... to here.
18282
18283 2011-05-21  Bruno Haible  <bruno@clisp.org>
18284
18285         mkfifo: Respect rules for use of AC_LIBOBJ.
18286         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18287         here...
18288         * modules/mkfifo (configure.ac): ... to here.
18289
18290 2011-05-21  Bruno Haible  <bruno@clisp.org>
18291
18292         mkdtemp: Move AC_LIBOBJ invocations to module description.
18293         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18294         invocations from here...
18295         * modules/mkdtemp (configure.ac): ... to here.
18296
18297 2011-05-21  Bruno Haible  <bruno@clisp.org>
18298
18299         mkdir: Move AC_LIBOBJ invocations to module description.
18300         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18301         * modules/mkdir (configure.ac): ... to here.
18302
18303 2011-05-21  Bruno Haible  <bruno@clisp.org>
18304
18305         memset: Move AC_LIBOBJ invocations to module description.
18306         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18307         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18308         here...
18309         * modules/memset (configure.ac): ... to here.
18310
18311 2011-05-21  Bruno Haible  <bruno@clisp.org>
18312
18313         memrchr: Move AC_LIBOBJ invocations to module description.
18314         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18315         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18316         here...
18317         * modules/memrchr (configure.ac): ... to here.
18318
18319 2011-05-21  Bruno Haible  <bruno@clisp.org>
18320
18321         mempcpy: Move AC_LIBOBJ invocations to module description.
18322         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18323         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18324         here...
18325         * modules/mempcpy (configure.ac): ... to here.
18326
18327 2011-05-21  Bruno Haible  <bruno@clisp.org>
18328
18329         memmove: Move AC_LIBOBJ invocations to module description.
18330         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18331         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18332         here...
18333         * modules/memmove (configure.ac): ... to here.
18334
18335 2011-05-21  Bruno Haible  <bruno@clisp.org>
18336
18337         memmem*: Move AC_LIBOBJ invocations to module description.
18338         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18339         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18340         here...
18341         (gl_FUNC_MEMMEM): ... and here...
18342         * modules/memmem-simple (configure.ac): ... to here.
18343         * modules/memmem (configure.ac): ... and here.
18344
18345 2011-05-21  Bruno Haible  <bruno@clisp.org>
18346
18347         memcpy: Move AC_LIBOBJ invocations to module description.
18348         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18349         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18350         here...
18351         * modules/memcpy (configure.ac): ... to here.
18352
18353 2011-05-21  Bruno Haible  <bruno@clisp.org>
18354
18355         memcmp: Simplify autoconf macro.
18356         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18357         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18358         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18359
18360 2011-05-21  Bruno Haible  <bruno@clisp.org>
18361
18362         memcmp: Move AC_LIBOBJ invocations to module description.
18363         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18364         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18365         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18366         * modules/memcmp (configure.ac): ... to here.
18367         (Depends-on): Update conditions.
18368
18369 2011-05-21  Bruno Haible  <bruno@clisp.org>
18370
18371         memchr: Respect rules for use of AC_LIBOBJ.
18372         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18373         invocations from here...
18374         * modules/memchr (configure.ac): ... to here.
18375
18376 2011-05-21  Bruno Haible  <bruno@clisp.org>
18377
18378         mbtowc: Move AC_LIBOBJ invocations to module description.
18379         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18380         invocations from here...
18381         * modules/mbtowc (configure.ac): ... to here.
18382
18383 2011-05-21  Bruno Haible  <bruno@clisp.org>
18384
18385         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18386         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18387         gl_PREREQ_MBSRTOWCS invocations from here...
18388         * modules/mbsrtowcs (configure.ac): ... to here.
18389
18390 2011-05-21  Bruno Haible  <bruno@clisp.org>
18391
18392         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18393         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18394         gl_PREREQ_MBSNRTOWCS invocations from here...
18395         * modules/mbsnrtowcs (configure.ac): ... to here.
18396
18397 2011-05-21  Bruno Haible  <bruno@clisp.org>
18398
18399         mbsinit: Move AC_LIBOBJ invocations to module description.
18400         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18401         invocations from here...
18402         * modules/mbsinit (configure.ac): ... to here.
18403
18404 2011-05-21  Bruno Haible  <bruno@clisp.org>
18405
18406         mbrlen: Move AC_LIBOBJ invocations to module description.
18407         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18408         invocations from here...
18409         * modules/mbrlen (configure.ac): ... to here.
18410
18411 2011-05-21  Bruno Haible  <bruno@clisp.org>
18412
18413         mbrtowc: Respect rules for use of AC_LIBOBJ.
18414         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18415         invocations from here...
18416         * modules/mbrtowc (configure.ac): ... to here.
18417
18418 2011-05-21  Bruno Haible  <bruno@clisp.org>
18419
18420         malloc-*: Move AC_LIBOBJ invocations to module description.
18421         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18422         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18423         AC_LIBOBJ invocations from here...
18424         * modules/malloc-gnu (configure.ac): ... to here.
18425         * modules/malloc-posix (configure.ac): ... and here.
18426
18427 2011-05-21  Bruno Haible  <bruno@clisp.org>
18428
18429         lstat, openat: Respect rules for use of AC_LIBOBJ.
18430         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18431         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18432         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18433         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18434         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18435         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18436         here.
18437         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18438
18439 2011-05-21  Bruno Haible  <bruno@clisp.org>
18440
18441         lseek: Move AC_LIBOBJ invocations to module description.
18442         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18443         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18444         * modules/lseek (configure.ac): ... to here.
18445
18446 2011-05-21  Bruno Haible  <bruno@clisp.org>
18447
18448         linkat: Move AC_LIBOBJ invocations to module description.
18449         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18450         here...
18451         * modules/linkat (configure.ac): ... to here.
18452
18453 2011-05-21  Bruno Haible  <bruno@clisp.org>
18454
18455         link: Respect rules for use of AC_LIBOBJ.
18456         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18457         * modules/link (configure.ac): ... to here.
18458
18459 2011-05-21  Bruno Haible  <bruno@clisp.org>
18460
18461         lchown: Move AC_LIBOBJ invocations to module description.
18462         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18463         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18464         * modules/lchown (configure.ac): ... to here.
18465
18466 2011-05-21  Bruno Haible  <bruno@clisp.org>
18467
18468         iswctype: Move AC_LIBOBJ invocations to module description.
18469         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18470         here...
18471         * modules/iswctype (configure.ac): ... to here.
18472
18473 2011-05-21  Bruno Haible  <bruno@clisp.org>
18474
18475         iswblank: Move AC_LIBOBJ invocations to module description.
18476         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18477         here...
18478         * modules/iswblank (configure.ac): ... to here.
18479
18480 2011-05-21  Bruno Haible  <bruno@clisp.org>
18481
18482         atanl: Move AC_LIBOBJ invocations to module description.
18483         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18484         * modules/atanl (configure.ac): ... to here.
18485
18486 2011-05-21  Bruno Haible  <bruno@clisp.org>
18487
18488         acosl: Move AC_LIBOBJ invocations to module description.
18489         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18490         * modules/acosl (configure.ac): ... to here.
18491
18492 2011-05-21  Bruno Haible  <bruno@clisp.org>
18493
18494         asinl: Respect rules for use of AC_LIBOBJ.
18495         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18496         * modules/asinl (configure.ac): ... to here.
18497
18498 2011-05-21  Bruno Haible  <bruno@clisp.org>
18499
18500         tanl: Move AC_LIBOBJ invocations to module description.
18501         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18502         * modules/tanl (configure.ac): ... to here.
18503
18504 2011-05-21  Bruno Haible  <bruno@clisp.org>
18505
18506         cosl: Move AC_LIBOBJ invocations to module description.
18507         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18508         * modules/cosl (configure.ac): ... to here.
18509
18510 2011-05-21  Bruno Haible  <bruno@clisp.org>
18511
18512         sinl: Move AC_LIBOBJ invocations to module description.
18513         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18514         * modules/sinl (configure.ac): ... to here.
18515
18516 2011-05-21  Bruno Haible  <bruno@clisp.org>
18517
18518         logl: Move AC_LIBOBJ invocations to module description.
18519         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18520         * modules/logl (configure.ac): ... to here.
18521
18522 2011-05-21  Bruno Haible  <bruno@clisp.org>
18523
18524         expl: Move AC_LIBOBJ invocations to module description.
18525         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18526         * modules/expl (configure.ac): ... to here.
18527
18528 2011-05-21  Bruno Haible  <bruno@clisp.org>
18529
18530         roundl: Move AC_LIBOBJ invocations to module description.
18531         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18532         * modules/roundl (configure.ac): ... to here.
18533
18534 2011-05-21  Bruno Haible  <bruno@clisp.org>
18535
18536         round: Move AC_LIBOBJ invocations to module description.
18537         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18538         * modules/round (configure.ac): ... to here.
18539
18540 2011-05-21  Bruno Haible  <bruno@clisp.org>
18541
18542         roundf: Move AC_LIBOBJ invocations to module description.
18543         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18544         * modules/roundf (configure.ac): ... to here.
18545
18546 2011-05-21  Bruno Haible  <bruno@clisp.org>
18547
18548         truncl: Move AC_LIBOBJ invocations to module description.
18549         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18550         * modules/truncl (configure.ac): ... to here.
18551
18552 2011-05-21  Bruno Haible  <bruno@clisp.org>
18553
18554         trunc: Move AC_LIBOBJ invocations to module description.
18555         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18556         * modules/trunc (configure.ac): ... to here.
18557
18558 2011-05-21  Bruno Haible  <bruno@clisp.org>
18559
18560         truncf: Move AC_LIBOBJ invocations to module description.
18561         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18562         * modules/truncf (configure.ac): ... to here.
18563
18564 2011-05-21  Bruno Haible  <bruno@clisp.org>
18565
18566         ceill: Move AC_LIBOBJ invocations to module description.
18567         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18568         * modules/ceill (configure.ac): ... to here.
18569
18570 2011-05-21  Bruno Haible  <bruno@clisp.org>
18571
18572         ceil: Move AC_LIBOBJ invocations to module description.
18573         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18574         * modules/ceil (configure.ac): ... to here.
18575
18576 2011-05-21  Bruno Haible  <bruno@clisp.org>
18577
18578         ceilf: Move AC_LIBOBJ invocations to module description.
18579         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18580         * modules/ceilf (configure.ac): ... to here.
18581
18582 2011-05-21  Bruno Haible  <bruno@clisp.org>
18583
18584         floorl: Respect rules for use of AC_LIBOBJ.
18585         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18586         * modules/floorl (configure.ac): ... to here.
18587
18588 2011-05-21  Bruno Haible  <bruno@clisp.org>
18589
18590         floor: Respect rules for use of AC_LIBOBJ.
18591         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18592         * modules/floor (configure.ac): ... to here.
18593
18594 2011-05-21  Bruno Haible  <bruno@clisp.org>
18595
18596         floorf: Move AC_LIBOBJ invocations to module description.
18597         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18598         * modules/floorf (configure.ac): ... to here.
18599
18600 2011-05-20  Bruno Haible  <bruno@clisp.org>
18601
18602         sqrtl: Respect rules for use of AC_LIBOBJ.
18603         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18604         * modules/sqrtl (configure.ac): ... to here.
18605
18606 2011-05-20  Bruno Haible  <bruno@clisp.org>
18607
18608         ldexpl: Respect rules for use of AC_LIBOBJ.
18609         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18610         * modules/ldexpl (configure.ac): ... to here.
18611
18612 2011-05-20  Bruno Haible  <bruno@clisp.org>
18613
18614         frexpl*: Respect rules for use of AC_LIBOBJ.
18615         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18616         invocation from here...
18617         * modules/frexpl (configure.ac): ... to here.
18618         * modules/frexpl-nolibm (configure.ac): ... and here.
18619
18620 2011-05-20  Bruno Haible  <bruno@clisp.org>
18621
18622         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18623         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18624         invocation from here...
18625         * modules/frexp (configure.ac): ... to here.
18626         * modules/frexp-nolibm (configure.ac): ... and here.
18627
18628 2011-05-20  Bruno Haible  <bruno@clisp.org>
18629
18630         isnan: Respect rules for use of AC_LIBOBJ.
18631         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18632         invocations here.
18633         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18634         REPLACE_ISNAN.
18635         * modules/isnand (configure.ac): Likewise.
18636         * modules/isnanl (configure.ac): Likewise.
18637
18638 2011-05-20  Bruno Haible  <bruno@clisp.org>
18639
18640         isnanl*: Respect rules for use of AC_LIBOBJ.
18641         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18642         invocation from here...
18643         * modules/isnanl (configure.ac): ... to here.
18644         * modules/isnanl-nolibm (configure.ac): ... and here.
18645
18646 2011-05-20  Bruno Haible  <bruno@clisp.org>
18647
18648         isnand*: Move AC_LIBOBJ invocations to module description.
18649         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18650         invocation from here...
18651         * modules/isnand (configure.ac): ... to here.
18652         * modules/isnand-nolibm (configure.ac): ... and here.
18653
18654 2011-05-20  Bruno Haible  <bruno@clisp.org>
18655
18656         isnanf*: Move AC_LIBOBJ invocations to module description.
18657         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18658         invocation from here...
18659         * modules/isnanf (configure.ac): ... to here.
18660         * modules/isnanf-nolibm (configure.ac): ... and here.
18661
18662 2011-05-20  Bruno Haible  <bruno@clisp.org>
18663
18664         isnan*: Separate the AC_LIBOBJ invocations.
18665         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18666         AC_LIBOBJ invocation.
18667         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18668         here.
18669         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18670         AC_LIBOBJ invocation.
18671         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18672         here.
18673         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18674         AC_LIBOBJ invocation.
18675         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18676         here.
18677         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18678
18679 2011-05-08  Bruno Haible  <bruno@clisp.org>
18680
18681         isinf: Move AC_LIBOBJ invocations to module description.
18682         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18683         * modules/isinf (configure.ac): ... to here.
18684
18685 2011-05-08  Bruno Haible  <bruno@clisp.org>
18686
18687         isfinite: Move AC_LIBOBJ invocations to module description.
18688         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18689         * modules/isfinite (configure.ac): ... to here.
18690
18691 2011-05-08  Bruno Haible  <bruno@clisp.org>
18692
18693         isblank: Move AC_LIBOBJ invocations to module description.
18694         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18695         here...
18696         * modules/isblank (configure.ac): ... to here.
18697
18698 2011-05-08  Bruno Haible  <bruno@clisp.org>
18699
18700         isapipe: Move AC_LIBOBJ invocations to module description.
18701         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18702         gl_PREREQ_ISAPIPE invocations from here...
18703         * modules/isapipe (configure.ac): ... to here.
18704         (Depends-on): Update condition.
18705
18706 2011-05-08  Bruno Haible  <bruno@clisp.org>
18707
18708         ioctl: Move AC_LIBOBJ invocations to module description.
18709         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18710         invocations from here...
18711         * modules/ioctl (configure.ac): ... to here.
18712         (Depends-on): Update condition.
18713
18714 2011-05-08  Bruno Haible  <bruno@clisp.org>
18715
18716         imaxdiv: Move AC_LIBOBJ invocations to module description.
18717         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18718         invocations from here...
18719         * modules/imaxdiv (configure.ac): ... to here.
18720
18721 2011-05-08  Bruno Haible  <bruno@clisp.org>
18722
18723         imaxabs: Move AC_LIBOBJ invocations to module description.
18724         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18725         invocations from here...
18726         * modules/imaxabs (configure.ac): ... to here.
18727
18728 2011-05-08  Bruno Haible  <bruno@clisp.org>
18729
18730         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18731         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18732         AC_LIBOBJ invocations from here...
18733         * modules/getaddrinfo (configure.ac): ... to here.
18734         (Depends-on): Add conditions.
18735
18736 2011-05-08  Bruno Haible  <bruno@clisp.org>
18737
18738         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18739         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18740         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18741         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18742         (gl_PREREQ_INET_PTON): ... from here.
18743         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18744         gl_PREREQ_INET_PTON here.
18745         (Depends-on): Update condition.
18746
18747 2011-05-08  Bruno Haible  <bruno@clisp.org>
18748
18749         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18750         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18751         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18752         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18753         (gl_PREREQ_INET_NTOP): ... from here.
18754         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18755         gl_PREREQ_INET_NTOP here.
18756         (Depends-on): Update condition.
18757
18758 2011-05-08  Bruno Haible  <bruno@clisp.org>
18759
18760         iconv_open: Move AC_LIBOBJ invocations to module description.
18761         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18762         AC_LIBOBJ invocations from here...
18763         * modules/iconv_open (configure.ac): ... to here.
18764
18765 2011-05-08  Bruno Haible  <bruno@clisp.org>
18766
18767         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18768         If module 'iconv_open' is among the main modules and module
18769         'iconv_open-utf' is among the tests dependencies, then
18770         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18771         return the special iconv_t values. Therefore iconv() and iconv_close()
18772         must support these special iconv_t values, already in lib, not only in
18773         tests.
18774         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18775         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18776         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18777         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18778         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18779         (Depends-on): Add the dependencies of iconv_open-utf.
18780         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18781         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18782         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18783
18784 2011-05-08  Bruno Haible  <bruno@clisp.org>
18785
18786         group-member: Move AC_LIBOBJ invocations to module description.
18787         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18788         gl_PREREQ_GROUP_MEMBER invocations from here...
18789         * modules/group-member (configure.ac): ... to here.
18790
18791 2011-05-08  Bruno Haible  <bruno@clisp.org>
18792
18793         grantpt: Move AC_LIBOBJ invocations to module description.
18794         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18795         invocations from here...
18796         * modules/grantpt (configure.ac): ... to here.
18797
18798 2011-05-08  Bruno Haible  <bruno@clisp.org>
18799
18800         glob: Move AC_LIBOBJ invocations to module description.
18801         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18802         from here...
18803         * modules/glob (configure.ac): ... to here.
18804
18805 2011-05-08  Bruno Haible  <bruno@clisp.org>
18806
18807         getusershell: Move AC_LIBOBJ invocations to module description.
18808         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18809         Move AC_LIBOBJ invocation from here...
18810         * modules/getusershell (configure.ac): ... to here.
18811         (Depends-on): Update condition.
18812
18813 2011-05-08  Bruno Haible  <bruno@clisp.org>
18814
18815         gettimeofday: Move AC_LIBOBJ invocations to module description.
18816         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18817         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18818         gl_PREREQ_GETTIMEOFDAY invocations from here...
18819         * modules/gettimeofday (configure.ac): ... to here.
18820
18821 2011-05-08  Bruno Haible  <bruno@clisp.org>
18822
18823         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18824         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18825         just gl_FUNC_TZSET.
18826         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18827         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18828         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18829         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18830
18831 2011-05-08  Bruno Haible  <bruno@clisp.org>
18832
18833         getsubopt: Move AC_LIBOBJ invocations to module description.
18834         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18835         gl_PREREQ_GETSUBOPT invocations from here...
18836         * modules/getsubopt (configure.ac): ... to here.
18837
18838 2011-05-08  Bruno Haible  <bruno@clisp.org>
18839
18840         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18841         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18842         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18843         * modules/getpass-gnu (configure.ac): ... to here.
18844
18845 2011-05-08  Bruno Haible  <bruno@clisp.org>
18846
18847         getpass: Move AC_LIBOBJ invocations to module description.
18848         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18849         gl_PREREQ_GETPASS invocations from here...
18850         * modules/getpass (configure.ac): ... to here.
18851
18852 2011-05-08  Bruno Haible  <bruno@clisp.org>
18853
18854         getpagesize: Move AC_LIBOBJ invocations to module description.
18855         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18856         from here...
18857         * modules/getpagesize (configure.ac): ... to here.
18858
18859 2011-05-08  Bruno Haible  <bruno@clisp.org>
18860
18861         getopt: Move AC_LIBOBJ invocations to module description.
18862         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18863         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18864         invocations from here...
18865         * modules/getopt-gnu (configure.ac): ... to here.
18866         * modules/getopt-posix (configure.ac): ... and here.
18867         (Depends-on): Update condition.
18868
18869 2011-05-08  Bruno Haible  <bruno@clisp.org>
18870
18871         getopt, argp: Respect rules for use of AC_LIBOBJ.
18872         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18873         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18874         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18875         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18876
18877 2011-05-08  Bruno Haible  <bruno@clisp.org>
18878
18879         getlogin_r: Move AC_LIBOBJ invocations to module description.
18880         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18881         gl_PREREQ_GETLOGIN_R invocations from here...
18882         * modules/getlogin_r (configure.ac): ... to here.
18883
18884 2011-05-08  Bruno Haible  <bruno@clisp.org>
18885
18886         getlogin: Move AC_LIBOBJ invocations to module description.
18887         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18888         here...
18889         * modules/getlogin (configure.ac): ... to here.
18890
18891 2011-05-08  Bruno Haible  <bruno@clisp.org>
18892
18893         getloadavg: Move AC_LIBOBJ invocations to module description.
18894         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18895         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18896         * modules/getloadavg (configure.ac): ... to here.
18897
18898 2011-05-08  Bruno Haible  <bruno@clisp.org>
18899
18900         gethrxtime: Move AC_LIBOBJ invocations to module description.
18901         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18902         LIB_GETHRXTIME from here...
18903         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18904         invocations from here...
18905         * modules/gethrxtime (configure.ac): ... to here.
18906
18907 2011-05-08  Bruno Haible  <bruno@clisp.org>
18908
18909         gethostname: Move AC_LIBOBJ invocations to module description.
18910         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18911         gl_PREREQ_GETHOSTNAME invocations from here...
18912         * modules/gethostname (configure.ac): ... to here.
18913
18914 2011-05-08  Bruno Haible  <bruno@clisp.org>
18915
18916         getgroups: Move AC_LIBOBJ invocations to module description.
18917         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18918         here...
18919         * modules/getgroups (configure.ac): ... to here.
18920
18921 2011-05-08  Bruno Haible  <bruno@clisp.org>
18922
18923         getdtablesize: Move AC_LIBOBJ invocations to module description.
18924         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18925         invocation from here...
18926         * modules/getdtablesize (configure.ac): ... to here.
18927
18928 2011-05-08  Bruno Haible  <bruno@clisp.org>
18929
18930         getdomainname: Move AC_LIBOBJ invocations to module description.
18931         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18932         gl_PREREQ_GETDOMAINNAME invocations from here...
18933         * modules/getdomainname (configure.ac): ... to here.
18934
18935 2011-05-08  Bruno Haible  <bruno@clisp.org>
18936
18937         getline: Move AC_LIBOBJ invocations to module description.
18938         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18939         invocations from here...
18940         * modules/getline (configure.ac): ... to here.
18941
18942 2011-05-08  Bruno Haible  <bruno@clisp.org>
18943
18944         getline: Simplify.
18945         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18946         It's already handled through the module dependency.
18947
18948 2011-05-08  Bruno Haible  <bruno@clisp.org>
18949
18950         getdelim: Move AC_LIBOBJ invocations to module description.
18951         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18952         and gl_PREREQ_GETDELIM invocations from here...
18953         * modules/getdelim (configure.ac): ... to here.
18954         (Depends-on): Fix condition.
18955
18956 2011-05-08  Bruno Haible  <bruno@clisp.org>
18957
18958         getcwd: Move AC_LIBOBJ invocations to module description.
18959         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18960         invocations from here...
18961         * modules/getcwd (configure.ac): ... to here.
18962
18963 2011-05-08  Bruno Haible  <bruno@clisp.org>
18964
18965         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18966         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18967         here...
18968         * modules/getcwd-lgpl (configure.ac): ... to here.
18969
18970 2011-05-07  Bruno Haible  <bruno@clisp.org>
18971
18972         crypto/gc: Move AC_LIBOBJ invocations to module description.
18973         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18974         * modules/crypto/gc (configure.ac): ... to here.
18975
18976 2011-05-07  Bruno Haible  <bruno@clisp.org>
18977
18978         fwriting: Move AC_LIBOBJ invocations to module description.
18979         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18980         here...
18981         * modules/fwriting (configure.ac): ... to here.
18982
18983 2011-05-07  Bruno Haible  <bruno@clisp.org>
18984
18985         fwritable: Move AC_LIBOBJ invocations to module description.
18986         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18987         here...
18988         * modules/fwritable (configure.ac): ... to here.
18989
18990 2011-05-07  Bruno Haible  <bruno@clisp.org>
18991
18992         futimens: Move AC_LIBOBJ invocations to module description.
18993         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18994         here...
18995         * modules/futimens (configure.ac): ... to here.
18996
18997 2011-05-07  Bruno Haible  <bruno@clisp.org>
18998
18999         ftruncate: Move AC_LIBOBJ invocations to module description.
19000         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19001         gl_PREREQ_FTRUNCATE invocations from here...
19002         * modules/ftruncate (configure.ac): ... to here.
19003
19004 2011-05-07  Bruno Haible  <bruno@clisp.org>
19005
19006         fsync: Move AC_LIBOBJ invocations to module description.
19007         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19008         invocations from here...
19009         * modules/fsync (configure.ac): ... to here.
19010
19011 2011-05-07  Bruno Haible  <bruno@clisp.org>
19012
19013         fsusage: Move AC_LIBOBJ invocations to module description.
19014         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19015         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19016         * modules/fsusage (configure.ac): ... to here.
19017
19018 2011-05-07  Bruno Haible  <bruno@clisp.org>
19019
19020         freopen: Move AC_LIBOBJ invocations to module description.
19021         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19022         invocations from here...
19023         * modules/freopen (configure.ac): ... to here.
19024
19025 2011-05-07  Bruno Haible  <bruno@clisp.org>
19026
19027         free: Move AC_LIBOBJ invocations to module description.
19028         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19029         invocations from here...
19030         * modules/free (configure.ac): ... to here.
19031
19032 2011-05-07  Bruno Haible  <bruno@clisp.org>
19033
19034         freadable: Move AC_LIBOBJ invocations to module description.
19035         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19036         here...
19037         * modules/freadable (configure.ac): ... to here.
19038
19039 2011-05-07  Bruno Haible  <bruno@clisp.org>
19040
19041         fpurge: Move AC_LIBOBJ invocations to module description.
19042         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19043         invocations from here...
19044         * modules/fpurge (configure.ac): ... to here.
19045
19046 2011-05-07  Bruno Haible  <bruno@clisp.org>
19047
19048         fpending: Move AC_LIBOBJ invocations to module description.
19049         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19050         gl_FUNC_FPENDING.
19051         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19052         invocations from here...
19053         * modules/fpending (configure.ac): ... to here.
19054
19055 2011-05-07  Bruno Haible  <bruno@clisp.org>
19056
19057         fopen: Move AC_LIBOBJ invocations to module description.
19058         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19059         invocations from here...
19060         * modules/fopen (configure.ac): ... to here.
19061
19062 2011-05-07  Bruno Haible  <bruno@clisp.org>
19063
19064         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19065         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19066         gl_FUNC_FNMATCH_POSIX.
19067         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19068         invocations from here...
19069         * modules/fnmatch (configure.ac): ... to here.
19070         * modules/fnmatch-gnu (configure.ac): ... and here.
19071
19072 2011-05-07  Bruno Haible  <bruno@clisp.org>
19073
19074         flock: Move AC_LIBOBJ invocations to module description.
19075         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19076         invocations from here...
19077         * modules/flock (configure.ac): ... to here.
19078
19079 2011-05-07  Bruno Haible  <bruno@clisp.org>
19080
19081         fileblocks: Move AC_LIBOBJ invocations to module description.
19082         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19083         gl_PREREQ_FILEBLOCKS invocations from here...
19084         * modules/fileblocks (configure.ac): ... to here.
19085
19086 2011-05-06  Bruno Haible  <bruno@clisp.org>
19087
19088         fflush: Move AC_LIBOBJ invocations to module description.
19089         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19090         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19091         invocations from here...
19092         * modules/fflush (configure.ac): ... to here.
19093
19094 2011-05-06  Bruno Haible  <bruno@clisp.org>
19095
19096         fdopendir: Move AC_LIBOBJ invocations to module description.
19097         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19098         here...
19099         * modules/fdopendir (configure.ac): ... to here.
19100         (Depends-on): Improve conditions.
19101
19102 2011-05-06  Bruno Haible  <bruno@clisp.org>
19103
19104         _Exit: Move AC_LIBOBJ invocations to module description.
19105         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19106         invocations from here...
19107         * modules/_Exit (configure.ac): ... to here.
19108
19109 2011-05-21  Bruno Haible  <bruno@clisp.org>
19110
19111         euidaccess: Respect rules for use of AC_LIBOBJ.
19112         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19113         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19114         from here...
19115         * modules/euidaccess (configure.ac): ... to here.
19116
19117 2011-05-06  Bruno Haible  <bruno@clisp.org>
19118
19119         error: Move AC_LIBOBJ invocations to module description.
19120         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19121         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19122         invocations from here...
19123         * modules/error (configure.ac): ... to here.
19124
19125 2011-05-06  Bruno Haible  <bruno@clisp.org>
19126
19127         duplocale: Move AC_LIBOBJ invocations to module description.
19128         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19129         gl_PREREQ_DUPLOCALE invocations from here...
19130         * modules/duplocale (configure.ac): ... to here.
19131
19132 2011-05-05  Bruno Haible  <bruno@clisp.org>
19133
19134         dirfd: Move AC_LIBOBJ invocations to module description.
19135         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19136         gl_FUNC_DIRFD.
19137         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19138         here...
19139         * modules/dirfd (configure.ac): ... to here.
19140         (Depends-on): Fix condition.
19141
19142 2011-05-05  Bruno Haible  <bruno@clisp.org>
19143
19144         chown: Respect rules for use of AC_LIBOBJ.
19145         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19146         * modules/chown (configure.ac): ... to here.
19147
19148 2011-05-05  Bruno Haible  <bruno@clisp.org>
19149
19150         chdir-long: Move AC_LIBOBJ invocations to module description.
19151         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19152         gl_PREREQ_CHDIR_LONG invocations from here...
19153         * modules/chdir-long (configure.ac): ... to here.
19154
19155 2011-05-05  Bruno Haible  <bruno@clisp.org>
19156
19157         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19158         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19159         from here...
19160         * modules/canonicalize-lgpl (configure.ac): ... to here.
19161
19162 2011-05-05  Bruno Haible  <bruno@clisp.org>
19163
19164         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19165         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19166         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19167         REPLACE_CALLOC.
19168         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19169         * modules/calloc-gnu (configure.ac): Likewise.
19170
19171 2011-05-05  Bruno Haible  <bruno@clisp.org>
19172
19173         btowc: Move AC_LIBOBJ invocations to module description.
19174         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19175         invocations from here...
19176         * modules/btowc (configure.ac): ... to here.
19177
19178 2011-05-21  Bruno Haible  <bruno@clisp.org>
19179
19180         atexit: Move AC_LIBOBJ invocations to module description.
19181         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19182         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19183         here...
19184         * modules/atexit (configure.ac): ... to here.
19185
19186 2011-05-05  Bruno Haible  <bruno@clisp.org>
19187
19188         atoll: Move AC_LIBOBJ invocations to module description.
19189         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19190         invocations from here...
19191         * modules/atoll (configure.ac): ... to here.
19192
19193 2011-05-05  Bruno Haible  <bruno@clisp.org>
19194
19195         argz: Move AC_LIBOBJ invocations to module description.
19196         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19197         * modules/argz (configure.ac): ... to here.
19198
19199 2011-05-05  Bruno Haible  <bruno@clisp.org>
19200
19201         alphasort: Move AC_LIBOBJ invocations to module description.
19202         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19203         gl_PREREQ_ALPHASORT invocations from here...
19204         * modules/alphasort (configure.ac): ... to here.
19205
19206 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19207
19208         verify: new macro verify_expr; verify_true deprecated
19209         * NEWS: Mention this.
19210         * doc/verify.texi (Compile-time Assertions): Document this.
19211         * lib/verify.h (verify_true): Deprecate.
19212         (verify_expr): New macro.
19213         * tests/test-verify.c (function): Test verify_expr.
19214
19215 2011-06-14  Jim Meyering  <meyering@redhat.com>
19216
19217         init.sh: give more portable redirection-related advice in a comment
19218         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19219         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19220         for lots of discussion.  Stefano Lattarini suggested the solution
19221         of putting "9>&2" after the command.  Reported by Bruno Haible.
19222
19223 2011-06-13  Bruno Haible  <bruno@clisp.org>
19224
19225         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19226         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19227         'none'.
19228
19229 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19230
19231         ftoastr: use strtof only if HAVE_STRTOF
19232         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19234         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19235         * modules/ftoastr (configure.ac): Check for strtof.
19236
19237 2011-06-13  Bruno Haible  <bruno@clisp.org>
19238
19239         gnulib-tool: Addendum to 2011-06-08 commit.
19240         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19241         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19242
19243 2011-06-13  Bruno Haible  <bruno@clisp.org>
19244
19245         fseeko: Provide a non-inline replacement of fseek().
19246         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19247         * modules/fseeko (Depends-on): Add fseek.
19248         * modules/fseek (License): Change to LGPLv2+.
19249
19250 2011-06-13  Bruno Haible  <bruno@clisp.org>
19251
19252         ftello: Provide a non-inline replacement of ftell().
19253         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19254         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19255         not have ftello() (such as on mingw).
19256         * modules/ftello (Depends-on): Add ftell.
19257         * modules/ftell (License): Change to LGPLv2+.
19258
19259 2011-05-07  Bruno Haible  <bruno@clisp.org>
19260
19261         ftell: Move AC_LIBOBJ invocations to module description.
19262         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19263         * modules/ftell (configure.ac): ... to here.
19264
19265 2011-05-07  Bruno Haible  <bruno@clisp.org>
19266
19267         ftello: Respect rules for use of AC_LIBOBJ.
19268         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19269         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19270         here...
19271         * modules/ftello (configure.ac): ... to here.
19272
19273 2011-05-07  Bruno Haible  <bruno@clisp.org>
19274
19275         fseeko: Simplify.
19276         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19277         (gl_FUNC_FSEEKO): Inline it here.
19278
19279 2011-05-07  Bruno Haible  <bruno@clisp.org>
19280
19281         fseek: Move AC_LIBOBJ invocations to module description.
19282         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19283         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19284         * modules/fseek (configure.ac): ... to here.
19285
19286 2011-05-07  Bruno Haible  <bruno@clisp.org>
19287
19288         fseek: Respect rules for use of AC_LIBOBJ.
19289         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19290         here...
19291         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19292
19293 2011-05-07  Bruno Haible  <bruno@clisp.org>
19294
19295         fseeko: Respect rules for use of AC_LIBOBJ.
19296         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19297         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19298         here...
19299         * modules/fseeko (configure.ac): ... to here.
19300
19301 2011-06-13  Bruno Haible  <bruno@clisp.org>
19302
19303         gnulib-tool: Allow comments in the 'Depends-on' section.
19304         * doc/gnulib.texi (Module description): Mention comment syntax in the
19305         Depends-on section.
19306         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19307
19308 2011-06-13  Bruno Haible  <bruno@clisp.org>
19309
19310         file-set.h: guard __attibute__ use, now that it's not always defined
19311         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19312         versions that support it.  This fixes a coreutils build failure with
19313         the vendor cc on HP-UX 11.31.
19314
19315 2011-06-12  Bruno Haible  <bruno@clisp.org>
19316
19317         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19318         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19319         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19320         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19321         (acl, aclsort): New declarations.
19322         (aclv_nontrivial): New declaration.
19323         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19324         (file_has_acl): Read also the second kind of HP-UX ACLs.
19325         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19326         kind of HP-UX ACLs if the first kind fails.
19327         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19328         second kind of HP-UX ACLs.
19329         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19330         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19331         agree.
19332         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19333         hpuxjfs.
19334         Handle hpuxjfs.
19335         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19336         hpuxjfs.
19337         Handle hpuxjfs.
19338         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19339         (func_test_same_acls): Use both lsacl and getacl.
19340         Handle hpuxjfs.
19341         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19342         (func_test_same_acls): Use both lsacl and getacl.
19343         Handle hpuxjfs.
19344
19345 2011-06-12  Bruno Haible  <bruno@clisp.org>
19346
19347         acl: Complete the 2010-08-10 fix.
19348         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19349         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19350         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19351         explicitly.
19352         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19353         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19354
19355 2011-06-12  Bruno Haible  <bruno@clisp.org>
19356
19357         spawn-pipe tests: Comments.
19358         * tests/test-spawn-pipe-child.c (main): Update comment.
19359         Reported by James Youngman <jay@gnu.org>.
19360
19361 2011-06-11  James Youngman  <jay@gnu.org>
19362
19363         New module 'stat-size'.
19364         * modules/stat-size: New module.  Provides macros for accessing
19365         file size information in instances of struct stat.  Depends on the
19366         fileblocks module because it calls st_blocks.
19367         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19368         * doc/gnulib.texi: Include stat-size.texi.
19369         * doc/stat-size.texi: Documentation for this module.
19370         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19371         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19372         AC_STRUCT_ST_BLOCKS.
19373
19374 2011-06-09  Bruno Haible  <bruno@clisp.org>
19375
19376         thread: Support pthreads-win32.
19377         * lib/glthread/thread.h (gl_thread_self): Define differently on
19378         pthreads-win32.
19379         (gl_null_thread): New declaration.
19380         (gl_thread_self_pointer): New macro.
19381         * lib/glthread/thread.c (gl_null_thread): New constant.
19382         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19383         gl_thread_self.
19384         * tests/test-tls.c: Likewise.
19385         Suggested by Paul Eggert. Reported by Eric Blake.
19386
19387 2011-06-09  Bruno Haible  <bruno@clisp.org>
19388
19389         thread: Fix confusion between NULL and 0.
19390         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19391         Reported by Paul Eggert.
19392
19393 2011-06-09  Bruno Haible  <bruno@clisp.org>
19394
19395         spawn-pipe tests: Avoid test failure on HP-UX 11.
19396         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19397         is closed.
19398
19399 2011-06-09  Bruno Haible  <bruno@clisp.org>
19400
19401         acl tests: Fix compilation error on HP-UX 11.
19402         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19403
19404 2011-06-09  Bruno Haible  <bruno@clisp.org>
19405
19406         rmdir: Avoid test failure on HP-UX 10.20.
19407         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19408         EEXIST.
19409
19410 2011-06-08  Eric Blake  <eblake@redhat.com>
19411
19412         perror: fix test on mingw
19413         * modules/perror-tests (Depends-on): Add dup2.
19414
19415         strerror_r-posix: fix on MacOS
19416         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19417         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19418         logic bug.
19419         * lib/strerror_r.c (strerror_r): Fix the bug.
19420         * lib/strerror.c (strerror): Likewise.
19421         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19422         problem.
19423         * doc/posix-functions/strerror.texi (strerror): Likewise.
19424         * doc/posix-functions/perror.texi (perror): Likewise.
19425         * tests/test-strerror.c (main): Enhance test.
19426         * tests/test-strerror_r.c (main): Likewise.
19427
19428 2011-06-08  Bruno Haible  <bruno@clisp.org>
19429
19430         gnulib-tool: Better isolation between different gnulib-tool invocations.
19431         * gnulib-tool: New option --witness-c-macro.
19432         (witness_c_macro): New variable.
19433         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19434         AM_CPPFLAGS define it as a C macro.
19435         (func_emit_tests_Makefile_am): Likewise.
19436         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19437         read it from there.
19438         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19439         m4_define, not AC_DEFUN.
19440         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19441         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19442         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19443         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19444         s|...|...|, to substitute the values of the GNULIB_* module indicator
19445         variables.
19446         * modules/dirent (Makefile.am): Likewise.
19447         * modules/fcntl-h (Makefile.am): Likewise.
19448         * modules/iconv-h (Makefile.am): Likewise.
19449         * modules/langinfo (Makefile.am): Likewise.
19450         * modules/locale (Makefile.am): Likewise.
19451         * modules/math (Makefile.am): Likewise.
19452         * modules/netdb (Makefile.am): Likewise.
19453         * modules/poll-h (Makefile.am): Likewise.
19454         * modules/pty (Makefile.am): Likewise.
19455         * modules/search (Makefile.am): Likewise.
19456         * modules/signal (Makefile.am): Likewise.
19457         * modules/spawn (Makefile.am): Likewise.
19458         * modules/stdio (Makefile.am): Likewise.
19459         * modules/stdlib (Makefile.am): Likewise.
19460         * modules/string (Makefile.am): Likewise.
19461         * modules/sys_ioctl (Makefile.am): Likewise.
19462         * modules/sys_select (Makefile.am): Likewise.
19463         * modules/sys_socket (Makefile.am): Likewise.
19464         * modules/sys_stat (Makefile.am): Likewise.
19465         * modules/sys_times (Makefile.am): Likewise.
19466         * modules/sys_utsname (Makefile.am): Likewise.
19467         * modules/sys_wait (Makefile.am): Likewise.
19468         * modules/termios (Makefile.am): Likewise.
19469         * modules/time (Makefile.am): Likewise.
19470         * modules/unistd (Makefile.am): Likewise.
19471         * modules/wchar (Makefile.am): Likewise.
19472
19473 2011-06-08  Eric Blake  <eblake@redhat.com>
19474
19475         strerror: simplify replacement
19476         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19477         * modules/strerror (configure.ac): No prereqs needed here...
19478         * modules/strerror-override (configure.ac): ...but this needs it.
19479         (Files): Add file for needed prereq macro.
19480
19481 2011-06-08  Bruno Haible  <bruno@clisp.org>
19482
19483         strerror_r-posix: Tweaks.
19484         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19485         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19486         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19487         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19488         (gl_FUNC_STRERROR_R): ... to here.
19489         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19490
19491 2011-06-07  Eric Blake  <eblake@redhat.com>
19492
19493         perror: document fixed bugs
19494         * doc/posix-functions/perror.texi (perror): Document recent
19495         patches.
19496
19497 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19498
19499         stat-time: get_stat_birthtime failure is better-defined
19500         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19501         return a timestamp whose tv_sec and tv_nsec values are both -1.
19502         Previously, the spec said only that the tv_nsec value was negative.
19503         This upward-compatible change simplifies GNU tar a bit.
19504
19505 2011-06-07  Eric Blake  <eblake@redhat.com>
19506
19507         strerror_r-posix: work around cygwin 1.7.9
19508         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19509         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19510         bug without replacing strerror_r.
19511         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19512         strerror_r is buggy, but without requiring strerror_r compilation.
19513         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19514
19515         test-perror: relax test to ignore cygwin bug
19516         * tests/test-perror2.c (main): Relax test on requiring detection
19517         of stream errors, and use unbuffered stream.
19518         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19519         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19520         * doc/posix-functions/fputc.texi (fputc): Likewise.
19521         * doc/posix-functions/fputs.texi (fputs): Likewise.
19522         * doc/posix-functions/fputws.texi (fputws): Likewise.
19523         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19524         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19525         * doc/posix-functions/getopt.texi (getopt): Likewise.
19526         * doc/posix-functions/perror.texi (perror): Likewise.
19527         * doc/posix-functions/printf.texi (printf): Likewise.
19528         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19529         * doc/posix-functions/psignal.texi (psignal): Likewise.
19530         * doc/posix-functions/putc.texi (putc): Likewise.
19531         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19532         Likewise.
19533         * doc/posix-functions/putchar.texi (putchar): Likewise.
19534         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19535         Likewise.
19536         * doc/posix-functions/puts.texi (puts): Likewise.
19537         * doc/posix-functions/putwc.texi (putwc): Likewise.
19538         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19539         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19540         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19541         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19542         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19543         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19544         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19545         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19546
19547 2011-05-22  Bruno Haible  <bruno@clisp.org>
19548
19549         strerror: Move AC_LIBOBJ invocations to module description.
19550         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19551         gl_PREREQ_STRERROR invocations from here...
19552         * modules/strerror (configure.ac): ... to here.
19553
19554 2011-05-21  Bruno Haible  <bruno@clisp.org>
19555
19556         perror: Use common idiom.
19557         * modules/perror (configure.ac): Reorder statements.
19558
19559 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19560
19561         tests: fix usage message in 'mktempd_'
19562         * tests/init.sh (mktempd_): In the usage message, use literal
19563         'mktempd_', not '$ME' (which is even undefined), as the name of
19564         the subroutine.
19565
19566 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19567
19568         tests init: new function 'fatal_', for hard errors
19569         Before this patch, the only way offered by tests/init.sh to
19570         properly signal a hard error was the `framework_failure_'
19571         function.  But the error message issued by that function,
19572         as its name would suggest, refers to a set-up failure in the
19573         testsuite, while hard errors can obviously also be due to
19574         other reasons.  The best way to fix this inconsistency is to
19575         introduce a new function with a more general error message.
19576         * tests/init.sh (fatal_): New function.
19577
19578 2011-06-06  Eric Blake  <eblake@redhat.com>
19579
19580         canonicalize-lgpl: use common idiom
19581         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19582         over newer POSIX -Rf.
19583         Reported by Bruno Haible.
19584
19585         canonicalize-lgpl: work around AIX realpath bug
19586         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19587         * doc/posix-functions/realpath.texi (realpath): Document it.
19588         Reported by Bruno Haible.
19589
19590         strerror: work around FreeBSD bug
19591         * lib/strerror.c (strerror): Special case 0.
19592         Reported by Bruno Haible.
19593
19594         strerror-override: avoid bloating errno module
19595         * modules/errno (Files, configure.ac): Move replacement strings...
19596         * modules/strerror-override: ...to new module.
19597         * modules/strerror (Depends-on): Add strerror-override.
19598         * modules/strerror_r-posix (Depends-on): Likewise.
19599         * MODULES.html.sh: Document new module.
19600         Reported by Bruno Haible.
19601
19602 2011-06-06  Bruno Haible  <bruno@clisp.org>
19603
19604         spawn-pipe tests: Rename program.
19605         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19606         * tests/test-spawn-pipe-child.c: Update comment.
19607         * tests/test-spawn-pipe.sh: Update.
19608         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19609
19610         spawn-pipe tests: Link the child program only against libc.
19611         * tests/test-spawn-pipe-child.c: New file, extracted from
19612         tests/test-spawn-pipe.c.
19613         (main): Expect only one argument.
19614         (is_open): New function, copied from tests/test-pipe.c.
19615         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19616         (child_main): Remove function.
19617         (test_pipe): Pass only one argument to the child program.
19618         (main): Remove child process code. Expect the child program's name as
19619         first argument.
19620         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19621         argument.
19622         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19623         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19624         test-spawn-pipe-child against no libraries.
19625
19626 2011-06-06  Bruno Haible  <bruno@clisp.org>
19627
19628         careadlinkat: Avoid mismatch between ssize_t and int.
19629         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19630         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19631
19632 2011-06-06  Jim Meyering  <meyering@redhat.com>
19633
19634         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19635         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19636         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19637
19638 2011-06-05  Bruno Haible  <bruno@clisp.org>
19639
19640         ansi-c++-opt: Interoperability with libtool.
19641         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19642         set the variable to "no", not to ":".
19643         * NEWS: Mention the change.
19644
19645 2011-06-05  Bruno Haible  <bruno@clisp.org>
19646
19647         acl: Fix test failure on AIX 7.
19648         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19649         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19650
19651 2011-06-05  Bruno Haible  <bruno@clisp.org>
19652
19653         pipe-filter-ii: Fix test failure on AIX and IRIX.
19654         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19655         with EAGAIN, retry with a smaller buffer size.
19656
19657 2011-06-05  Bruno Haible  <bruno@clisp.org>
19658
19659         localename: Fix link dependencies.
19660         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19661         * modules/localename-tests (Makefile.am): Link test-localename with
19662         $(LIBTHREAD).
19663
19664 2011-06-05  Bruno Haible  <bruno@clisp.org>
19665
19666         error: Avoid gcc warning.
19667         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19668
19669 2011-06-05  Bruno Haible  <bruno@clisp.org>
19670
19671         unsetenv: Avoid gcc warning.
19672         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19673
19674 2011-06-05  Bruno Haible  <bruno@clisp.org>
19675
19676         setenv: Avoid gcc warning.
19677         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19678
19679 2011-06-05  Bruno Haible  <bruno@clisp.org>
19680
19681         sys_select: Ensure memset is declared also on AIX 7.
19682         * lib/sys_select.in.h: Include <string.h> also on AIX.
19683         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19684         self-contained also on AIX 7.1.
19685
19686 2011-06-04  Jim Meyering  <meyering@redhat.com>
19687
19688         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19689         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19690         function name, "error".
19691         (_gl_translatable_diag_func_re): New configurable variable.
19692
19693 2011-06-04  Bruno Haible  <bruno@clisp.org>
19694
19695         getopt: Avoid gcc warning.
19696         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19697
19698 2011-06-04  Bruno Haible  <bruno@clisp.org>
19699
19700         strerror_r: Fix comments.
19701         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19702         commit.
19703
19704 2011-06-04  Bruno Haible  <bruno@clisp.org>
19705
19706         perror: Fix compilation error.
19707         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19708         Undefine fprintf, not sprintf.
19709         * modules/perror (Depends-on): Remove intprops, verify.
19710
19711 2011-06-04  Bruno Haible  <bruno@clisp.org>
19712
19713         setlocale: Enable replacement on Cygwin 1.5.
19714         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19715         Cygwin 1.5.x.
19716         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19717         LC_CTYPE category also exists on Cygwin 1.5.x.
19718
19719 2011-06-04  Bruno Haible  <bruno@clisp.org>
19720
19721         strerror-override: Don't disable symbol renamings.
19722         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19723         * lib/strerror-override.c: Include config.h.
19724         (strerror_override): Don't undefine.
19725
19726 2011-06-03  Bruno Haible  <bruno@clisp.org>
19727
19728         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19729         * lib/localename.h: Update copyright header.
19730         * lib/localename.c: Likewise.
19731         * lib/relocatable.h: Likewise.
19732         * lib/relocatable.c: Likewise.
19733
19734 2011-06-02  Bruno Haible  <bruno@clisp.org>
19735
19736         doc: Fix a module name.
19737         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19738
19739 2011-06-02  Bruno Haible  <bruno@clisp.org>
19740
19741         pipe2: Remove dependency on 'nonblocking' module.
19742         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19743         O_NONBLOCK is defined by gnulib.
19744         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19745         is zero.
19746         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19747         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19748         defined by gnulib.
19749         (get_nonblocking_flag): New function.
19750         (main): Test O_NONBLOCK flag only if it is nonzero.
19751         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19752
19753 2011-06-03  Jim Meyering  <meyering@redhat.com>
19754
19755         maint: three new prohibit-header-without-use rules
19756         Prohibit use of cloexec.h, posixver.h, same.h without use.
19757         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19758         (sc_prohibit_posixver_without_use): Likewise.
19759         (sc_prohibit_same_without_use): Likewise.
19760
19761 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19762
19763         allocator: 'die' routine is now given requested size
19764         * lib/allocator.h (struct allocator.die): New size arg.
19765         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19766         If the actual problem is an ssize_t limitation, not a size_t or
19767         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19768
19769 2011-06-01  Eric Blake  <eblake@redhat.com>
19770
19771         strerror: drop strerror_r dependency
19772         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19773         * lib/strerror-override.c (strerror_override): ...to new file.
19774         * lib/strerror-override.h: Add prototype.
19775         * lib/strerror-impl.h: Delete.
19776         * lib/strerror.c (strerror): New implementation.
19777         * modules/errno (Files): Add new files.
19778         (configure.ac): Compile new file as appropriate.
19779         * modules/strerror (Files): Drop unused file.
19780         (Depends-on): Drop strerror_r-posix.
19781         * MODULES.html.sh: Document strerror_r-posix.
19782         Requested by Sam Steingold.
19783
19784         perror: call strerror_r directly
19785         * modules/perror (Files): Drop strerror-impl.h.
19786         * lib/perror.c (perror): Use our own stack buffer, rather than
19787         calling a wrapper that uses static storage.
19788         * doc/posix-functions/perror.texi (perror): Document a limitation
19789         of our replacement.
19790
19791         strerror_r: fix includes for FreeBSD
19792         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19793         since we use abort on some platforms.
19794         Reported by Matthias Bolte.
19795
19796 2011-05-31  Bruno Haible  <bruno@clisp.org>
19797
19798         Fix link errors in tests: openat-die uses gettext-h.
19799         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19800         against $(LIBINTL).
19801         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19802         against $(LIBINTL).
19803         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19804         $(LIBINTL).
19805         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19806         against $(LIBINTL).
19807         * modules/linkat-tests (Makefile.am): Link test-linkat against
19808         $(LIBINTL).
19809         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19810         $(LIBINTL).
19811         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19812         against $(LIBINTL).
19813         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19814         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19815         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19816         $(LIBINTL).
19817         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19818         $(LIBINTL).
19819         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19820         $(LIBINTL).
19821         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19822
19823 2011-05-31  Bruno Haible  <bruno@clisp.org>
19824
19825         Fix link errors in tests: wait-process uses gettext-h.
19826         * modules/nonblocking-pipe-tests (Makefile.am): Set
19827         test_nonblocking_pipe_main_LDADD.
19828         * modules/nonblocking-socket-tests (Makefile.am): Link
19829         test-nonblocking-socket-main against $(LIBINTL).
19830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19831
19832 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19833
19834         assert-h: work around 'verify' incompatibility
19835         * lib/verify.h: Use @...@ directives, not ifdef.
19836         * modules/assert-h (assert.h): Implement the directives.
19837         (assert.h): Substitute the symbol-prefix more consistently.
19838
19839 2011-05-29  Jim Meyering  <meyering@redhat.com>
19840
19841         trim: remove three superfluous assignments
19842         * lib/trim.c (trim2): Remove three superfluous assignments
19843         and correct brace positioning.
19844
19845 2011-05-29  Bruno Haible  <bruno@clisp.org>
19846
19847         wctype-h: Avoid namespace pollution on Solaris 2.6.
19848         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19849         identifiers.
19850         * doc/posix-headers/wctype.texi: Mention the problem.
19851         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19852
19853 2011-05-28  Jim Meyering  <meyering@redhat.com>
19854
19855         parse-datetime.y: accommodate -Wstrict-overflow
19856         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19857         placate -Wstrict-overflow.
19858
19859         trim: avoid a warning from -O2 -Wstrict-overflow
19860         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19861
19862 2011-05-29  Bruno Haible  <bruno@clisp.org>
19863
19864         gnulib-tool: Fix bug in yesterday's commit.
19865         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19866         twice.
19867
19868 2011-05-29  Bruno Haible  <bruno@clisp.org>
19869
19870         Allow multiple gnulib generated include files to be combined.
19871         * gnulib-tool (func_compute_include_guard_prefix): New function.
19872         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19873         ${gl_include_guard_prefix} references.
19874         (func_import, func_create_testdir): Invoke
19875         func_compute_include_guard_prefix.
19876         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19877         * lib/ctype.in.h: Likewise.
19878         * lib/dirent.in.h: Likewise.
19879         * lib/errno.in.h: Likewise.
19880         * lib/fcntl.in.h: Likewise.
19881         * lib/float.in.h: Likewise.
19882         * lib/getopt.in.h: Likewise.
19883         * lib/iconv.in.h: Likewise.
19884         * lib/langinfo.in.h: Likewise.
19885         * lib/locale.in.h: Likewise.
19886         * lib/math.in.h: Likewise.
19887         * lib/netdb.in.h: Likewise.
19888         * lib/netinet_in.in.h: Likewise.
19889         * lib/poll.in.h: Likewise.
19890         * lib/pthread.in.h: Likewise.
19891         * lib/pty.in.h: Likewise.
19892         * lib/sched.in.h: Likewise.
19893         * lib/se-selinux.in.h: Likewise.
19894         * lib/search.in.h: Likewise.
19895         * lib/signal.in.h: Likewise.
19896         * lib/spawn.in.h: Likewise.
19897         * lib/stdarg.in.h: Likewise.
19898         * lib/stddef.in.h: Likewise.
19899         * lib/stdint.in.h: Likewise.
19900         * lib/stdio.in.h: Likewise.
19901         * lib/stdlib.in.h: Likewise.
19902         * lib/string.in.h: Likewise.
19903         * lib/strings.in.h: Likewise.
19904         * lib/sys_file.in.h: Likewise.
19905         * lib/sys_ioctl.in.h: Likewise.
19906         * lib/sys_select.in.h: Likewise.
19907         * lib/sys_socket.in.h: Likewise.
19908         * lib/sys_stat.in.h: Likewise.
19909         * lib/sys_time.in.h: Likewise.
19910         * lib/sys_times.in.h: Likewise.
19911         * lib/sys_uio.in.h: Likewise.
19912         * lib/sys_utsname.in.h: Likewise.
19913         * lib/sys_wait.in.h: Likewise.
19914         * lib/sysexits.in.h: Likewise.
19915         * lib/termios.in.h: Likewise.
19916         * lib/time.in.h: Likewise.
19917         * lib/unistd.in.h: Likewise.
19918         * lib/wchar.in.h: Likewise.
19919         * lib/wctype.in.h: Likewise.
19920         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19921         * modules/ctype (Makefile.am): Likewise.
19922         * modules/dirent (Makefile.am): Likewise.
19923         * modules/errno (Makefile.am): Likewise.
19924         * modules/fcntl-h (Makefile.am): Likewise.
19925         * modules/float (Makefile.am): Likewise.
19926         * modules/getopt-posix (Makefile.am): Likewise.
19927         * modules/iconv-h (Makefile.am): Likewise.
19928         * modules/langinfo (Makefile.am): Likewise.
19929         * modules/locale (Makefile.am): Likewise.
19930         * modules/math (Makefile.am): Likewise.
19931         * modules/netdb (Makefile.am): Likewise.
19932         * modules/netinet_in (Makefile.am): Likewise.
19933         * modules/poll-h (Makefile.am): Likewise.
19934         * modules/pthread (Makefile.am): Likewise.
19935         * modules/pty (Makefile.am): Likewise.
19936         * modules/sched (Makefile.am): Likewise.
19937         * modules/search (Makefile.am): Likewise.
19938         * modules/selinux-h (Makefile.am): Likewise.
19939         * modules/signal (Makefile.am): Likewise.
19940         * modules/spawn (Makefile.am): Likewise.
19941         * modules/stdarg (Makefile.am): Likewise.
19942         * modules/stddef (Makefile.am): Likewise.
19943         * modules/stdint (Makefile.am): Likewise.
19944         * modules/stdio (Makefile.am): Likewise.
19945         * modules/stdlib (Makefile.am): Likewise.
19946         * modules/string (Makefile.am): Likewise.
19947         * modules/strings (Makefile.am): Likewise.
19948         * modules/sys_file (Makefile.am): Likewise.
19949         * modules/sys_ioctl (Makefile.am): Likewise.
19950         * modules/sys_select (Makefile.am): Likewise.
19951         * modules/sys_socket (Makefile.am): Likewise.
19952         * modules/sys_stat (Makefile.am): Likewise.
19953         * modules/sys_time (Makefile.am): Likewise.
19954         * modules/sys_times (Makefile.am): Likewise.
19955         * modules/sys_uio (Makefile.am): Likewise.
19956         * modules/sys_utsname (Makefile.am): Likewise.
19957         * modules/sys_wait (Makefile.am): Likewise.
19958         * modules/sysexits (Makefile.am): Likewise.
19959         * modules/termios (Makefile.am): Likewise.
19960         * modules/time (Makefile.am): Likewise.
19961         * modules/unistd (Makefile.am): Likewise.
19962         * modules/wchar (Makefile.am): Likewise.
19963         * modules/wctype-h (Makefile.am): Likewise.
19964         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19965
19966 2011-05-29  Bruno Haible  <bruno@clisp.org>
19967
19968         assert-h: Allow multiple gnulib generated replacements to coexist.
19969         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19970
19971 2011-05-29  Bruno Haible  <bruno@clisp.org>
19972
19973         argp: Allow coexistence with strerror_r-posix module.
19974         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19975         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19976         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19977         not the glibc signature.
19978
19979 2011-05-28  Bruno Haible  <bruno@clisp.org>
19980
19981         gnulib-tool: Alternative structure of testdirs, similar to --import.
19982         * gnulib-tool: New option --single-configure.
19983         (func_usage): Document it.
19984         (single_configure): New variable.
19985         (func_modules_transitive_closure_separately,
19986         func_modules_transitive_closure_separately,
19987         func_determine_use_libtests, func_modules_add_dummy_separately,
19988         func_modules_to_filelist_separately): New functions, extracted from
19989         func_import.
19990         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19991         (func_import): Use the new functions.
19992         (func_create_testdir): Set final_modules. Handle $single_configure =
19993         true case.
19994
19995 2011-05-28  Bruno Haible  <bruno@clisp.org>
19996
19997         getloadavg: Remove an unreliable safety check.
19998         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19999         getloadavg.c is in place.
20000         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20001         Reported by Sam Steingold <sds@gnu.org>.
20002
20003 2011-05-28  Bruno Haible  <bruno@clisp.org>
20004
20005         doc: Cleanup yet another file produced by texinfo.tex.
20006         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20007
20008 2011-05-28  Bruno Haible  <bruno@clisp.org>
20009
20010         Finish the conditional dependencies mechanism.
20011         * gnulib-tool: New option --no-conditional-dependencies.
20012         (func_usage): Document it. Don't mark --conditional-dependencies as
20013         experimental.
20014         (cond_dependencies): The possible values can now be true, false, empty.
20015         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20016         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20017         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20018
20019 2011-05-28  Bruno Haible  <bruno@clisp.org>
20020
20021         doc: Use a recent texinfo.tex.
20022         * doc/Makefile (tex_opts): New variable.
20023         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20024
20025 2011-05-28  Jim Meyering  <meyering@redhat.com>
20026
20027         intprops.h: adjust comment to match code change
20028         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20029         only once, it *may* have side effects.  Also fix an unrelated typo.
20030         (_GL_INT_SIGNED): Likewise.
20031
20032 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20033
20034         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20035
20036 2011-05-26  Bruno Haible  <bruno@clisp.org>
20037
20038         mbsrchr: Avoid collision with system function on Interix.
20039         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20040         Reported by Markus Duft <mduft@gentoo.org>.
20041
20042 2011-05-15  James Youngman  <jay@gnu.org>
20043
20044         getopt: for ambiguous options, enumerate the possibilities.
20045         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20046         the ambiguous options when an ambiguous prefix is given. This was
20047         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20048         glibc change was
20049         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20050
20051 2011-05-25  Eric Blake  <eblake@redhat.com>
20052
20053         getcwd: work around mingw bug
20054         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20055         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20056         Reported by Matthias Bolte.
20057
20058 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20059
20060         test-intprops: disable -Wtype-limits diagnostics
20061         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20062         diagnostics.  Otherwise, the integer overflow macros generate many
20063         diagnostics.  Reported by Jim Meyering in
20064         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20065
20066         intprops: shorten, to pacify gcc -Woverlength-strings
20067         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20068         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20069         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20070         likely to run afoul of C compiler limits for string constant lengths.
20071         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20072
20073 2011-05-24  Eric Blake  <eblake@redhat.com>
20074
20075         docs: document recently fixed glibc printf bug
20076         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20077         * doc/posix-functions/printf.texi (printf): Likewise.
20078         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20079         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20080
20081         closein-tests: convert to init.sh
20082         * modules/closein-tests (Files): Add init.sh
20083         * tests/test-closein.sh Use it.
20084
20085         yesno-tests: convert to init.sh
20086         * modules/yesno-tests (Files): Add init.sh.
20087         * tests/test-yesno.sh: Use it.
20088
20089         atexit-tests: ensure reliable exit status
20090         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20091         Reported by Bruno Haible.
20092
20093 2011-05-24  Bruno Haible  <bruno@clisp.org>
20094
20095         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20096         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20097         gl_PREREQ_STRERROR_R invocations from here...
20098         * modules/strerror_r-posix (configure.ac): ... to here.
20099
20100 2011-05-24  Eric Blake  <eblake@redhat.com>
20101
20102         strerror_r: fix missing header
20103         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20104
20105         strerror_r: fix AIX test failures
20106         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20107         ERANGE failure.
20108
20109         strerror_r: fix Solaris test failures
20110         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20111         failures.
20112         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20113
20114         strerror_r: enforce POSIX recommendations
20115         * lib/strerror_r.c (safe_copy): New helper method.
20116         (strerror_r): Guarantee a non-empty string.
20117         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20118         recent POSIX rulings and to match our strerror guarantees.
20119         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20120
20121 2011-05-24  Jim Meyering  <meyering@redhat.com>
20122
20123         test-perror2.c: avoid warning about unused variable
20124         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20125
20126 2011-05-24  Eric Blake  <eblake@redhat.com>
20127
20128         perror: avoid spurious test failure on HP-UX
20129         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20130
20131         tests: fix logic bug in init.sh
20132         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20133         shell.
20134
20135 2011-05-24  Jim Meyering  <meyering@redhat.com>
20136
20137         utimensat: do not reference an out-of-scope buffer
20138         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20139         declared in an inner scope, yet "times" would be dereferenced outside
20140         the scope in which "ts" was valid.
20141         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20142         of ts[2] "out/up", so that the use of aliased "times" (via
20143         "times = ts;") does not end up referencing an out-of-scope "ts"
20144
20145         opendir-safer.c: don't clobber errno; don't close negative FD
20146         * lib/opendir-safer.c (opendir_safer):
20147         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20148         file descriptor, and more importantly, don't clobber the
20149         offending errno value with EINVAL.  Before, upon failure
20150         of dup_safer, we would pass the negative file descriptor to
20151         fdopendir, which would clobber errno.
20152
20153 2011-05-23  Bruno Haible  <bruno@clisp.org>
20154
20155         idcache: Fix module description.
20156         * modules/idcache (Include): Set to "idcache.h".
20157
20158 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20159
20160         gnulib-tool: fix portability problem with MacOS sed
20161         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20162         before the "}".  Problem reported by Leo in
20163         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20164         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20165         sed_extract_condition1, sed_extract_condition2.
20166
20167 2011-05-23  Bruno Haible  <bruno@clisp.org>
20168
20169         hash: Simplify autoconf macro.
20170         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20171
20172 2011-05-23  Bruno Haible  <bruno@clisp.org>
20173
20174         getugroups: Fix module description.
20175         * modules/getugroups (Include): Set to "getugroups.h".
20176
20177 2011-05-23  Bruno Haible  <bruno@clisp.org>
20178
20179         linkat: Simplify autoconf macro.
20180         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20181
20182 2011-05-23  Bruno Haible  <bruno@clisp.org>
20183             Eric Blake  <eblake@redhat.com>
20184
20185         linkat, renameat: Update dependencies.
20186         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20187         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20188         symlinkat.
20189
20190 2011-05-23  Jim Meyering  <meyering@redhat.com>
20191
20192         maint.mk: more tight_scope improvements
20193         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20194         (_gl_TS_headers): Define only in if-0'd block.
20195         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20196         sometimes we must *not* use it.  Adjust uses accordingly.
20197         (sc_tight_scope): Use much simpler grep-based test to determine
20198         whether we skip this rule.
20199
20200         maint.mk: generalize/improve the tight-scope rule
20201         * top/maint.mk: Emit a warning when the test is skipped.
20202         (_gl_TS_dir): Add $(srcdir)/ prefix.
20203         (_gl_TS_function_match): Simplify, rather than trying
20204         to enumerate common types.  Otherwise, it would fail to match an
20205         "extern unsigned char const *" declaration in idutils.
20206         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20207         a way to support use of that type of macro.
20208         (_gl_TS_var_match): Simplify regexp.
20209         (_gl_TS_obj_files): New configurable variable.
20210         (_gl_TS_headers): Likewise.
20211
20212 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20213
20214         verify: fix bug when gnulib <assert.h> is also included
20215         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20216         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20217         Perhaps there's a better way, but this fixes the immediate problem.
20218         Problem reported by Bruno Haible in
20219         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20220
20221 2011-05-22  Bruno Haible  <bruno@clisp.org>
20222
20223         xgetcwd: Simplify autoconf macro.
20224         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20225
20226 2011-05-22  Bruno Haible  <bruno@clisp.org>
20227
20228         New module 'mktime-internal'.
20229         * modules/mktime-internal: New file.
20230         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20231         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20232         mktime_internal as a C macro if libc has __mktime_internal.
20233         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20234         conditions.
20235         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20236
20237 2011-05-22  Bruno Haible  <bruno@clisp.org>
20238
20239         timegm: Correct mktime replacement statements.
20240         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20241         defining mktime as a C macro. This completes a 2009-07-28 commit.
20242
20243 2011-05-22  Bruno Haible  <bruno@clisp.org>
20244
20245         timegm: Simplify autoconf macro.
20246         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20247
20248 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20249
20250         clock-time: change to LGPLv2+.
20251         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20252         BSD-like but we have no mark for that; this is good enough for now.
20253
20254 2011-05-21  Bruno Haible  <bruno@clisp.org>
20255
20256         strerror_r: Fix comments.
20257         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20258
20259 2011-05-21  Bruno Haible  <bruno@clisp.org>
20260
20261         relocatable-prog-wrapper: Fix possible link error.
20262         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20263         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20264         (gl_FUNC_SETENV): ... to here.
20265         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20266         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20267
20268 2011-05-21  Bruno Haible  <bruno@clisp.org>
20269
20270         relocatable-prog-wrapper: Assume strerror() exists.
20271         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20272         m4/strerror.m4.
20273         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20274         * lib/relocwrapper.c: Remove mention of strerror module.
20275         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20276         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20277         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20278         C macro.
20279
20280 2011-05-21  Bruno Haible  <bruno@clisp.org>
20281
20282         select: Simplify replacement idiom.
20283         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20284         Win32 platforms.
20285         * lib/sys_select.in.h (select): Simplify accordingly.
20286         * modules/select (Depends-on): Likewise.
20287
20288 2011-05-21  Bruno Haible  <bruno@clisp.org>
20289
20290         mkdir-p: Simplify autoconf macro.
20291         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20292         gl_FUNC_LCHOWN.
20293
20294 2011-05-21  Eric Blake  <eblake@redhat.com>
20295
20296         strerror_r: avoid clobbering strerror on cygwin
20297         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20298         fall back instead to sys_errlist.
20299         * modules/strerror (configure.ac): Add witness.
20300         * tests/test-strerror_r.c (main): Enhance test.
20301         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20302         * tests/test-perror2.c (main): Free memory before exit.
20303
20304 2011-05-21  Bruno Haible  <bruno@clisp.org>
20305
20306         mkdtemp: Use gnulib naming conventions.
20307         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20308         * modules/mkdtemp (configure.ac): Update.
20309
20310 2011-05-20  Eric Blake  <eblake@redhat.com>
20311
20312         strerror_r: avoid corrupting errno on Solaris
20313         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20314         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20315
20316         strerror_r: avoid compiler warning
20317         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20318
20319         strerror_r: simplify AIX code
20320         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20321
20322         test-perror: avoid spurious failure on FreeBSD
20323         * modules/perror-tests (Depends-on): Add strerror, now that
20324         strerror_r no longer pulls it in.
20325
20326 2011-05-20  Bruno Haible  <bruno@clisp.org>
20327
20328         strerror_r-posix: Remove unused dependencies.
20329         * modules/strerror_r-posix (Depends-on): Remove strerror.
20330         Reported by Eric Blake.
20331
20332 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20333
20334         intprops: remove assumption about A|B representation
20335         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20336         is a valid integer if both A and B are.  Although this is true for
20337         all known practical hosts, the C standard doesn't guarantee it,
20338         and the code need not assume it.  Also, this change may work around
20339         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20340         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20341
20342 2011-05-20  Eric Blake  <eblake@redhat.com>
20343
20344         perror: work around FreeBSD bug
20345         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20346         is broken.  Move AC_LIBOBJ...
20347         * modules/perror (configure.ac): Here.
20348         * doc/posix-functions/perror.texi (perror): Document this.
20349         * tests/test-perror2.c (main): Enhance test.
20350
20351         test-perror: check for strerror interactions
20352         * tests/macros.h (STREQ): Add macro.
20353         * modules/perror-tests (Files): Add second test.
20354         * tests/test-perror2.c (main): New file.
20355         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20356
20357         test-perror: rewrite to use init script
20358         * modules/perror-tests (Files): Add init.sh.
20359         * tests/test-perror.sh: Use temporary directory.
20360
20361 2011-05-20  Jim Meyering  <meyering@redhat.com>
20362
20363         maint: replace misused "a" with "an"
20364         * doc/intprops.texi: "a integer"
20365         * doc/regex.texi: "a explanation"
20366         * lib/alignof.h: "a object"
20367         * lib/argmatch.h: "a explanation"
20368         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20369         * lib/stdint.in.h: "a integer"
20370         * lib/userspec.c: "a owner"
20371         * doc/gnulib.texi: Fix "a idea", and reword.
20372
20373 2011-05-19  Jim Meyering  <meyering@redhat.com>
20374
20375         maint: correct misuse of "a" and "an"
20376         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20377         * lib/argp-help.c: "an docum...": s/an/a/
20378         * lib/argp-parse.c: "An vector": s/An/A/
20379         * lib/execute.c: "an native": s/an/a/
20380         * lib/spawn-pipe.c: Likewise.
20381         * lib/gc.h: "an Gc_rc": s/an/a/
20382         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20383         * lib/fts.c: "an stat.st_dev": s/an/a/
20384
20385 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20386
20387         intprops-tests: work around HP-UX 11.23 cc bug with constants
20388         * tests/test-intprops.c (VERIFY): New macro.
20389         (main): Use it, instead of verify, to work around the compiler bug; see
20390         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20391
20392         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20393         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20394         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20395         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20396         (_GL_REMAINDER_OVERFLOW): Use it.
20397
20398         intprops-tests: revert unsigned part of previous change
20399         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20400         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20401         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20402         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20403
20404 2011-05-19  Bruno Haible  <bruno@clisp.org>
20405
20406         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20407         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20408         strerror_r() returned without filling the buffer.
20409         Reported by Eric Blake.
20410
20411 2011-05-19  Eric Blake  <eblake@redhat.com>
20412
20413         strerror_r: guarantee unchanged errno
20414         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20415         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20416         failure.
20417         * tests/test-strerror_r.c (main): Enhance test.
20418
20419 2011-05-19  Bruno Haible  <bruno@clisp.org>
20420
20421         strerror_r: Reorder #if blocks.
20422         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20423         for consistency with the previous commit.
20424
20425 2011-05-19  Bruno Haible  <bruno@clisp.org>
20426
20427         perror: Avoid clobbering the strerror buffer when possible.
20428         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20429         * lib/strerror.c: Include it.
20430         * modules/strerror (Files): Add lib/strerror-impl.h.
20431         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20432         (my_strerror): New function, defined through lib/strerror-impl.h.
20433         (perror): Use it instead of strerror.
20434         * modules/perror (Files): Add lib/strerror-impl.h.
20435         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20436
20437 2011-05-19  Eric Blake  <eblake@redhat.com>
20438
20439         strerror_r: fix on newer cygwin
20440         * lib/strerror_r.c (strerror_r): Cygwin now has
20441         __xpg_strerror_r, use it.
20442
20443 2011-05-19  Bruno Haible  <bruno@clisp.org>
20444
20445         strerror_r: Avoid clobbering the strerror buffer when possible.
20446         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20447         (sys_nerr, sys_errlist): New declarations.
20448         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20449         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20450         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20451
20452 2011-05-19  Bruno Haible  <bruno@clisp.org>
20453
20454         strerror_r: Fix test failure on mingw.
20455         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20456         EXTEND_STRERROR_R.
20457         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20458         macros from errno.in.h instead.
20459
20460 2011-05-19  Eric Blake  <eblake@redhat.com>
20461
20462         strerror: relax test for Solaris
20463         * tests/test-strerror.c (main): Permit Solaris behavior.
20464         * tests/test-strerror_r.c (main): Likewise.
20465
20466         strerror: enforce POSIX ruling on strerror(0)
20467         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20468         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20469         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20470         * doc/posix-functions/strerror.texi (strerror): Document it.
20471         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20472         * tests/test-strerror.c (main): Strengthen test.
20473         * tests/test-strerror_r.c (main): Likewise.
20474
20475 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20476
20477         intprop-tests: port to older and more-pedantic compilers
20478         * modules/intprops-tests (Files): Add tests/macros.h.
20479         * tests/test-intprops.c: Include macros.h.
20480         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20481         it's no longer documented to expand to an integer constant expression.
20482         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20483         argument is floating point, as it's no longer documented to expand
20484         to an integer constant expression in that case.
20485         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20486         compiler bugs reported by Bruno Haible.  See
20487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20488         (U0, U1): New constants, to work around the same bugs.  Also,
20489         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20490
20491         intprops: work around C compiler bugs
20492         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20493         bug in Sun C 5.11 2010/08/13 and other compilers; see
20494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20495
20496         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20497         * doc/intprops.texi (Integer Type Determination): Fix
20498         documentation for TYPE_IS_INTEGER: it returns an constant
20499         expression, not an integer constant expression.  Fix doc for
20500         TYPE_SIGNED: it returns an integer constant expression only if its
20501         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20502         hardly worth documented that way....)
20503
20504 2011-05-18  Bruno Haible  <bruno@clisp.org>
20505
20506         strerror_r: Avoid clobbering the strerror buffer when possible.
20507         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20508         Handle gnulib defined errno values here. When strerror() returns NULL
20509         or an empty string, return EINVAL.
20510         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20511         gnulib defined errno values here.
20512         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20513
20514 2011-05-18  Eric Blake  <eblake@redhat.com>
20515
20516         fnmatch: avoid compiler warning
20517         * lib/fnmatch_loop.c (FCT): Use correct type.
20518         Reported by Matthias Bolte.
20519
20520 2011-05-13  Jim Meyering  <meyering@redhat.com>
20521
20522         maint.mk: three new prohibit_<HDR>_without_use rules
20523         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20524         (sc_prohibit_stdio-safer_without_use): Likewise.
20525         (sc_prohibit_xfreopen_without_use): Likewise.
20526
20527 2011-05-17  Jim Meyering  <meyering@redhat.com>
20528
20529         announce-gen: fail if the NEWS delta is empty
20530         If there's nothing noteworthy in NEWS, then either you forgot
20531         or you shouldn't be releasing.
20532         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20533
20534 2011-05-17  Pádraig Brady <P@draigBrady.com>
20535
20536         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20537         reserved symbols starting with double underscore from the check.
20538
20539 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20540
20541         intprops: add doc
20542         * doc/intprops.texi: New file, documenting intprops.
20543         * doc/gnulib.texi (Particular Modules): Include it.
20544
20545         verify: add doc to gnulib manual and fix example
20546         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20547         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20548         (Compile-time Assertions): Fix example so it can't overflow.
20549
20550 2011-05-17  Jim Meyering  <meyering@redhat.com>
20551
20552         warnings.m4: don't usurp save_CPPFLAGS variable name
20553         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20554
20555         doc: fix typo
20556         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20557
20558 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20559             Bruno Haible  <bruno@clisp.org>
20560
20561         doc: Tweak recent change.
20562         * README (Portability guidelines): Tweak new text.
20563         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20564         Interix 6.1.
20565
20566 2011-05-16  Eric Blake  <eblake@redhat.com>
20567
20568         inttypes: avoid autoconf warning
20569         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20570         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20571
20572 2011-05-16  Sam Steingold <sds@gnu.org>
20573         and Eric Blake  <eblake@redhat.com>
20574
20575         vc-list-files: accept multiple directory operands
20576         * build-aux/vc-list-files: Iterate over all remaining operands.
20577
20578 2011-05-16  Bruno Haible  <bruno@clisp.org>
20579
20580         Fix confusion regarding deprecated modules.
20581         * modules/calloc (Status, Notice): Mark module as deprecated, not
20582         obsolete.
20583         * modules/fnmatch-posix (Status, Notice): Likewise.
20584         * modules/getdate (Status, Notice): Likewise.
20585         * modules/getopt (Status, Notice): Likewise.
20586         * modules/malloc (Status, Notice): Likewise.
20587         * modules/pipe (Status, Notice): Likewise.
20588         * modules/realloc (Status, Notice): Likewise.
20589         * modules/rename-dest-slash (Status, Notice): Likewise.
20590         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20591         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20592         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20593         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20594         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20595
20596 2011-05-16  Bruno Haible  <bruno@clisp.org>
20597
20598         doc: List the target platforms.
20599         * doc/gnulib-intro.texi (Target Platforms): New section.
20600         * doc/gnulib.texi (Introduction): Update menu.
20601         * README (Portability guidelines): Refer to the new section. Update
20602         statement about oldest supported environment. Remove rationale why
20603         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20604         unportable C89 function.
20605         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20606         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20607
20608 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20609
20610         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20611
20612 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20613
20614         intprops-tests: new module
20615         * modules/intprops-tests, tests/test-intprops.c: New files.
20616
20617         intprops: add safe, portable integer overflow checking
20618         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20619         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20620         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20621         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20622         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20623         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20624         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20625         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20626         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20627         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20628         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20629
20630 2011-05-12  James Youngman  <jay@gnu.org>
20631
20632         Add a test for glibc's Bugzilla bug #12378.
20633         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20634         doesn't allow the literal matching of a lone "[" (which is
20635         required by POSIX).
20636         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20637
20638 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20639
20640         Sync glibc change fixing Bugzilla bug #12378.
20641         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20642         beginning and fall back to matching as normal character if the
20643         string ends before the matching ']' is found.  This is what POSIX
20644         requires.
20645
20646 2011-05-13  Eric Blake  <eblake@redhat.com>
20647
20648         getcwd-lgpl: relax test for FreeBSD
20649         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20650         issue.
20651         * tests/test-getcwd-lgpl.c (main): Relax test.
20652         Reported by Matthias Bolte.
20653
20654 2011-05-11  Eric Blake  <eblake@redhat.com>
20655
20656         test-fflush: silence compiler warning
20657         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20658
20659 2011-05-11  Bruno Haible  <bruno@clisp.org>
20660
20661         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20662         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20663         * modules/canonicalize (Depends-on): Add 'nocrash'.
20664         * modules/canonicalize-lgpl (Depends-on): Likewise.
20665         * doc/posix-functions/realpath.texi: Update platforms list.
20666         Reported by Ryan Schmidt <ryandesign@macports.org>.
20667
20668 2011-05-11  Bruno Haible  <bruno@clisp.org>
20669
20670         group-member: Declare function in <unistd.h>.
20671         * lib/unistd.in.h (group_member): New declaration.
20672         * lib/group-member.h: Remove file.
20673         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20674         * tests/test-unistd-c++.cc: Check signature of group_member.
20675         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20676         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20677         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20678         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20679         HAVE_GROUP_MEMBER.
20680         * modules/group-member (Files): Remove lib/group-member.h.
20681         (Depends-on): Add unistd. Specify conditions.
20682         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20683         (Include): Change to <unistd.h>.
20684         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20685         HAVE_GROUP_MEMBER.
20686         * NEWS: Mention the change.
20687         * lib/euidaccess.c: Don't include group-member.h.
20688
20689 2011-05-11  Bruno Haible  <bruno@clisp.org>
20690
20691         group-member: Document module.
20692         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20693         module.
20694
20695 2011-05-11  Bruno Haible  <bruno@clisp.org>
20696
20697         fclose: Fix mistake earlier today.
20698         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20699
20700 2011-05-11  Eric Blake  <eblake@redhat.com>
20701
20702         fclose: preserve fflush errors
20703         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20704         Reported by Jim Meyering.
20705
20706         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20707         * build-aux/bootstrap (check_versions): When no specific version
20708         is required, merely check that the app produces an exit status
20709         that indicates its existence.
20710
20711         maint.mk: drop redundant check
20712         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20713         the same but better.
20714
20715 2011-05-11  Bruno Haible  <bruno@clisp.org>
20716
20717         fclose: Fix possible link error.
20718         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20719         unregister_shadow_fd. Improve comments.
20720         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20721         Eric Blake.
20722
20723 2011-05-11  Jim Meyering  <meyering@redhat.com>
20724
20725         maint.mk: improve "can not" detection and generalize rule name
20726         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20727         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20728         Use the same technique as in sc_prohibit_doubled_word, so that
20729         we recognize "can not" also when the words are separated by a newline.
20730         Suggested by Eric Blake.
20731         (perl_filename_lineno_text_): Define.  Factored out of...
20732         (prohibit_doubled_word_): ...here.  Use the new definition.
20733         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20734         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20735         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20736
20737 2011-05-10  Eric Blake  <eblake@redhat.com>
20738
20739         fclose: avoid double close race when possible
20740         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20741         all but WINDOWS_SOCKETS.
20742
20743 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20744
20745         openat: correct new comment
20746         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20747
20748 2011-05-10  Jim Meyering  <meyering@redhat.com>
20749
20750         openat: add comments
20751         * lib/openat-proc.c (openat_proc_name): Add comments,
20752         mostly from Eric Blake.
20753
20754 2011-05-09  Eric Blake  <eblake@redhat.com>
20755
20756         openat: reduce syscalls in first probe of /proc
20757         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20758         be a directory.  Simplify the probe for .. bugs.
20759         * modules/openat (Depends-on): Drop same-inode.
20760         Reported by Bastien ROUCARIES.
20761
20762 2011-05-09  Jim Meyering  <meyering@redhat.com>
20763
20764         maint.mk: change semantics/name of tight_scope variables
20765         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20766         Rename variables to align with semantics that make them more useful.
20767
20768         maint.mk: tweak new rule's name not to impinge
20769         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20770         (sc_tight_scope): Use new rule name rather than $@-0.
20771
20772         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20773         * top/maint.mk (sc_tight_scope): New rule.
20774         (sc_tight_scope-0): New rule, ifdef'd out.
20775         (_gl_TS_dir): Default.
20776         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20777         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20778
20779 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20780
20781         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20782         Haible <bruno@clisp.org>.
20783
20784 2011-05-08  Bruno Haible  <bruno@clisp.org>
20785
20786         Comments.
20787         * m4/isnanf.m4: Add comment.
20788         * m4/isnanl.m4: Likewise.
20789
20790 2011-05-08  Bruno Haible  <bruno@clisp.org>
20791
20792         glob: Remove obsolete macro.
20793         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20794
20795 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20796
20797         intprops: Sun C 5.11 supports __typeof__
20798         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20799         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20800         which is new.
20801         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20802
20803         intprops: switch to usual gnulib indenting and naming
20804         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20805         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20806
20807         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20808
20809 2011-05-08  Jim Meyering  <meyering@redhat.com>
20810
20811         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20812         * top/maint.mk (release-prep): Use make's --no-print-directory
20813         option when generating the announcement.  This eliminates the
20814         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20815         generated announcement template.
20816
20817 2011-05-08  Bruno Haible  <bruno@clisp.org>
20818
20819         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20820         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20821         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20822
20823 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20824
20825         ignore-value, verify: Omit include files from lib_SOURCES.
20826         * modules/ignore-value, modules/verify (Makefile.am):
20827         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20828         that leads Automake to duplicate use of am__objects_... variables
20829         in Makefile.in.  See
20830         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20831
20832 2011-05-07  Bruno Haible  <bruno@clisp.org>
20833
20834         fclose: Simplify autoconf macro.
20835         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20836         defined.
20837
20838 2011-05-07  Bruno Haible  <bruno@clisp.org>
20839
20840         canonicalize-lgpl: Fix autoconf macro ordering bug.
20841         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20842         gl_STDLIB_H_DEFAULTS.
20843
20844 2011-05-06  Eric Blake  <eblake@redhat.com>
20845
20846         maintainer-makefile: make sc_po_check easier to tune
20847         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20848         to probe for strings, such as an alternate location for gnulib.
20849
20850         fclose: guarantee behavior on seekable stdin
20851         * modules/fclose (Depends-on): Add fflush.
20852         * doc/posix-functions/fclose.texi (fclose): Document this.
20853         * tests/test-fclose.c (main): Make test for this unconditional.
20854
20855 2011-05-06  Bruno Haible  <bruno@clisp.org>
20856
20857         fflush, fpurge: Relicense under LGPLv2+.
20858         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20859         * modules/fpurge (License): Likewise.
20860         With permission from Eric Blake and Jim Meyering.
20861         Suggested by Eric Blake.
20862
20863 2011-05-06  Karl Berry  <karl@gnu.org>
20864
20865         * MODULES.html.sh (func_all_modules): remove exit.
20866
20867 2011-05-06  Jim Meyering  <meyering@redhat.com>
20868
20869         maint.mk: use info-gnu@ as the default only for a stable release
20870         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20871         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20872         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20873         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20874
20875 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20876
20877         assert-h: new module, which supports C1X-style static_assert
20878         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20879         * lib/verify.h: Revamp so that this can be copied into assert.h,
20880         while retaining the ability to use it standalone as before.
20881         Rename private identifiers so as not to encroach on the
20882         standard C namespace, since this is now used by assert.h.
20883         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20884         the old verify_true.
20885         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20886         the old verify_true.  Use _GL_VERIFY_TYPE.
20887         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20888         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20889         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20890         defined when this file is copied into the replacement assert.h.
20891         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20892         and _Static_assert is not built in.
20893         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20894         defined, and use the new macros mentioned above.
20895         * doc/posix-headers/assert.texi: Document this.
20896
20897 2011-05-05  Bruno Haible  <bruno@clisp.org>
20898
20899         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20900         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20901         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20902         gl_REPLACE_FCLOSE here.
20903         * modules/fflush (Depends-on): Remove fclose.
20904         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20905         combination with module 'fclose'.
20906
20907 2011-05-05  Bruno Haible  <bruno@clisp.org>
20908
20909         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20910         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20911         gl_FUNC_FFLUSH.
20912         (gl_FUNC_FFLUSH): Use it.
20913         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20914         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20915         gl_REPLACE_FSEEKO here.
20916
20917 2011-05-05  Bruno Haible  <bruno@clisp.org>
20918
20919         tzset: Relicense under LGPL.
20920         * modules/tzset (License): Change to LGPL.
20921         No agreement needed; it's a no-op.
20922
20923         strtoimax, strtoumax: Relicense under LGPL.
20924         * modules/strtoimax (License): Change to LGPL.
20925         * modules/strtoumax (License): Likewise.
20926         With permission from Jim Meyering, Paul Eggert:
20927         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20928         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20929
20930         getgroups: Relicense under LGPL.
20931         * modules/getgroups (License): Change to LGPL.
20932         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20934         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20935         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20936
20937         nanosleep: Relicense under LGPL.
20938         * modules/nanosleep (License): Change to LGPL.
20939         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20940         Haible:
20941         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20942         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20943         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20944         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20945
20946         futimens: Relicense under LGPL.
20947         * modules/futimens (License): Change to LGPL.
20948         With permission from Eric Blake:
20949         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20950
20951         fflush: Relicense under LGPL.
20952         * modules/fflush (License): Change to LGPL.
20953         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20954         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20955         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20956         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20957
20958         tmpfile: Relicense under LGPL.
20959         * modules/tmpfile (License): Change to LGPL.
20960         With permission from Ben Pfaff:
20961         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20962
20963         isfinite: Relicense under LGPL.
20964         * modules/isfinite (License): Change to LGPL.
20965         With permission from Ben Pfaff, Bruno Haible:
20966         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20967         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20968
20969         acosl..tanl: Relicense under LGPL.
20970         * modules/acosl (License): Change to LGPL.
20971         * modules/asinl (License): Likewise.
20972         * modules/atanl (License): Likewise.
20973         * modules/cosl (License): Likewise.
20974         * modules/expl (License): Likewise.
20975         * modules/logl (License): Likewise.
20976         * modules/sinl (License): Likewise.
20977         * modules/sqrtl (License): Likewise.
20978         * modules/tanl (License): Likewise.
20979         Source code originally from glibc and Paolo Bonzini. Agreements:
20980         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20981         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20982
20983 2011-05-05  Bruno Haible  <bruno@clisp.org>
20984
20985         signal: Define sighandler_t.
20986         * lib/signal.in.h (sighandler_t): New type.
20987         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20988         whether sighandler_t is defined.
20989         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20990         * modules/signal (Depends-on): Add extensions.
20991         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20992         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20993         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20994
20995 2011-05-05  Eric Blake  <eblake@redhat.com>
20996
20997         maint: remove useless REPLACE_*_H macros
20998         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20999         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21000         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21001         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21002         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21003         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21004         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21005         * m4/btowc.m4: Update callers.
21006         * m4/dirfd.m4: Likewise.
21007         * m4/duplocale.m4: Likewise.
21008         * m4/fchdir.m4: Likewise.
21009         * m4/fdopendir.m4: Likewise.
21010         * m4/inet_ntop.m4: Likewise.
21011         * m4/inet_pton.m4: Likewise.
21012         * m4/ioctl.m4: Likewise.
21013         * m4/mbrlen.m4: Likewise.
21014         * m4/mbrtowc.m4: Likewise.
21015         * m4/mbsinit.m4: Likewise.
21016         * m4/mbsnrtowcs.m4: Likewise.
21017         * m4/mbsrtowcs.m4: Likewise.
21018         * m4/poll.m4: Likewise.
21019         * m4/setlocale.m4: Likewise.
21020         * m4/wcrtomb.m4: Likewise.
21021         * m4/wcsnrtombs.m4: Likewise.
21022         * m4/wcsrtombs.m4: Likewise.
21023         * m4/wctob.m4: Likewise.
21024         * m4/wcwidth.m4: Likewise.
21025         * modules/posix_spawn: Likewise.
21026         * modules/posix_spawn_file_actions_addclose: Likewise.
21027         * modules/posix_spawn_file_actions_adddup2: Likewise.
21028         * modules/posix_spawn_file_actions_addopen: Likewise.
21029         * modules/posix_spawn_file_actions_destroy: Likewise.
21030         * modules/posix_spawn_file_actions_init: Likewise.
21031         * modules/posix_spawnattr_destroy: Likewise.
21032         * modules/posix_spawnattr_getflags: Likewise.
21033         * modules/posix_spawnattr_getpgroup: Likewise.
21034         * modules/posix_spawnattr_getschedparam: Likewise.
21035         * modules/posix_spawnattr_getschedpolicy: Likewise.
21036         * modules/posix_spawnattr_getsigdefault: Likewise.
21037         * modules/posix_spawnattr_getsigmask: Likewise.
21038         * modules/posix_spawnattr_init: Likewise.
21039         * modules/posix_spawnattr_setflags: Likewise.
21040         * modules/posix_spawnattr_setpgroup: Likewise.
21041         * modules/posix_spawnattr_setschedparam: Likewise.
21042         * modules/posix_spawnattr_setschedpolicy: Likewise.
21043         * modules/posix_spawnattr_setsigdefault: Likewise.
21044         * modules/posix_spawnattr_setsigmask: Likewise.
21045         * modules/posix_spawnp: Likewise.
21046
21047 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21048
21049         Add option to do-release-commit-and-tag to specify branch.
21050         * build-aux/do-release-commit-and-tag: Add --branch.
21051
21052 2011-05-03  Bruno Haible  <bruno@clisp.org>
21053
21054         Avoid unnecessary compilation units, through conditional dependencies.
21055         * modules/accept (Depends-on): Add conditions to the dependencies.
21056         * modules/acosl (Depends-on): Likewise.
21057         * modules/argz (Depends-on): Likewise.
21058         * modules/asinl (Depends-on): Likewise.
21059         * modules/atanl (Depends-on): Likewise.
21060         * modules/atoll (Depends-on): Likewise.
21061         * modules/bind (Depends-on): Likewise.
21062         * modules/btowc (Depends-on): Likewise.
21063         * modules/canonicalize-lgpl (Depends-on): Likewise.
21064         * modules/ceil (Depends-on): Likewise.
21065         * modules/ceilf (Depends-on): Likewise.
21066         * modules/ceill (Depends-on): Likewise.
21067         * modules/chdir-long (Depends-on): Likewise.
21068         * modules/chown (Depends-on): Likewise.
21069         * modules/close (Depends-on): Likewise.
21070         * modules/connect (Depends-on): Likewise.
21071         * modules/cosl (Depends-on): Likewise.
21072         * modules/dirfd (Depends-on): Likewise.
21073         * modules/dprintf (Depends-on): Likewise.
21074         * modules/dprintf-posix (Depends-on): Likewise.
21075         * modules/error (Depends-on): Likewise.
21076         * modules/euidaccess (Depends-on): Likewise.
21077         * modules/expl (Depends-on): Likewise.
21078         * modules/faccessat (Depends-on): Likewise.
21079         * modules/fchdir (Depends-on): Likewise.
21080         * modules/fclose (Depends-on): Likewise.
21081         * modules/fcntl (Depends-on): Likewise.
21082         * modules/fdopendir (Depends-on): Likewise.
21083         * modules/fflush (Depends-on): Likewise.
21084         * modules/floor (Depends-on): Likewise.
21085         * modules/floorf (Depends-on): Likewise.
21086         * modules/floorl (Depends-on): Likewise.
21087         * modules/fnmatch (Depends-on): Likewise.
21088         * modules/fopen (Depends-on): Likewise.
21089         * modules/fprintf-posix (Depends-on): Likewise.
21090         * modules/frexp (Depends-on): Likewise.
21091         * modules/frexp-nolibm (Depends-on): Likewise.
21092         * modules/frexpl (Depends-on): Likewise.
21093         * modules/frexpl-nolibm (Depends-on): Likewise.
21094         * modules/fseek (Depends-on): Likewise.
21095         * modules/fsusage (Depends-on): Likewise.
21096         * modules/ftell (Depends-on): Likewise.
21097         * modules/ftello (Depends-on): Likewise.
21098         * modules/futimens (Depends-on): Likewise.
21099         * modules/getcwd (Depends-on): Likewise.
21100         * modules/getcwd-lgpl (Depends-on): Likewise.
21101         * modules/getdelim (Depends-on): Likewise.
21102         * modules/getdomainname (Depends-on): Likewise.
21103         * modules/getgroups (Depends-on): Likewise.
21104         * modules/gethostname (Depends-on): Likewise.
21105         * modules/getline (Depends-on): Likewise.
21106         * modules/getlogin_r (Depends-on): Likewise.
21107         * modules/getopt-posix (Depends-on): Likewise.
21108         * modules/getpeername (Depends-on): Likewise.
21109         * modules/getsockname (Depends-on): Likewise.
21110         * modules/getsockopt (Depends-on): Likewise.
21111         * modules/getsubopt (Depends-on): Likewise.
21112         * modules/getusershell (Depends-on): Likewise.
21113         * modules/glob (Depends-on): Likewise.
21114         * modules/grantpt (Depends-on): Likewise.
21115         * modules/iconv_open (Depends-on): Likewise.
21116         * modules/iconv_open-utf (Depends-on): Likewise.
21117         * modules/inet_ntop (Depends-on): Likewise.
21118         * modules/inet_pton (Depends-on): Likewise.
21119         * modules/ioctl (Depends-on): Likewise.
21120         * modules/isapipe (Depends-on): Likewise.
21121         * modules/isfinite (Depends-on): Likewise.
21122         * modules/isinf (Depends-on): Likewise.
21123         * modules/lchown (Depends-on): Likewise.
21124         * modules/ldexpl (Depends-on): Likewise.
21125         * modules/link (Depends-on): Likewise.
21126         * modules/linkat (Depends-on): Likewise.
21127         * modules/listen (Depends-on): Likewise.
21128         * modules/logl (Depends-on): Likewise.
21129         * modules/lstat (Depends-on): Likewise.
21130         * modules/mbrlen (Depends-on): Likewise.
21131         * modules/mbrtowc (Depends-on): Likewise.
21132         * modules/mbsinit (Depends-on): Likewise.
21133         * modules/mbsnrtowcs (Depends-on): Likewise.
21134         * modules/mbsrtowcs (Depends-on): Likewise.
21135         * modules/mbtowc (Depends-on): Likewise.
21136         * modules/memcmp (Depends-on): Likewise.
21137         * modules/mkdir (Depends-on): Likewise.
21138         * modules/mkdtemp (Depends-on): Likewise.
21139         * modules/mkfifo (Depends-on): Likewise.
21140         * modules/mkfifoat (Depends-on): Likewise.
21141         * modules/mknod (Depends-on): Likewise.
21142         * modules/mkostemp (Depends-on): Likewise.
21143         * modules/mkostemps (Depends-on): Likewise.
21144         * modules/mkstemp (Depends-on): Likewise.
21145         * modules/mkstemps (Depends-on): Likewise.
21146         * modules/mktime (Depends-on): Likewise.
21147         * modules/nanosleep (Depends-on): Likewise.
21148         * modules/open (Depends-on): Likewise.
21149         * modules/openat (Depends-on): Likewise.
21150         * modules/perror (Depends-on): Likewise.
21151         * modules/poll (Depends-on): Likewise.
21152         * modules/popen (Depends-on): Likewise.
21153         * modules/posix_spawn (Depends-on): Likewise.
21154         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21155         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21156         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21157         * modules/posix_spawnp (Depends-on): Likewise.
21158         * modules/pread (Depends-on): Likewise.
21159         * modules/printf-posix (Depends-on): Likewise.
21160         * modules/ptsname (Depends-on): Likewise.
21161         * modules/putenv (Depends-on): Likewise.
21162         * modules/pwrite (Depends-on): Likewise.
21163         * modules/readline (Depends-on): Likewise.
21164         * modules/readlink (Depends-on): Likewise.
21165         * modules/readlinkat (Depends-on): Likewise.
21166         * modules/recv (Depends-on): Likewise.
21167         * modules/recvfrom (Depends-on): Likewise.
21168         * modules/regex (Depends-on): Likewise.
21169         * modules/remove (Depends-on): Likewise.
21170         * modules/rename (Depends-on): Likewise.
21171         * modules/renameat (Depends-on): Likewise.
21172         * modules/rmdir (Depends-on): Likewise.
21173         * modules/round (Depends-on): Likewise.
21174         * modules/roundf (Depends-on): Likewise.
21175         * modules/roundl (Depends-on): Likewise.
21176         * modules/rpmatch (Depends-on): Likewise.
21177         * modules/select (Depends-on): Likewise.
21178         * modules/send (Depends-on): Likewise.
21179         * modules/sendto (Depends-on): Likewise.
21180         * modules/setenv (Depends-on): Likewise.
21181         * modules/setlocale (Depends-on): Likewise.
21182         * modules/setsockopt (Depends-on): Likewise.
21183         * modules/shutdown (Depends-on): Likewise.
21184         * modules/sigaction (Depends-on): Likewise.
21185         * modules/signbit (Depends-on): Likewise.
21186         * modules/sigprocmask (Depends-on): Likewise.
21187         * modules/sinl (Depends-on): Likewise.
21188         * modules/sleep (Depends-on): Likewise.
21189         * modules/snprintf (Depends-on): Likewise.
21190         * modules/snprintf-posix (Depends-on): Likewise.
21191         * modules/socket (Depends-on): Likewise.
21192         * modules/sprintf-posix (Depends-on): Likewise.
21193         * modules/sqrtl (Depends-on): Likewise.
21194         * modules/stat (Depends-on): Likewise.
21195         * modules/strchrnul (Depends-on): Likewise.
21196         * modules/strdup-posix (Depends-on): Likewise.
21197         * modules/strerror (Depends-on): Likewise.
21198         * modules/strerror_r-posix (Depends-on): Likewise.
21199         * modules/strndup (Depends-on): Likewise.
21200         * modules/strnlen (Depends-on): Likewise.
21201         * modules/strptime (Depends-on): Likewise.
21202         * modules/strsep (Depends-on): Likewise.
21203         * modules/strsignal (Depends-on): Likewise.
21204         * modules/strstr-simple (Depends-on): Likewise.
21205         * modules/strtod (Depends-on): Likewise.
21206         * modules/strtoimax (Depends-on): Likewise.
21207         * modules/strtok_r (Depends-on): Likewise.
21208         * modules/strtoumax (Depends-on): Likewise.
21209         * modules/symlink (Depends-on): Likewise.
21210         * modules/symlinkat (Depends-on): Likewise.
21211         * modules/tanl (Depends-on): Likewise.
21212         * modules/tcgetsid (Depends-on): Likewise.
21213         * modules/tmpfile (Depends-on): Likewise.
21214         * modules/trunc (Depends-on): Likewise.
21215         * modules/truncf (Depends-on): Likewise.
21216         * modules/truncl (Depends-on): Likewise.
21217         * modules/uname (Depends-on): Likewise.
21218         * modules/unlink (Depends-on): Likewise.
21219         * modules/unlockpt (Depends-on): Likewise.
21220         * modules/unsetenv (Depends-on): Likewise.
21221         * modules/usleep (Depends-on): Likewise.
21222         * modules/utimensat (Depends-on): Likewise.
21223         * modules/vasprintf (Depends-on): Likewise.
21224         * modules/vdprintf (Depends-on): Likewise.
21225         * modules/vdprintf-posix (Depends-on): Likewise.
21226         * modules/vfprintf-posix (Depends-on): Likewise.
21227         * modules/vprintf-posix (Depends-on): Likewise.
21228         * modules/vsnprintf (Depends-on): Likewise.
21229         * modules/vsnprintf-posix (Depends-on): Likewise.
21230         * modules/vsprintf-posix (Depends-on): Likewise.
21231         * modules/wcrtomb (Depends-on): Likewise.
21232         * modules/wcscasecmp (Depends-on): Likewise.
21233         * modules/wcscspn (Depends-on): Likewise.
21234         * modules/wcsdup (Depends-on): Likewise.
21235         * modules/wcsncasecmp (Depends-on): Likewise.
21236         * modules/wcsnrtombs (Depends-on): Likewise.
21237         * modules/wcspbrk (Depends-on): Likewise.
21238         * modules/wcsrtombs (Depends-on): Likewise.
21239         * modules/wcsspn (Depends-on): Likewise.
21240         * modules/wcsstr (Depends-on): Likewise.
21241         * modules/wcstok (Depends-on): Likewise.
21242         * modules/wcswidth (Depends-on): Likewise.
21243         * modules/wctob (Depends-on): Likewise.
21244         * modules/wctomb (Depends-on): Likewise.
21245         * modules/wctype (Depends-on): Likewise.
21246         * modules/wcwidth (Depends-on): Likewise.
21247         * modules/write (Depends-on): Likewise.
21248
21249 2011-05-03  Bruno Haible  <bruno@clisp.org>
21250
21251         Support for conditional dependencies.
21252         * doc/gnulib.texi (Module description): Document the syntax of
21253         conditional dependencies.
21254         * gnulib-tool: New option --conditional-dependencies.
21255         (func_usage): Document it.
21256         (cond_dependencies): New variable.
21257         (func_get_automake_snippet_conditional,
21258         func_get_automake_snippet_unconditional): New functions, extracted from
21259         func_get_automake_snippet.
21260         (func_get_automake_snippet): Use them.
21261         (sed_first_32_chars): New variable.
21262         (func_module_shellfunc_name): New function.
21263         (func_module_shellvar_name): New function.
21264         (func_module_conditional_name): New function.
21265         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21266         func_cond_module_condition): New functions.
21267         (func_modules_transitive_closure): Add support for conditional
21268         dependencies.
21269         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21270         conditional automake snippet in an automake conditional.
21271         (func_emit_autoconf_snippets): Emit shell functions that contain the
21272         code for conditional modules.
21273         (func_import, func_create_testdir): Update specification.
21274
21275 2011-05-03  Eric Blake  <eblake@redhat.com>
21276
21277         test-getaddrinfo: report error information
21278         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21279
21280 2011-05-03  Jim Meyering  <meyering@redhat.com>
21281
21282         bootstrap: avoid build failure when $GZIP is set
21283         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21284         program name.  If defined at all, it is supposed to list gzip options.
21285         Reported by Alan Curry in http://debbugs.gnu.org/8609
21286
21287 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21288
21289         readme-release: new module with release instructions
21290         * modules/readme-release: New module.
21291         * top/README-release: New file, from coreutils, grep, diffutils.
21292         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21293
21294 2011-05-02  Eric Blake  <eblake@redhat.com>
21295
21296         fflush: also replace fclose when fixing fflush
21297         * modules/fflush (Depends-on): Add fclose.
21298         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21299         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21300         memstreams with no backing fd.
21301         * doc/posix-functions/fclose.texi (fclose): Document the use of
21302         fflush module to fix the bug.
21303         * tests/test-fclose.c (main): Relax test when fclose is used in
21304         isolation.
21305
21306         fclose: add some tests
21307         * modules/fclose-tests: New test module.
21308         * tests/test-fclose.c: New file.
21309         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21310
21311         fclose: reduced dependencies
21312         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21313         simpler lseek.
21314         * lib/fclose.c (rpl_fclose): Likewise.
21315         Reported by Simon Josefsson.
21316
21317         exit: drop remaining clients
21318         * modules/argmatch (Depends-on): Replace exit with stdlib.
21319         * modules/copy-file (Depends-on): Likewise.
21320         * modules/execute (Depends-on): Likewise.
21321         * modules/exitfail (Depends-on): Likewise.
21322         * modules/obstack (Depends-on): Likewise.
21323         * modules/pagealign_alloc (Depends-on): Likewise.
21324         * modules/pipe-filter-gi (Depends-on): Likewise.
21325         * modules/pipe-filter-ii (Depends-on): Likewise.
21326         * modules/savewd (Depends-on): Likewise.
21327         * modules/spawn-pipe (Depends-on): Likewise.
21328         * modules/wait-process (Depends-on): Likewise.
21329         * modules/xsetenv (Depends-on): Likewise.
21330         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21331         * modules/git-merge-changelog (Depends-on): Likewise.
21332         * modules/long-options (Depends-on): Likewise.
21333         * modules/pt_chown (Depends-on): Likewise.
21334         * modules/sysexits (Depends-on): Likewise.
21335
21336         freading: relax license from LGPLv3+ to LGPLv2+
21337         * modules/freading (License): Relax LGPL version.
21338
21339 2011-05-02  Bruno Haible  <bruno@clisp.org>
21340
21341         fchdir: Remove unused dependencies.
21342         * modules/fchdir (Depends-on): Remove include_next.
21343
21344 2011-05-02  Bruno Haible  <bruno@clisp.org>
21345
21346         gnulib-tool: Refactor.
21347         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21348         from func_emit_autoconf_snippets.
21349         (func_emit_autoconf_snippets): Use it.
21350
21351 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21352
21353         * NEWS: Document removal of 'exit'.
21354         * modules/exit: Remove file.
21355
21356 2011-05-01  Bruno Haible  <bruno@clisp.org>
21357
21358         Update DEPENDENCIES.
21359         * DEPENDENCIES (gettext): Recommend the newest release.
21360         Reported by Simon Josefsson.
21361
21362 2011-05-01  Bruno Haible  <bruno@clisp.org>
21363
21364         gnulib-tool: Reduce code duplication.
21365         * gnulib-tool (func_emit_autoconf_snippets): New function.
21366         (func_import, func_create_testdir): Use it.
21367
21368 2011-04-30  Eric Blake  <eblake@redhat.com>
21369
21370         fclose: don't fail on non-seekable input stream
21371         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21372         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21373         since fflush is allowed to fail in that case.
21374
21375 2011-04-30  Bruno Haible  <bruno@clisp.org>
21376
21377         dup3: cleanup
21378         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21379
21380 2011-04-30  Bruno Haible  <bruno@clisp.org>
21381
21382         netdb: Make it work in C++ mode.
21383         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21384         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21385         module.
21386         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21387         gl_MODULE_INDICATOR_FOR_TESTS.
21388         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21389         * modules/netdb-c++-tests: New file.
21390         * tests/test-netdb-c++.cc: New file.
21391
21392 2011-04-30  Bruno Haible  <bruno@clisp.org>
21393
21394         New modules 'vfscanf', 'vscanf'.
21395         * modules/vfscanf: New file.
21396         * modules/vscanf: New file.
21397         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21398         here.
21399         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21400         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21401
21402 2011-04-30  Bruno Haible  <bruno@clisp.org>
21403
21404         passfd: Add comments.
21405         * lib/passfd.c: Add comments about platforms.
21406
21407 2011-04-30  Bruno Haible  <bruno@clisp.org>
21408
21409         sys_uio: Make <sys/uio.h> self-contained.
21410         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21411         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21412
21413 2011-04-30  Bruno Haible  <bruno@clisp.org>
21414
21415         sys_socket: Ensure 'struct iovec' definition.
21416         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21417         <sys/socket.h>.
21418         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21419
21420 2011-04-30  Bruno Haible  <bruno@clisp.org>
21421
21422         sys_uio: Protect definition of 'struct iovec'.
21423         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21424         it as a C struct.
21425
21426 2011-04-30  Bruno Haible  <bruno@clisp.org>
21427
21428         manywarnings: fix indentation
21429         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21430
21431 2011-04-30  Pádraig Brady <P@draigBrady.com>
21432
21433         manywarnings: add -Wno-missing-field-initializers if needed.
21434         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21435         option if it's needed to allow initialization with { 0, }
21436
21437 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21438
21439         announce-gen: cosmetic improvement
21440         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21441
21442 2011-04-29  Jim Meyering  <meyering@redhat.com>
21443
21444         vc-list-files: indent with spaces, not TABs
21445         * build-aux/vc-list-files: Convert leading TABs to spaces,
21446         to match the style of most other files in gnulib.
21447
21448         announce-gen: indent with spaces, not TABs
21449         * build-aux/announce-gen: Convert all TABs to spaces, to match
21450         the style of most other files in gnulib.
21451
21452 2011-04-29  Eric Blake  <eblake@redhat.com>
21453
21454         quotearg: avoid uninitialized variable use
21455         * lib/quotearg.c (quoting_options_from_style): Initialize
21456         remaining fields, and ensure that custom styles are only used via
21457         quoting_options rather than quoting_style.
21458
21459 2011-04-29  Jim Meyering  <meyering@redhat.com>
21460
21461         maint.mk: remove unused VC-tag variable
21462         * top/maint.mk (VC-tag): Remove unused variable.
21463
21464 2011-04-29  Bruno Haible  <bruno@clisp.org>
21465
21466         netdb: fix gai_strerror replacements
21467         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21468         * modules/netdb: Substitute it.
21469
21470 2011-04-29  Jim Meyering  <meyering@redhat.com>
21471
21472         test-getcwd.c: avoid new set-but-not-used warning
21473         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21474         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21475         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21476         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21477
21478         test-hash.c: avoid a new shadowing warning
21479         * tests/test-hash.c (main): Don't shadow "dup".
21480
21481 2011-04-28  Eric Blake  <eblake@redhat.com>
21482
21483         getaddrinfo: fix gai_strerror signature
21484         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21485         and work around mingw with UNICODE defined.
21486         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21487         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21488         * modules/netdb (Makefile.am): Substitute it.
21489         * lib/netdb.in.h (gai_strerror): Declare replacement.
21490         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21491         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21492         the fix.
21493
21494         getsockopt: avoid compiler warning
21495         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21496         Reported by Matthias Bolte.
21497
21498         tests: drop unused link dependency
21499         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21500         * modules/dirent-safer-tests (Makefile.am): Likewise.
21501         * modules/fdopendir-tests (Makefile.am): Likewise.
21502         * modules/mkfifoat-tests (Makefile.am): Likewise.
21503         * modules/openat-safer-tests (Makefile.am): Likewise.
21504         * modules/openat-tests (Makefile.am): Likewise.
21505         * modules/readlinkat-tests (Makefile.am): Likewise.
21506         * modules/symlinkat-tests (Makefile.am): Likewise.
21507         * modules/linkat-tests (Makefile.am): Likewise.
21508         (Depends-on): Switch to filenamecat-lgpl.
21509         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21510         LIBINTL.
21511         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21512         * tests/test-linkat.c (main): Don't require xalloc.
21513
21514         hash, mgetgroups: drop xalloc dependency
21515         * lib/hash.c (includes): Adjust includes.
21516         * lib/mgetgroups.c (includes): Likewise.
21517         (xgetgroups): Move...
21518         * lib/xgetgroups.c: ...to new file.
21519         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21520         * modules/xgetgroups: New file, split from...
21521         * modules/mgetgroups: ...here.
21522         (Depends-on): Add xalloc-oversized.
21523         * modules/hash (Depends-on): Likewise.
21524         * modules/hash-tests (Depends-on): Drop xalloc.
21525         (test_hash_LDADD): Drop unused library.
21526         * tests/test-hash.c (main): Break xalloc dependency.
21527         (includes): Drop unused include.
21528
21529         xalloc-oversized: new module
21530         * modules/xalloc-oversized: New module.
21531         * modules/xalloc (Depends-on): Add it.
21532         * lib/xalloc.h (xalloc_oversized): Move...
21533         * lib/xalloc-oversized.h: ...into new file.
21534
21535         utimecmp: drop dependency on xmalloc
21536         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21537         due to memory pressure.
21538         * modules/utimecmp (Depends-on): Drop xalloc.
21539
21540 2011-04-27  Eric Blake  <eblake@redhat.com>
21541
21542         getcwd: fix mingw bugs
21543         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21544         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21545         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21546
21547 2011-04-27  Bruno Haible  <bruno@clisp.org>
21548
21549         mkstemps: Ensure declaration on MacOS X 10.5.
21550         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21551         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21552         MacOS X.
21553
21554 2011-04-27  Bruno Haible  <bruno@clisp.org>
21555
21556         mkstemp: More documentation.
21557         * doc/posix-functions/mkstemp.texi: Document header file problem on
21558         MacOS X.
21559
21560 2011-04-27  Bruno Haible  <bruno@clisp.org>
21561
21562         mkstemp: Tweak configure message when cross-compiling.
21563         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21564         result as a guess.
21565
21566 2011-04-27  Bruno Haible  <bruno@clisp.org>
21567
21568         clean-temp: Clarify what it does.
21569         * lib/clean-temp.h: Add more comments.
21570         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21571         module.
21572         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21573         * doc/glibc-functions/mkstemps.texi: Likewise.
21574         * doc/glibc-functions/mkostemps.texi: Likewise.
21575
21576 2011-04-27  Eric Blake  <eblake@redhat.com>
21577
21578         fchdir: avoid extra chdir and fix test
21579         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21580         getcwd-lgpl.
21581         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21582         have to be canonical.
21583         (canonicalize_file_name): Drop unused macro.
21584         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21585
21586         filenamecat-lgpl: fix licence
21587         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21588         when it was first created.
21589
21590         linkat, renameat: add missing dependency
21591         * modules/linkat (Depends-on): Require getcwd-lgpl.
21592         * modules/renameat (Depends-on): Likewise.
21593
21594         tests: reduce dependencies
21595         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21596         * tests/test-renameat.c (main): Likewise.
21597         * modules/linkat-tests (Depends-on): Relax dependency.
21598         * modules/renameat-tests (Depends-on): Likewise.
21599         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21600         dependency explicit.
21601
21602         save-cwd: reduce default dependency
21603         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21604         * lib/save-cwd.c: Update comments.
21605         * NEWS: Document the semantic change.
21606
21607         getcwd: enhance tests
21608         * tests/test-getcwd-lgpl.c: New file, taken from...
21609         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21610         repeat long path stress tests from m4 probe.
21611         * modules/getcwd-lgpl-tests: New module.
21612         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21613         * m4/getcwd-abort-bug.m4: Update comment.
21614         * m4/getcwd-path-max.m4: Likewise.
21615
21616         getcwd-lgpl: new module
21617         * modules/getcwd-lgpl: New module.
21618         * lib/getcwd-lgpl.c: New file.
21619         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21620         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21621         * modules/getcwd (configure.ac): Set C witness.
21622         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21623
21624         getcwd: tweak comments
21625         * m4/getcwd-abort-bug.m4: Fix comments.
21626         * m4/getcwd-path-max.m4: Likewise.
21627         * m4/getcwd.m4: Likewise.
21628
21629 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21630         and Eric Blake  <eblake@redhat.com>
21631
21632         mkstemp: replace if system version uses wrong permissions
21633         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21634         read/write mode bits set in file created by mkstemp.
21635         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21636
21637 2011-04-27  Eric Blake  <eblake@redhat.com>
21638
21639         passfd: avoid compiler warning
21640         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21641         Reported by Laine Stump.
21642
21643 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21644
21645         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21646         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21647
21648 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21649         and Eric Blake  <eblake@redhat.com>
21650
21651         mkstemp: mention clean-temp module
21652         * lib/mkstemp.c: Add comment.
21653         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21654
21655 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21656
21657         inttypes: also provide default values for 32-bit tests
21658         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21659         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21660
21661 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21662
21663         strtoumax: remove dependency on strtoimax
21664         This is like the strtoull change of yesterday.
21665         * modules/strtoumax (Files): Add lib/strtoimax.c.
21666         (Depends-on): Remove strtoimax and add verify.
21667
21668         inttypes-incomplete: new module
21669         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21670         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21671         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21672         of gl_INTTYPES_H.
21673         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21674         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21675         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21676         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21677         * modules/strtoumax, modules/xstrtol (Depends-on):
21678         Depend on inttypes-incomplete, not inttypes.
21679         * modules/inttypes-incomplete: New module, containing the contents
21680         of the old modules/inttypes module, except that the Files: section
21681         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21682         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21683         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21684         (Depends-on): Depend only on inttypes-incomplete.
21685         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21686
21687         inttypes: omit now-redundant strtoimax and strtoumax work
21688         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21689         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21690
21691         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21692         This supports apps that need pointers to strtoimax and strtoumax,
21693         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21694         nonexistent functions.  See
21695         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21696         et seq.
21697         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21698         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21699         a macro.
21700         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21701
21702 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21703
21704         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21705
21706 2011-04-25  Bruno Haible  <bruno@clisp.org>
21707
21708         strtol, strtoul: Mark modules as obsolete.
21709         * modules/strtol (Status, Notice): New sections.
21710         * modules/strtoul (Status, Notice): New sections.
21711
21712 2011-04-25  Bruno Haible  <bruno@clisp.org>
21713
21714         strtod: Remove check for strtod, unless supporting old platforms.
21715         * modules/strtod-obsolete: New file.
21716         * m4/strtod-obsolete.m4: New file.
21717         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21718         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21719         * modules/strtod (Depends-on): Add strtod-obsolete.
21720         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21721
21722 2011-04-25  Bruno Haible  <bruno@clisp.org>
21723
21724         strcase: Make module obsolete.
21725         * modules/strcase (Status, Notice): New sections.
21726
21727 2011-04-25  Bruno Haible  <bruno@clisp.org>
21728
21729         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21730         * modules/dup2-obsolete: New file.
21731         * m4/dup2-obsolete.m4: New file.
21732         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21733         gl_FUNC_DUP2_OBSOLETE is not also defined.
21734         * modules/dup2 (Depends-on): Add dup2-obsolete.
21735         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21736
21737 2011-04-25  Bruno Haible  <bruno@clisp.org>
21738
21739         strnlen: Avoid memchr related link error on old obsolete platforms.
21740         * modules/memchr-obsolete: New file.
21741         * m4/memchr-obsolete.m4: New file.
21742         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21743         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21744         * modules/memchr (Depends-on): Add memchr-obsolete.
21745         * modules/strnlen (Depends-on): Likewise.
21746         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21747
21748 2011-04-25  Jim Meyering  <meyering@redhat.com>
21749
21750         maint.mk: makefile_at_at_check extend and clean up
21751         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21752         in addition to */Makefile.am.
21753         Exempt legitimate uses of @VAR@ notation, e.g.,
21754         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21755         Remove obsolete coreutils-specific comment.
21756         Prompted by discussion here:
21757         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21758
21759 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21760
21761         strtoul: remove dependency on strtol
21762         This is so that 'configure' need not check for strtol merely because
21763         the application needs strtoul.
21764         * modules/strtoul (Files): Add lib/strtol.c.
21765         (Depends-on): Remove strtol.
21766
21767         strtoull: remove dependency on strtoul
21768         This is like the strtoll change.
21769         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21770         (Depends-on): Remove strtoul.
21771
21772         strtoll: remove dependency on strtol
21773         This is so that 'configure' need not check for strtol merely because
21774         the application needs strtoll.
21775         * modules/strtoll (Files): Add lib/strtol.c.
21776         (Depends-on): Remove strtol.
21777
21778 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21779
21780         inttypes: Move some configure check to module 'imaxdiv'.
21781         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21782         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21783         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21784
21785 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21786
21787         inttypes: Move some configure check to module 'imaxabs'.
21788         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21789         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21790         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21791
21792 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21793
21794         inttypes: Remove configure tests that are not needed since 2009-12-31.
21795         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21796         gl_cv_header_working_inttypes_h.
21797
21798 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21799
21800         * modules/strnlen (Depends-on): Remove memchr.
21801         The strnlen implementation doesn't need the memchr module's fixes; see
21802         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21803
21804         strtol: remove dependency on wchar
21805         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21806         * modules/strtol (Depends-on): Remove wchar.
21807
21808 2011-04-21  Eric Blake  <eblake@redhat.com>
21809
21810         passfd: fix test regression on Linux
21811         * modules/passfd-tests (configure.ac): Correct socketpair check.
21812
21813         passfd: speed up configure and drop unused code
21814         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21815         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21816         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21817         Instead of probing at configure for unix_scm_rights_bsd44_way,
21818         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21819         check to a struct member probe.
21820         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21821         (sendfd, recvfd): Update preprocessor checks.
21822         * modules/passfd (Files): Reflect rename, and drop unused file.
21823         (Depends-on): Drop unused dependency.
21824
21825         passfd: allow compilation on mingw
21826         * modules/sys_socket (Depends-on): Add sys_uio.
21827         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21828         iovec and a minimal struct msghdr.
21829         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21830         * tests/test-sys_socket.c (main): Enhance test.
21831         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21832         guaranteed to provide what we need.
21833         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21834         * modules/passfd-tests (Depends-on): Add sys_wait.
21835         * tests/test-passfd.c (main): Skip test on mingw, for now.
21836         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21837         partial 'struct msghdr' implementation.
21838
21839         sys_uio: new module
21840         * modules/sys_uio: New module.
21841         * modules/sys_uio-tests: Likewise.
21842         * lib/sys_uio.in.h: New file.
21843         * m4/sys_uio_h.m4: Likewise.
21844         * tests/test-sys_uio.c: Likewise.
21845         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21846         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21847
21848 2011-04-20  Jim Meyering  <meyering@redhat.com>
21849
21850         useless-if-before-free: avoid false-positive
21851         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21852         disjunct so that it too requires a terminating ";".  Without that,
21853         this script would identify as useless one statement from gcc that
21854         was not:
21855           if (aligned_ptr)
21856             free (((void **) aligned_ptr) [-1]);
21857
21858 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21859
21860         doc: update users.txt.
21861         * users.txt: Add barcode.
21862
21863 2011-04-19  Bruno Haible  <bruno@clisp.org>
21864
21865         ioctl: Remove link dependency on native Windows.
21866         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21867         (gl_close_fn, gl_ioctl_fn): New types.
21868         (struct fd_hook): Renamed from struct close_hook. Change type of
21869         private_close_fn field. Add private_ioctl_fn field.
21870         (close_hook_fn): Add parameter for primary close method.
21871         (execute_close_hooks, execute_all_close_hooks): Likewise.
21872         (ioctl_hook_fn): New type.
21873         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21874         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21875         argument.
21876         (unregister_fd_hook): Renamed from unregister_close_hook.
21877         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21878         Don't include <unistd.h>.
21879         (close): Remove undef.
21880         (anchor): Update.
21881         (execute_close_hooks): Add argument for primary close method.
21882         (execute_all_close_hooks): Likewise.
21883         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21884         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21885         argument. Allow each argument to be NULL.
21886         (unregister_fd_hook): Renamed from unregister_close_hook.
21887         * lib/close.c (rpl_close): Pass 'close' function pointer to
21888         execute_all_close_hooks.
21889         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21890         (primary_ioctl): New function.
21891         (ioctl): Don't call ioctlsocket here. Instead, call
21892         execute_all_ioctl_hooks.
21893         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21894         close method.
21895         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21896         (fd_sockets_hook): Renamed from close_sockets_hook.
21897         (gl_sockets_startup, gl_sockets_cleanup): Update.
21898         * modules/fd-hook: Renamed from modules/close-hook. Update.
21899         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21900         * modules/sockets (Depends-on): Likewise.
21901         * modules/ioctl (Depends-on): Add fd-hook.
21902         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21903         GNULIB_SOCKET.
21904
21905 2011-04-19  Bruno Haible  <bruno@clisp.org>
21906
21907         Move the support of O_NONBLOCK in open() to the 'open' module.
21908         * modules/nonblocking (Depends-on): Remove 'open'.
21909         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21910         gl_cv_have_open_O_NONBLOCK.
21911         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21912         O_NONBLOCK support.
21913         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21914
21915 2011-04-17  Bruno Haible  <bruno@clisp.org>
21916
21917         pipe2: Simplify code.
21918         * lib/pipe2.c (pipe2): Reduce code duplication.
21919
21920 2011-04-17  Bruno Haible  <bruno@clisp.org>
21921
21922         nonblocking: Add comment.
21923         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21924
21925 2011-04-17  Bruno Haible  <bruno@clisp.org>
21926
21927         nonblocking: Add tests for sockets.
21928         * tests/test-nonblocking-socket.sh: New file.
21929         * tests/test-nonblocking-socket-main.c: New file.
21930         * tests/test-nonblocking-socket-child.c: New file.
21931         * tests/test-nonblocking-socket.h: New file.
21932         * tests/socket-server.h: New file.
21933         * tests/socket-client.h: New file.
21934         * modules/nonblocking-socket-tests: New file.
21935         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21936
21937 2011-04-17  Bruno Haible  <bruno@clisp.org>
21938
21939         nonblocking: Add tests for pipes.
21940         * tests/test-nonblocking-pipe.sh: New file.
21941         * tests/test-nonblocking-pipe-main.c: New file.
21942         * tests/test-nonblocking-pipe-child.c: New file.
21943         * tests/test-nonblocking-pipe.h: New file.
21944         * tests/test-nonblocking-writer.h: New file.
21945         * tests/test-nonblocking-reader.h: New file.
21946         * tests/test-nonblocking-misc.h: New file.
21947         * modules/nonblocking-pipe-tests: New file.
21948         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21949
21950 2011-04-16  Bruno Haible  <bruno@clisp.org>
21951
21952         gettext: Clarify the needed programmer actions.
21953         * modules/gettext (Notice): New field.
21954         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21955
21956 2011-04-16  Bruno Haible  <bruno@clisp.org>
21957
21958         strchrnul: Tweak last commit.
21959         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21960         bug.
21961         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21962         as in _GL_FUNCDECL_SYS.
21963         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21964         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21965
21966 2011-04-15  Eric Blake  <eblake@redhat.com>
21967
21968         strchrnul: work around cygwin bug
21969         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21970         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21971         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21972         * modules/string (Makefile.am): Substitute it.
21973         * lib/string.in.h (strchrnul): Use it.
21974
21975 2011-04-15  Bruno Haible  <bruno@clisp.org>
21976
21977         Don't require lib/stdio-write.c when only module 'stdio' is used.
21978         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21979         invocation.
21980         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21981
21982 2011-04-14  Bruno Haible  <bruno@clisp.org>
21983
21984         Support non-blocking pipe I/O in read() on native Windows.
21985         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21986         (read): New declaration.
21987         * lib/read.c: New file.
21988         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21989         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21990         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21991         vscanf): New declarations.
21992         * lib/stdio-read.c: New file.
21993         * m4/read.m4: New file.
21994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21995         REPLACE_READ.
21996         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21997         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21998         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21999         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22000         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22001         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22002         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22003         * modules/read: New file.
22004         * modules/nonblocking (Files): Add lib/stdio-read.c.
22005         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22006         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22007         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22008         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22009         * modules/pread (Depends-on): Add read.
22010         * modules/safe-read (Depends-on): Likewise.
22011         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22012         gets, scanf, vfscanf, vscanf): Verify signatures.
22013         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22014         problem with non-blocking pipes.
22015         * doc/posix-functions/fgetc.texi: Likewise.
22016         * doc/posix-functions/fgets.texi: Likewise.
22017         * doc/posix-functions/fread.texi: Likewise.
22018         * doc/posix-functions/fscanf.texi: Likewise.
22019         * doc/posix-functions/getc.texi: Likewise.
22020         * doc/posix-functions/getchar.texi: Likewise.
22021         * doc/posix-functions/gets.texi: Likewise.
22022         * doc/posix-functions/scanf.texi: Likewise.
22023         * doc/posix-functions/vfscanf.texi: Likewise.
22024         * doc/posix-functions/vscanf.texi: Likewise.
22025
22026 2011-04-14  Bruno Haible  <bruno@clisp.org>
22027
22028         Support non-blocking pipe I/O in write() on native Windows.
22029         * lib/write.c (rpl_write): Split a write request that failed merely
22030         because the byte count was larger than the pipe buffer's size.
22031         * doc/posix-functions/write.texi: Mention the problem with large byte
22032         counts.
22033
22034 2011-04-14  Bruno Haible  <bruno@clisp.org>
22035
22036         wchar: Ensure that wchar_t gets defined on uClibc.
22037         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22038         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22039
22040 2011-04-13  Bruno Haible  <bruno@clisp.org>
22041
22042         safe-write, full-read: Avoid unnecessary compilation units.
22043         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22044         (Depends-on): Remove safe-read. Add ssize_t.
22045         * modules/full-read (Files): Add lib/full-write.c.
22046         (Depends-on): Add full-write.
22047
22048 2011-04-13  Bruno Haible  <bruno@clisp.org>
22049
22050         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22051         * modules/pwrite (Depends-on): Add 'write'.
22052
22053 2011-04-13  Bruno Haible  <bruno@clisp.org>
22054
22055         Support non-blocking pipe I/O in write() on native Windows.
22056         * lib/unistd.in.h (write): Enable replacement also if
22057         GNULIB_UNISTD_H_NONBLOCKING is 1.
22058         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22059         (rpl_write): When failing to write on a non-blocking pipe, change
22060         errno from ENOSPC to EAGAIN.
22061         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22062         putchar, puts, vfprintf, vprintf): Enable replacement also if
22063         GNULIB_STDIO_H_NONBLOCKING is 1.
22064         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22065         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22066         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22067         CALL_WITH_SIGPIPE_EMULATION.
22068         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22069         * m4/nonblocking.m4: New file.
22070         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22071         for non-blocking I/O support.
22072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22073         GNULIB_UNISTD_H_NONBLOCKING.
22074         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22075         required for non-blocking I/O support.
22076         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22077         * modules/nonblocking (Files): Add m4/nonblocking.m4,
22078         lib/stdio-write.c, m4/asm-underscore.m4.
22079         (Depends-on): Add stdio, unistd.
22080         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
22081         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
22082         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22083         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22084         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22085         problem with non-blocking pipes.
22086         * doc/posix-functions/fputc.texi: Likewise.
22087         * doc/posix-functions/fputs.texi: Likewise.
22088         * doc/posix-functions/fwrite.texi: Likewise.
22089         * doc/posix-functions/printf.texi: Likewise.
22090         * doc/posix-functions/putc.texi: Likewise.
22091         * doc/posix-functions/putchar.texi: Likewise.
22092         * doc/posix-functions/puts.texi: Likewise.
22093         * doc/posix-functions/vfprintf.texi: Likewise.
22094         * doc/posix-functions/vprintf.texi: Likewise.
22095         * doc/posix-functions/write.texi: Likewise.
22096
22097 2011-04-10  Jim Meyering  <meyering@redhat.com>
22098
22099         maint.mk: prohibit doubled words
22100         Detect them also when they're separated by a newline.
22101         There are 3 ways to customize it:
22102           - disable the test on a per file basis, as usual with rules using
22103             $(VC_LIST_EXCEPT)
22104           - replace the default doubled-word-selecting regexp (affects all files)
22105           - ignore a particular file-vs-doubled-word match
22106         I nearly used that last one to ignore the "is is" match in
22107         coreutils' NEWS file, since the text was "ls -is is ..."
22108         To do that, I would have added this line to cfg.mk:
22109           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22110         but it would have ignored any "is is" match in NEWS.
22111         Low probability, but still...
22112         Instead, I changed the text, slightly:
22113           -  ls -is is now consistent with ls -lis in ignoring values returned
22114           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22115         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22116         (prohibit_doubled_word_): Define.
22117         (sc_prohibit_doubled_word): New rule.
22118         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22119
22120 2011-04-10  Jim Meyering  <meyering@redhat.com>
22121
22122         maint: fix doubled-word typo in comment
22123         * m4/gethostname.m4: s/is is/it is/
22124         * m4/getdomainname.m4: Likewise.
22125
22126 2011-04-10  Jim Meyering  <meyering@redhat.com>
22127
22128         maint: remove doubled word: s/it it/it/
22129         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22130
22131 2011-04-10  Jim Meyering  <meyering@redhat.com>
22132
22133         maint.mk: remove useless semicolon and backslash
22134         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22135         semicolon and backslash.
22136
22137 2011-04-10  Bruno Haible  <bruno@clisp.org>
22138
22139         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22140         * modules/stdint-tests (Depends-on): Add wchar.
22141
22142 2011-04-10  Jim Meyering  <meyering@redhat.com>
22143
22144         maint: remove doubled words in comments, e.g., s/a a/a/
22145         * lib/strptime.c (day_of_the_week): s/the the/the/
22146         * tests/test-chown.h (test_chown): s/a a/a/
22147
22148         test-chown.h: correct a cast
22149         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22150         when the destination is a stat.st_gid.
22151
22152 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22153
22154         getaddrinfo: Fix test for sa_len member.
22155         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22156         include <sys/types.h> before <sys/socket.h>.
22157
22158 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22159
22160         maint: change "can not" to "cannot"
22161         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22162         boundaries.
22163
22164 2011-04-09  Jim Meyering  <meyering@redhat.com>
22165
22166         maint: change "a a" to "a"
22167         * tests/test-lchown.h (test_lchown): s/a a/a/
22168
22169         maint.mk: prohibit \<the the\>
22170         * top/maint.mk (sc_prohibit_the_the): New rule.
22171
22172         maint: fix "the the" in comment
22173         * lib/count-one-bits.h: s/the the/the/
22174
22175         maint: change "can not" to "cannot"
22176         But do not change the occurrences in maintain.texi or in
22177         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22178         * doc/gnulib-tool.texi: s/can not/cannot/
22179         * doc/posix-functions/accept.texi (accept): Likewise.
22180         * doc/posix-functions/socket.texi (socket): Likewise.
22181         * lib/mbrtowc.c: Likewise.
22182
22183         maint.mk: prohibit use of "can not"
22184         * top/maint.mk (sc_prohibit_can_not): New rule.
22185         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22186
22187 2011-04-09  Bruno Haible  <bruno@clisp.org>
22188
22189         careadlinkat: Guard against misuse of careadlinkatcwd.
22190         * lib/careadlinkat.c: Include <stdlib.h>.
22191         (careadlinkatcwd): Check that the fd argument is as expected.
22192
22193 2011-04-09  Bruno Haible  <bruno@clisp.org>
22194
22195         careadlinkat: Use common coding style.
22196         * lib/careadlinkat.c: Move gnulib includes after system includes.
22197
22198 2011-04-09  Bruno Haible  <bruno@clisp.org>
22199
22200         careadlinkat: Clarify specification.
22201         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22202         (careadlinkatcwd): Add comment.
22203         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22204
22205 2011-04-09  Bruno Haible  <bruno@clisp.org>
22206
22207         areadlinkat: Avoid link error on many platforms.
22208         * modules/areadlinkat (Depends-on): Add areadlink.
22209
22210 2011-04-09  Bruno Haible  <bruno@clisp.org>
22211
22212         allocator, careadlinkat: Fix double-inclusion guard.
22213         * lib/allocator.h: Fix double-inclusion guard.
22214         * lib/careadlinkat.h: Likewise.
22215
22216 2011-04-09  Bruno Haible  <bruno@clisp.org>
22217
22218         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22219         * lib/relocwrapper.c: Update dependencies hierarchy.
22220         * build-aux/install-reloc: Update list of files to be compiled.
22221         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22222         lib/allocator.[hc].
22223
22224 2011-04-08  Eric Blake  <eblake@redhat.com>
22225
22226         strftime: silence gnulib-tool warning
22227         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22228
22229 2011-04-08  Bruno Haible  <bruno@clisp.org>
22230
22231         verify: Fix syntax error with GCC 4.6 in C++ mode.
22232         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22233         (HAVE_STATIC_ASSERT): New macro.
22234         (verify_true, verify): Use 'static_assert' if it is supported and
22235         '_Static_assert' is not supported.
22236
22237 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22238
22239         allocator: New module.
22240         * modules/allocator, lib/allocator.c: New files.
22241         * lib/allocator.h (stdlib_allocator): New decl.
22242         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22243         Remove.  Do not include <stdlib.h>.
22244         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22245         * modules/careadlinkat (Files): Remove lib/allocator.h.
22246         (Depends-on): Add allocator.
22247
22248         stdlib: let modules use system malloc, realloc
22249         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22250         if !_GL_USE_STDLIB_ALLOC.
22251         (malloc, realloc): Limit this change to a smaller scope.
22252
22253         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22254         (malloc, realloc): Don't #undef; no longer needed.
22255         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22256         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22257         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22258         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22259         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22260         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22261         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22262         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22263
22264         careadlinkat: rename members to avoid problem
22265         * lib/allocator.h (struct allocator): Rename members from
22266         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22267         and realloc are #define'd.  Reported by Eric Blake in
22268         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22269         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22270
22271 2011-04-08  Eric Blake  <eblake@redhat.com>
22272
22273         nonblocking: reduce dependency
22274         * tests/test-nonblocking.c: Only test sockets when in use.
22275         * modules/nonblocking-tests (Depends-on): Drop socket.
22276         (Makefile.am): Link even if sockets are not present.
22277         * modules/pipe2-tests (Makefile.am): Likewise.
22278         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22279
22280         pipe2: fix O_NONBLOCK support on mingw
22281         * modules/pipe2 (Depends-on): Add nonblocking.
22282         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22283         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22284         * tests/test-nonblocking.c (main): Likewise.
22285         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22286
22287         fcntl-h: fix O_ACCMODE on cygwin
22288         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22289         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22290
22291         pipe-filter: drop O_NONBLOCK workarounds
22292         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22293         * modules/pipe-filter-ii (Depends-on): Likewise.
22294         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22295
22296         nonblocking: provide O_NONBLOCK for mingw
22297         * modules/nonblocking (Depends-on): Add open.
22298         (configure.ac): Set new witness macro.
22299         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22300         * modules/fcntl-h (Makefile.am): Substitute it.
22301         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22302         nonblocking module is in use.
22303         * lib/nonblocking.c: Adjust portability test.
22304         * lib/open.c (open): Don't let native open see gnulib flag.
22305         * tests/test-fcntl-h.c (main): Enhance test.
22306         * tests/test-open.h (test_open): Likewise.
22307         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22308
22309         careadlinkat: fix compilation error on mingw
22310         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22311         within struct allocator.
22312
22313 2011-04-06  Eric Blake  <eblake@redhat.com>
22314
22315         binary-io: relicense under LGPLv2+
22316         * modules/binary-io (License): Relax to LGPLv2+.
22317         Requested for libvirt, and required by pipe2.
22318
22319 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22320
22321         verify: use _Static_assert if available
22322         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22323         (verify_true, verify): Use it if available.  This generates better
22324         diagnostics with GCC 4.6.0 and later.
22325
22326 2011-04-05  Bruno Haible  <bruno@clisp.org>
22327
22328         Remove leftover generated .h files after config.status changed.
22329
22330         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22331         GL_GENERATE_ALLOCA_H.
22332         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22333         GL_GENERATE_ALLOCA_H evaluates to false.
22334
22335         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22336         GL_GENERATE_ARGZ_H.
22337         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22338         evaluates to false.
22339
22340         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22341         GL_GENERATE_BYTESWAP_H.
22342         * modules/byteswap (Makefile.am): Remove byteswap.h if
22343         GL_GENERATE_BYTESWAP_H evaluates to false.
22344
22345         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22346         GL_GENERATE_ERRNO_H.
22347         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22348         evaluates to false.
22349
22350         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22351         GL_GENERATE_FLOAT_H.
22352         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22353         evaluates to false.
22354
22355         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22356         GL_GENERATE_FNMATCH_H.
22357         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22358         GL_GENERATE_FNMATCH_H evaluates to false.
22359
22360         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22361         GL_GENERATE_GLOB_H.
22362         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22363         evaluates to false.
22364
22365         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22366         automake conditional GL_GENERATE_ICONV_H.
22367         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22368         evaluates to false.
22369
22370         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22371         GL_GENERATE_NETINET_IN_H.
22372         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22373         GL_GENERATE_NETINET_IN_H evaluates to false.
22374
22375         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22376         conditional GL_GENERATE_PTHREAD_H.
22377         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22378         * modules/pthread (Makefile.am): Remove pthread.h if
22379         GL_GENERATE_PTHREAD_H evaluates to false.
22380
22381         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22382         GL_GENERATE_SCHED_H.
22383         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22384         evaluates to false.
22385
22386         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22387         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22388         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22389         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22390
22391         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22392         GL_GENERATE_STDARG_H.
22393         * modules/stdarg (Makefile.am): Remove stdarg.h if
22394         GL_GENERATE_STDARG_H evaluates to false.
22395
22396         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22397         GL_GENERATE_STDBOOL_H.
22398         * modules/stdbool (Makefile.am): Remove stdbool.h if
22399         GL_GENERATE_STDBOOL_H evaluates to false.
22400
22401         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22402         conditional GL_GENERATE_STDDEF_H.
22403         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22404         * modules/stddef (Makefile.am): Remove stddef.h if
22405         GL_GENERATE_STDDEF_H evaluates to false.
22406
22407         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22408         GL_GENERATE_STDINT_H.
22409         * modules/stdint (Makefile.am): Remove stdint.h if
22410         GL_GENERATE_STDINT_H evaluates to false.
22411
22412         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22413         GL_GENERATE_SYSEXITS_H.
22414         * modules/sysexits (Makefile.am): Remove sysexits.h if
22415         GL_GENERATE_SYSEXITS_H evaluates to false.
22416
22417         Reported by Karl Berry and Ralf Wildenhues.
22418
22419 2011-04-05  Bruno Haible  <bruno@clisp.org>
22420
22421         Ensure to rebuild generated .h files when config.status has changed.
22422         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22423         config.status.
22424         * modules/ctype (Makefile.am): Likewise.
22425         * modules/dirent (Makefile.am): Likewise.
22426         * modules/errno (Makefile.am): Likewise.
22427         * modules/fcntl-h (Makefile.am): Likewise.
22428         * modules/float (Makefile.am): Likewise.
22429         * modules/getopt-posix (Makefile.am): Likewise.
22430         * modules/glob (Makefile.am): Likewise.
22431         * modules/iconv-h (Makefile.am): Likewise.
22432         * modules/inttypes (Makefile.am): Likewise.
22433         * modules/langinfo (Makefile.am): Likewise.
22434         * modules/locale (Makefile.am): Likewise.
22435         * modules/math (Makefile.am): Likewise.
22436         * modules/netdb (Makefile.am): Likewise.
22437         * modules/netinet_in (Makefile.am): Likewise.
22438         * modules/poll-h (Makefile.am): Likewise.
22439         * modules/pthread (Makefile.am): Likewise.
22440         * modules/pty (Makefile.am): Likewise.
22441         * modules/sched (Makefile.am): Likewise.
22442         * modules/search (Makefile.am): Likewise.
22443         * modules/selinux-h (Makefile.am): Likewise.
22444         * modules/signal (Makefile.am): Likewise.
22445         * modules/spawn (Makefile.am): Likewise.
22446         * modules/stdarg (Makefile.am): Likewise.
22447         * modules/stdbool (Makefile.am): Likewise.
22448         * modules/stddef (Makefile.am): Likewise.
22449         * modules/stdint (Makefile.am): Likewise.
22450         * modules/stdio (Makefile.am): Likewise.
22451         * modules/stdlib (Makefile.am): Likewise.
22452         * modules/string (Makefile.am): Likewise.
22453         * modules/strings (Makefile.am): Likewise.
22454         * modules/sys_file (Makefile.am): Likewise.
22455         * modules/sys_ioctl (Makefile.am): Likewise.
22456         * modules/sys_select (Makefile.am): Likewise.
22457         * modules/sys_socket (Makefile.am): Likewise.
22458         * modules/sys_stat (Makefile.am): Likewise.
22459         * modules/sys_time (Makefile.am): Likewise.
22460         * modules/sys_times (Makefile.am): Likewise.
22461         * modules/sys_utsname (Makefile.am): Likewise.
22462         * modules/sys_wait (Makefile.am): Likewise.
22463         * modules/sysexits (Makefile.am): Likewise.
22464         * modules/termios (Makefile.am): Likewise.
22465         * modules/time (Makefile.am): Likewise.
22466         * modules/unistd (Makefile.am): Likewise.
22467         * modules/wchar (Makefile.am): Likewise.
22468         * modules/wctype-h (Makefile.am): Likewise.
22469         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22470
22471 2011-04-05  Bruno Haible  <bruno@clisp.org>
22472
22473         pipe2: Relicense under LGPLv2+.
22474         * modules/pipe2 (License): Change to LGPLv2+.
22475         Requested by Eric Blake, for libvirt.
22476
22477 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22478
22479         bootstrap: compute gnulib_extra_files after updating build_aux
22480         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22481         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22482
22483 2011-04-05  Eric Blake  <eblake@redhat.com>
22484
22485         bootstrap: preserve git whitelist item sorting
22486         * build-aux/bootstrap (sort_patterns): New function.
22487         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22488
22489 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22490
22491         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22492         sc_space_tab check.
22493
22494 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22495
22496         areadlink, areadlinkat: rewrite in terms of careadlinkat
22497         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22498         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22499         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22500         (malloc, realloc): Remove #undefs.
22501         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22502         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22503         readlink, ssize_t, stdint, unistd.
22504         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22505         areadlink, stdint.
22506
22507         careadlinkat: new module
22508         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22509         * modules/careadlinkat: New files, written by me with
22510         a review and feedback from Ben Pfaff in
22511         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22512
22513 2011-04-01  Bruno Haible  <bruno@clisp.org>
22514
22515         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22516         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22517         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22518         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22519         Reported by Bruce Korb <bruce.korb@gmail.com>.
22520
22521 2011-04-01  Bruno Haible  <bruno@clisp.org>
22522
22523         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22524         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22525         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22526         * modules/wcpcpy (Depends-on): Add extensions.
22527         * modules/wcpncpy (Depends-on): Likewise.
22528         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22529         systems.
22530         * doc/posix-functions/wcpncpy.texi: Likewise.
22531         * doc/posix-functions/wcwidth.texi: Likewise.
22532
22533 2011-03-31  Eric Blake  <eblake@redhat.com>
22534
22535         nonblocking: fix mingw test failures
22536         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22537         non-blocking flag on regular file.
22538         (get_nonblocking_flag): Set errno on invalid fd.
22539         * tests/test-nonblocking.c (main): Avoid test failure on
22540         directories if fchdir is not active.
22541         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22542
22543 2011-03-31  Bruno Haible  <bruno@clisp.org>
22544
22545         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22546         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22547         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22548         Reported by Simon Josefsson <simon@josefsson.org>.
22549
22550 2011-03-31  Bruno Haible  <bruno@clisp.org>
22551         and Eric Blake  <eblake@redhat.com>
22552
22553         nonblocking: new module
22554         * modules/nonblocking: New module.
22555         * modules/nonblocking-tests: Likewise.
22556         * lib/nonblocking.h: New file.
22557         * lib/nonblocking.c: Likewise.
22558         * tests/test-nonblocking.c: New test.
22559         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22560
22561 2011-03-30  Bruno Haible  <bruno@clisp.org>
22562
22563         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22564         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22565         instead of 'printf' format for GCC >= 4.4.
22566         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22567         (fprintf, printf, vfprintf, vprintf): Declare with
22568         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22569         the system's vfprintf() function.
22570         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22571
22572 2011-03-30  Eric Blake  <eblake@redhat.com>
22573
22574         passfd: fix scoping bug
22575         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22576         before sendmsg/recvmsg.
22577
22578         passfd: standardize coding conventions
22579         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22580         can be learned at compile time.
22581         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22582         ifdefs.
22583         (sendfd, recvfd): Follow gnulib code conventions.
22584
22585         passfd: fix incorrect sendmsg arguments
22586         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22587         incorrect msg_controllen value.
22588         * modules/passfd-tests (Depends-on): Check for alarm.
22589         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22590         Reported by Bastien ROUCARIES.
22591
22592 2011-03-30  Bruno Haible  <bruno@clisp.org>
22593
22594         c-strcasestr: Relicense under LGPLv2+.
22595         * modules/c-strcasestr (License): Change to LGPLv2+.
22596         Requested by Eric Blake, for libvirt.
22597
22598 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22599
22600         * users.txt: Add libidn2.  Fix libtasn1 link.
22601
22602 2011-03-30  Jim Meyering  <meyering@redhat.com>
22603
22604         tests: readlink* ("",... fails with EINVAL on newer kernels
22605         readlink and readlinkat have typically failed with ENOENT for
22606         the invalid, empty file name,  "".  However, with the advent
22607         of linux-2.6.39, they fail with EINVAL.
22608         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22609         when operating on the empty file name.
22610         * tests/test-readlink.h (test_readlink): Likewise.
22611
22612 2011-03-29  Bruno Haible  <bruno@clisp.org>
22613
22614         Relicense some modules under LGPLv2+, for libidn2.
22615         * modules/array-mergesort (License): Change to LGPLv2+.
22616         * modules/c-strcaseeq (License): Likewise.
22617         * modules/striconveh (License): Likewise.
22618         * modules/striconveha (License): Likewise.
22619         * modules/uniconv/base (License): Likewise.
22620         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22621         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22622         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22623         * modules/unictype/base (License): Likewise.
22624         * modules/unictype/bidiclass-of (License): Likewise.
22625         * modules/unictype/category-M (License): Likewise.
22626         * modules/unictype/category-none (License): Likewise.
22627         * modules/unictype/category-of (License): Likewise.
22628         * modules/unictype/category-test (License): Likewise.
22629         * modules/unictype/category-test-withtable (License): Likewise.
22630         * modules/unictype/combining-class (License): Likewise.
22631         * modules/unictype/joiningtype-of (License): Likewise.
22632         * modules/unictype/scripts (License): Likewise.
22633         * modules/uninorm/base (License): Likewise.
22634         * modules/uninorm/canonical-decomposition (License): Likewise.
22635         * modules/uninorm/composition (License): Likewise.
22636         * modules/uninorm/decompose-internal (License): Likewise.
22637         * modules/uninorm/decomposition-table (License): Likewise.
22638         * modules/uninorm/nfc (License): Likewise.
22639         * modules/uninorm/nfd (License): Likewise.
22640         * modules/uninorm/u32-normalize (License): Likewise.
22641         * modules/unistr/base (License): Likewise.
22642         * modules/unistr/u32-cpy (License): Likewise.
22643         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22644         * modules/unistr/u32-to-u8 (License): Likewise.
22645         * modules/unistr/u32-uctomb (License): Likewise.
22646         * modules/unistr/u8-check (License): Likewise.
22647         * modules/unistr/u8-mblen (License): Likewise.
22648         * modules/unistr/u8-mbtouc (License): Likewise.
22649         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22650         * modules/unistr/u8-mbtoucr (License): Likewise.
22651         * modules/unistr/u8-prev (License): Likewise.
22652         * modules/unistr/u8-strlen (License): Likewise.
22653         * modules/unistr/u8-to-u32 (License): Likewise.
22654         * modules/unistr/u8-uctomb (License): Likewise.
22655         * modules/unitypes (License): Likewise.
22656         Requested by Simon Josefsson.
22657
22658 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22659
22660         lib-symbol-visibility: Add a notice.
22661         * modules/lib-symbol-visibility (Notice): New field.
22662
22663 2011-03-29  Bruno Haible  <bruno@clisp.org>
22664
22665         getaddrinfo: Doc fix.
22666         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22667         section "fixed in Gnulib".
22668
22669 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22670
22671         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22672         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22673
22674 2011-03-26  Bruno Haible  <bruno@clisp.org>
22675
22676         unictype/property-byname: Reduce the number of load-time relocations.
22677         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22678         (UC_PROPERTY_INDEX_*): New enumeration values.
22679         (uc_property_byname): Convert an index from the lookup table to an
22680         uc_property_t.
22681         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22682         values.
22683
22684 2011-03-26  Bruno Haible  <bruno@clisp.org>
22685
22686         unictype/property-byname: Allow omitted word separators and aliases.
22687         * lib/unictype/pr_byname.gperf: Add property names without word
22688         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22689         for 'space'.
22690
22691 2011-03-26  Bruno Haible  <bruno@clisp.org>
22692
22693         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22694         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22695         also hyphens to space.
22696         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22697         without spaces.
22698         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22699
22700 2011-03-26  Bruno Haible  <bruno@clisp.org>
22701
22702         unictype/joiningtype-byname: Recognize long names as well.
22703         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22704         a long name.
22705         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22706         unictype/joiningtype_byname.h.
22707         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22708         * lib/unictype/joiningtype_byname.gperf: New file.
22709         * modules/unictype/joiningtype-byname (Files): Add
22710         lib/unictype/joiningtype_byname.gperf.
22711         (Depends-on): Add gperf.
22712         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22713         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22714         long names.
22715
22716         Tests for module 'unictype/joiningtype-longname'.
22717         * modules/unictype/joiningtype-longname-tests: New file.
22718         * tests/unictype/test-joiningtype_longname.c: New file.
22719
22720         New module 'unictype/joiningtype-longname'.
22721         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22722         * lib/unictype/joiningtype_longname.c: New file.
22723         * modules/unictype/joiningtype-longname: New file.
22724         * modules/unictype/joiningtype-all (Depends-on): Add
22725         unictype/joiningtype-longname.
22726
22727 2011-03-26  Bruno Haible  <bruno@clisp.org>
22728
22729         unictype/bidiclass-byname: Recognize long names as well.
22730         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22731         name.
22732         * lib/unictype/bidi_byname.c: Include <string.h>,
22733         unictype/bidi_byname.h.
22734         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22735         * lib/unictype/bidi_byname.gperf: New file.
22736         * modules/unictype/bidiclass-byname (Files): Add
22737         lib/unictype/bidi_byname.gperf.
22738         (Depends-on): Add gperf.
22739         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22740         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22741         long names.
22742
22743         Tests for module 'unictype/bidiclass-longname'.
22744         * modules/unictype/bidiclass-longname-tests: New file.
22745         * tests/unictype/test-bidi_longname.c: New file.
22746
22747         New module 'unictype/bidiclass-longname'.
22748         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22749         * lib/unictype/bidi_longname.c: New file.
22750         * modules/unictype/bidiclass-longname: New file.
22751         * modules/unictype/bidiclass-all (Depends-on): Add
22752         unictype/bidiclass-longname.
22753
22754 2011-03-26  Bruno Haible  <bruno@clisp.org>
22755
22756         unictype/bidi*: Rename modules.
22757         * modules/unictype/bidiclass-all: Renamed from
22758         modules/unictype/bidicategory-all.
22759         * modules/unictype/bidiclass-name: Renamed from
22760         modules/unictype/bidiclass-name.
22761         (Description): Update.
22762         * modules/unictype/bidiclass-name-tests: Renamed from
22763         modules/unictype/bidicategory-name-tests.
22764         * modules/unictype/bidiclass-byname: Renamed from
22765         modules/unictype/bidicategory-byname.
22766         (Description): Update.
22767         * modules/unictype/bidiclass-byname-tests: Renamed from
22768         modules/unictype/bidicategory-byname-tests.
22769         * modules/unictype/bidiclass-of: Renamed from
22770         modules/unictype/bidicategory-of.
22771         (Description): Update.
22772         * modules/unictype/bidiclass-of-tests: Renamed from
22773         modules/unictype/bidicategory-of-tests.
22774         * modules/unictype/bidiclass-test: Renamed from
22775         modules/unictype/bidicategory-test.
22776         (Description): Update.
22777         * modules/unictype/bidiclass-test-tests: Renamed from
22778         modules/unictype/bidicategory-test-tests.
22779         * modules/unictype/bidicategory-all: New file, a simple redirection.
22780         * modules/unictype/bidicategory-name: Likewise.
22781         * modules/unictype/bidicategory-byname: Likewise.
22782         * modules/unictype/bidicategory-of: Likewise.
22783         * modules/unictype/bidicategory-test: Likewise.
22784         * modules/unictype/property-bidi-* (Dependencies): Update.
22785         * lib/unictype/bidi_*.c: Update comment.
22786
22787 2011-03-26  Bruno Haible  <bruno@clisp.org>
22788
22789         unictype/bidi*: Rename functions, part 2.
22790         * modules/unictype/bidicategory-name (configure.ac): Update required
22791         libunistring version.
22792         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22793
22794 2011-03-25  Bruno Haible  <bruno@clisp.org>
22795
22796         New module 'unictype/combining-class-all'.
22797         * modules/unictype/combining-class-all: New file.
22798
22799         Tests for module 'unictype/combining-class-byname'.
22800         * modules/unictype/combining-class-byname-tests: New file.
22801         * tests/unictype/test-combiningclass_byname.c: New file.
22802
22803         New module 'unictype/combining-class-byname'.
22804         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22805         * lib/unictype/combiningclass_byname.c: New file.
22806         * lib/unictype/combiningclass_byname.gperf: New file.
22807         * modules/unictype/combining-class-byname: New file.
22808
22809         Tests for module 'unictype/combining-class-longname'.
22810         * modules/unictype/combining-class-longname-tests: New file.
22811         * tests/unictype/test-combiningclass_longname.c: New file.
22812
22813         New module 'unictype/combining-class-longname'.
22814         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22815         * lib/unictype/combiningclass_longname.c: New file.
22816         * modules/unictype/combining-class-longname: New file.
22817
22818         Tests for module 'unictype/combining-class-name'.
22819         * modules/unictype/combining-class-name-tests: New file.
22820         * tests/unictype/test-combiningclass_name.c: New file.
22821
22822         New module 'unictype/combining-class-name'.
22823         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22824         * lib/unictype/combiningclass_name.c: New file.
22825         * modules/unictype/combining-class-name: New file.
22826
22827 2011-03-25  Bruno Haible  <bruno@clisp.org>
22828
22829         unictype/combining-class: Rename source files.
22830         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22831         of unictype/combining.h.
22832         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22833         Update.
22834         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22835         * modules/unictype/combining-class (Description): Fix.
22836         (Files, Makefile.am): Update.
22837         * tests/unictype/test-combiningclass.c: Renamed from
22838         tests/unictype/test-combining.c.
22839         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22840
22841 2011-03-25  Bruno Haible  <bruno@clisp.org>
22842
22843         unictype: Update list of canonical combining classes.
22844         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22845
22846 2011-03-25  Bruno Haible  <bruno@clisp.org>
22847
22848         unictype/category-byname: Recognize long names as well.
22849         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22850         a long name.
22851         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22852         unictype/categ_byname.h.
22853         (UC_CATEGORY_INDEX_*): New enumeration values.
22854         (uc_general_category_byname): Use uc_general_category_lookup and
22855         convert from index to value.
22856         * lib/unictype/categ_byname.gperf: New file.
22857         * modules/unictype/category-byname (Files): Add
22858         lib/unictype/categ_byname.gperf.
22859         (Depends-on): Add gperf.
22860         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22861         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22862         long names.
22863
22864         Tests for module 'unictype/category-longname'.
22865         * modules/unictype/category-longname-tests: New file.
22866         * tests/unictype/test-categ_longname.c: New file.
22867
22868         New module 'unictype/category-longname'.
22869         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22870         * lib/unictype/categ_longname.c: New file.
22871         * modules/unictype/category-longname: New file.
22872         * modules/unictype/category-all (Depends-on): Add it.
22873
22874 2011-03-25  Bruno Haible  <bruno@clisp.org>
22875
22876         Tests for module 'unictype/category-LC'.
22877         * modules/unictype/category-LC-tests: New file.
22878         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22879
22880         New module 'unictype/category-LC'.
22881         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22882         (UC_CATEGORY_LC): New declaration.
22883         (UC_CASED_LETTER): New macro.
22884         * lib/gen-uni-tables.c (is_category_LC): New function.
22885         (output_categories): Also handle category LC.
22886         (UC_CATEGORY_MASK_LC): New enumeration value.
22887         (general_category_byname): Also handle category LC.
22888         * lib/unictype/categ_LC.c: New file.
22889         * lib/unictype/categ_LC.h: New file, automatically generated.
22890         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22891         category LC.
22892         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22893         * modules/unictype/category-LC: New file.
22894         * modules/unictype/category-byname (Depends-on): Add
22895         unictype/category-LC.
22896         * modules/unictype/category-all (Depends-on): Likewise.
22897
22898 2011-03-25  Eric Blake  <eblake@redhat.com>
22899
22900         xmalloc: revert yesterday's regression
22901         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22902         realloc's underlying behavior (allowing allocation of zero-size
22903         objects, especially if malloc-gnu is also in use).
22904
22905 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22906
22907         maint.mk: add missing version to VC-tag
22908         * top/maint.mk: git tag was missing actual tag name; add it.
22909
22910         valgrind: do leak checking, and exit with code 1 on error (not 0)
22911         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22912         to VALGRIND.
22913
22914 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22915
22916         posix-modules: say what it does.
22917         * posix-modules: Add a line to the --help output saying what it does.
22918
22919 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22920
22921         xmalloc: Do not leak if underlying realloc is C99 compatible.
22922         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22923         This avoids a leak on C99-based systems.  See
22924         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22925
22926 2011-03-24  Eric Blake  <eblake@redhat.com>
22927
22928         realloc: document portability problem
22929         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22930         passing 0 size to realloc.
22931
22932 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22933
22934         doc: update users.txt
22935         * users.txt: Add cvsps, tmpwatch
22936
22937 2011-03-23  Matt Rice  <ratmice@gmail.com>
22938
22939         doc: update users.txt
22940         * users.txt: Add gdb.
22941
22942 2011-03-23  Jim Meyering  <meyering@redhat.com>
22943
22944         doc: update users.txt
22945         Looking through matches up to the following URL (there are still
22946         several more pages), I found several projects that use gnulib:
22947         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22948         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22949         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22950
22951 2011-03-22  Bruno Haible  <bruno@clisp.org>
22952
22953         unictype/bidi*: Rename functions.
22954         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22955         uc_bidi_class, uc_is_bidi_class): New declarations.
22956         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22957         uc_bidi_category_byname.
22958         (uc_bidi_category_byname): New function.
22959         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22960         u_bidi_category_name.
22961         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22962         (uc_bidi_category_name): New function.
22963         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22964         uc_bidi_category.
22965         (uc_bidi_category): New function.
22966         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22967         uc_is_bidi_category. Invoke uc_bidi_class.
22968         (uc_is_bidi_category): New function.
22969         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22970         instead of uc_bidi_category_byname.
22971         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22972         instead of uc_bidi_category_name.
22973         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22974         uc_bidi_category.
22975         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22976         instead of uc_is_bidi_category.
22977
22978 2011-03-21  Bruno Haible  <bruno@clisp.org>
22979
22980         New module 'unictype/joininggroup-all'.
22981         * modules/unictype/joininggroup-all: New file.
22982
22983         Tests for module 'unictype/joininggroup-of'.
22984         * modules/unictype/joininggroup-of-tests: New file.
22985         * tests/unictype/test-joininggroup_of.c: New file.
22986         * tests/unictype/test-joininggroup_of.h: New file, automatically
22987         generated by gen-uni-tables.
22988
22989         New module 'unictype/joininggroup-of'.
22990         * modules/unictype/joininggroup-of: New file.
22991         * lib/unictype/joininggroup_of.c: New file.
22992         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22993         gen-uni-tables.
22994
22995         Tests for module 'unictype/joininggroup-byname'.
22996         * modules/unictype/joininggroup-byname-tests: New file.
22997         * tests/unictype/test-joininggroup_byname.c: New file.
22998
22999         New module 'unictype/joininggroup-byname'.
23000         * modules/unictype/joininggroup-byname: New file.
23001         * lib/unictype/joininggroup_byname.c: New file.
23002         * lib/unictype/joininggroup_byname.gperf: New file.
23003
23004         Tests for module 'unictype/joininggroup-name'.
23005         * modules/unictype/joininggroup-name-tests: New file.
23006         * tests/unictype/test-joininggroup_name.c: New file.
23007
23008         New module 'unictype/joininggroup-name'.
23009         * modules/unictype/joininggroup-name: New file.
23010         * lib/unictype/joininggroup_name.c: New file.
23011         * lib/unictype/joininggroup_name.h: New file.
23012
23013         New module 'unictype/joiningtype-all'.
23014         * modules/unictype/joiningtype-all: New file.
23015
23016         Tests for module 'unictype/joiningtype-of'.
23017         * modules/unictype/joiningtype-of-tests: New file.
23018         * tests/unictype/test-joiningtype_of.c: New file.
23019         * tests/unictype/test-joiningtype_of.h: New file, automatically
23020         generated by gen-uni-tables.
23021
23022         New module 'unictype/joiningtype-of'.
23023         * modules/unictype/joiningtype-of: New file.
23024         * lib/unictype/joiningtype_of.c: New file.
23025         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23026         gen-uni-tables.
23027
23028         Tests for module 'unictype/joiningtype-byname'.
23029         * modules/unictype/joiningtype-byname-tests: New file.
23030         * tests/unictype/test-joiningtype_byname.c: New file.
23031
23032         New module 'unictype/joiningtype-byname'.
23033         * modules/unictype/joiningtype-byname: New file.
23034         * lib/unictype/joiningtype_byname.c: New file.
23035
23036         Tests for module 'unictype/joiningtype-name'.
23037         * modules/unictype/joiningtype-name-tests: New file.
23038         * tests/unictype/test-joiningtype_name.c: New file.
23039
23040         New module 'unictype/joiningtype-name'.
23041         * modules/unictype/joiningtype-name: New file.
23042         * lib/unictype/joiningtype_name.c: New file.
23043
23044         unictype: Add support for Arabic shaping properties.
23045         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23046         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23047         declarations.
23048         (UC_JOINING_GROUP_*): New enumeration values.
23049         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23050         declarations.
23051         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23052         (unicode_joining_type): New variable.
23053         (UC_JOINING_GROUP_*): New enumeration values.
23054         (unicode_joining_group): New variable.
23055         (fill_arabicshaping, joining_type_as_c_identifier,
23056         output_joining_type_test, output_joining_type,
23057         joining_group_as_c_identifier, output_joining_group_test,
23058         output_joining_group): New functions.
23059         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23060         fill_arabicshaping and output_joining_type_test, output_joining_type,
23061         output_joining_group_test, output_joining_group.
23062         Reported by Simon Josefsson.
23063
23064 2011-03-21  Jim Meyering  <meyering@redhat.com>
23065
23066         strftime: fix a bug in yesterday's change
23067         * lib/strftime.c (add): Accommodate width's initial value of -1.
23068         Otherwise, nstrftime would copy uninitialized data into
23069         the result buffer.
23070
23071 2011-03-21  Jim Meyering  <meyering@redhat.com>
23072
23073         tests: add strftime-tests module
23074         * tests/test-strftime.c: New file.
23075         * modules/strftime-tests: New module.
23076
23077 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23078
23079         strftime: don't assume a byte count fits in 'int'
23080         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
23081         found this problem by static analysis, using gcc -Wstrict-overflow
23082         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23083         on an integer overflow having undefined behavior, but it turns out
23084         that the argument is a size, which might not fit in 'int' anyway,
23085
23086 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23087
23088         stdio: don't require ignore_value around fwrite
23089
23090         This patch works around libc bug 11959
23091         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23092         Without this patch, applications must often write
23093         ignore_value (fwrite (...)) even though the ignore_value is
23094         not helpful here.  It's common to write many objects, using
23095         fwrite/printf/etc., and then use ferror to detect output error.
23096
23097         I considered making this patch optional, but decided against it,
23098         because libc is obviously being inconsistent here: there is no
23099         reason libc should insist that user code must inspect fwrite
23100         return's value without also insisting that it inspect printf's,
23101         putchar's, etc.  If user code wants to have a strict style where
23102         all these functions' values are checked (so that ferror need not
23103         be checked), we could add support for that style in a new gnulib
23104         module, but in the meantime it's better to be consistent and to
23105         support common usage.
23106
23107         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23108         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23109         that we are compiling in checking mode, and if not C++, and
23110         if not already wrapping fwrite for some other reason.
23111         (fwrite): #define to rpl_fwrite if the latter is defined.
23112
23113 2011-03-20  Bruno Haible  <bruno@clisp.org>
23114
23115         verror: Fix compilation error introduced on 2011-02-13.
23116         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23117         instead of __attribute__.
23118         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23119
23120 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23121             Bruno Haible  <bruno@clisp.org>
23122
23123         socklen: do not depend on sys_socket
23124         While trying to modify Emacs to use gnulib's socklen module,
23125         I discovered a circular dependency: socklen depends on sys_socket
23126         and vice versa.  Emacs can use socklen, but it does not need
23127         sys_socket because it has its own substitute for sys/socket.h.
23128         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23129         gl_TYPE_SOCKLEN_T.
23130         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23131         gl_PREREQ_SYS_H_SOCKET.
23132         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23133         gl_PREREQ_SYS_H_SOCKET.
23134         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23135         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23136         * modules/socklen (Depends-on): Do not depend on sys_socket.
23137         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23138
23139 2011-03-20  Jim Meyering  <meyering@redhat.com>
23140
23141         maint.mk: sort file names *after* new transformation
23142         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23143         prefix would have led to an unwarranted failure in GNU parted.
23144         Sort after that transformation.
23145
23146 2011-03-19  Jim Meyering  <meyering@redhat.com>
23147
23148         maint.mk: fix po-file syntax-check rule
23149         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23150         Patch by Bruno Haible.
23151
23152 2011-03-19  Bruno Haible  <bruno@clisp.org>
23153
23154         socklen: Update comment.
23155         * m4/socklen.m4: Update comment about platforms.
23156
23157 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23158             Bruno Haible  <bruno@clisp.org>
23159
23160         inet_ntop, inet_pton: Simplify.
23161         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23162         documented to provide socklen_t and we already depend on sys_socket.
23163         * modules/inet_pton (Depends-on): Likewise.
23164         * lib/arpa_inet.in.h: Adjust comment.
23165
23166 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23167             Bruno Haible  <bruno@clisp.org>
23168
23169         netdb: Simplify.
23170         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23171         documented to provide socklen_t and we already depend on sys_socket.
23172         * lib/netdb.in.h: Adjust comment.
23173
23174 2011-03-19  Bruno Haible  <bruno@clisp.org>
23175
23176         sys_socket, netdb: Document problem with socklen_t.
23177         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23178         platforms.
23179         * doc/posix-headers/netdb.texi: Likewise.
23180
23181 2011-03-18  Eric Blake  <eblake@redhat.com>
23182
23183         maint.mk: let po check work in VPATH build
23184         * top/maint.mk (po_file): Allow cfg.mk override.
23185         (sc_po_check): Allow VPATH use.
23186         Reported by Jiri Denemark.
23187
23188 2011-03-16  Jim Meyering  <meyering@redhat.com>
23189
23190         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23191         Before, you would have had to create one .x-sc_ file per rule in order
23192         to exempt offending files.  Now, you may instead use a Make variable --
23193         usually defined in cfg.mk -- whose name identifies the affected rule.
23194         * top/maint.mk (_sc_excl): Define.
23195         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23196         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23197
23198 2011-03-13  Bruno Haible  <bruno@clisp.org>
23199
23200         ignore-value tests: Avoid warnings.
23201         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23202         empty for gcc < 3.4.
23203
23204 2011-03-13  Bruno Haible  <bruno@clisp.org>
23205
23206         passfd: Fix link error on Solaris.
23207         * modules/passfd (Description): Correct.
23208         (Depends-on): Add socketlib.
23209         (Link): New section.
23210         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23211
23212 2011-03-13  Bruno Haible  <bruno@clisp.org>
23213
23214         passfd: Fix link error on AIX 5.2.
23215         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23216
23217 2011-03-13  Bruno Haible  <bruno@clisp.org>
23218
23219         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23220         * lib/sys_socket.in.h: Include <stddef.h>.
23221         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23222         CMSG_FIRSTHDR. Remove unused variable.
23223
23224 2011-03-13  Bruno Haible  <bruno@clisp.org>
23225
23226         passfd: Fix compilation error on OpenBSD.
23227         * lib/passfd.c: Include <sys/uio.h>.
23228
23229 2011-03-13  Bruno Haible  <bruno@clisp.org>
23230
23231         passfd test: Fix warnings.
23232         * tests/test-passfd.c: Include <sys/wait.h>.
23233         (main): Fix typo.
23234
23235 2011-03-13  Bruno Haible  <bruno@clisp.org>
23236
23237         passfd module, part 4, tweaks.
23238         * tests/test-passfd.c: Reorder includes.
23239         (main): Fix perror and printf calls.
23240
23241 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23242
23243         passfd module, part 4.
23244         * modules/passfd-tests: New file.
23245         * tests/test-passfd.c: New file.
23246
23247 2011-03-13  Jim Meyering  <meyering@redhat.com>
23248
23249         Makefile: rely on GNU make; derive syntax-check rule names
23250         Rather than requiring that each sc_ rule be listed as a dependent
23251         of "check", use features of GNU make to derive the list.
23252         * Makefile (syntax-check-rules): Define.
23253         (check): Depend on the new variable, not the hard-coded list.
23254
23255 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23256             Bruno Haible  <bruno@clisp.org>
23257
23258         passfd module, part 3.
23259         * lib/passfd.h (recvfd): Add a flags argument.
23260         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23261         (recvfd): Add a flags argument.
23262         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23263         exists.
23264         * modules/passfd (Depends-on): Add cloexec.
23265         Suggested by Eric Blake.
23266
23267 2011-03-13  Bruno Haible  <bruno@clisp.org>
23268
23269         passfd module, part 2, tweaks.
23270         * modules/passfd (Files): Reorder.
23271         (Depends-on): Remove errno.
23272         (Include): Remove <sys/socket.h>, <sys/un.h>.
23273         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23274         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23275         specification header. Include <sys/socket.h> always. Don't include
23276         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23277         (sendfd): Clarify that it sets errno when it fails.
23278         (recvfd): Fix specification.
23279
23280 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23281
23282         passfd module, part 2.
23283         * modules/passfd: New file.
23284         * lib/passfd.h: New file.
23285         * lib/passfd.c: New file.
23286
23287 2011-03-12  Bruno Haible  <bruno@clisp.org>
23288
23289         wcswidth, mbswidth: Avoid integer overflow.
23290         * lib/wcswidth.c: Include <limits.h>.
23291         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23292         * lib/mbswidth.c: Include <limits.h>.
23293         (mbsnwidth): Avoid 'int' overflow.
23294         Reported by Jim Meyering.
23295
23296 2011-03-12  Bruno Haible  <bruno@clisp.org>
23297
23298         futimens, utimensat: Avoid endless recursion on Solaris 10.
23299         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23300         Solaris.
23301         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23302         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23303
23304 2011-03-11  Jim Meyering  <meyering@redhat.com>
23305
23306         maint.mk: relax a regexp to accommodate other formatting styles
23307         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23308         between "ngettext" and the following "(".
23309
23310 2011-03-11  Pádraig Brady <P@draigBrady.com>
23311
23312         maint.mk: suppress a false positive warning
23313         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23314         diagnostics are marked with ngettext.
23315
23316 2011-03-10  Eric Blake  <eblake@redhat.com>
23317
23318         wchar: add explicit dependencies, for Tru64
23319         * modules/mbmemcasecoll (Depends-on): Add wchar.
23320         * modules/mbtowc (Depends-on): Likewise.
23321         * modules/vasnprintf (Depends-on): Likewise.
23322         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23323         * modules/wctomb (Depends-on): Likewise.
23324         Reported by Peter O'Gorman.
23325
23326 2011-03-08  Bruno Haible  <bruno@clisp.org>
23327
23328         passfd module, part 1, tweaks.
23329         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23330         Improve indentation. Improve AC_MSG_CHECKING messages.
23331         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23332         gl_SOCKET_FAMILIES.
23333
23334 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23335
23336         passfd module, part 1.
23337         * m4/afunix.m4: New file.
23338         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23339         sockets.
23340
23341 2011-03-08  Bruno Haible  <bruno@clisp.org>
23342
23343         regex-quote: New API.
23344         * lib/regex-quote.h: Include <stdbool.h>.
23345         (struct regex_quote_spec): New type.
23346         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23347         New declarations.
23348         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23349         'const struct regex_quote_spec *' argument.
23350         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23351         (pcre_special): New constant.
23352         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23353         New functions.
23354         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23355         'const struct regex_quote_spec *' argument.
23356         * modules/regex-quote (Depends-on): Add stdbool.
23357         * tests/test-regex-quote.c (check): Update for new API. Add test for
23358         anchored results.
23359         * NEWS: Mention the API change.
23360         Reported by Reuben Thomas and Eric Blake.
23361
23362 2011-03-06  Bruno Haible  <bruno@clisp.org>
23363
23364         regex-quote: Fix creation of POSIX extended regular expressions.
23365         * lib/regex-quote.c (ere_special): Add grouping and alternation
23366         operators.
23367
23368 2011-03-05  Bruno Haible  <bruno@clisp.org>
23369
23370         doc: Improve doc regarding autopoint vs. gnulib.
23371         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23372         disable autopoint while running autoreconf.
23373         Suggested by Ralf Wildenhues.
23374
23375 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23376
23377         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23378         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23379
23380 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23381
23382         parse-duration: remove xalloc.h dependency
23383         * lib/parse-duration.c (parse_period): handle NULL return from
23384         strdup instead of calling xstrdup().
23385         * modules/parse-duration: remove "xalloc" dependency
23386
23387 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23388
23389         bootstrap: honor m4_base when running aclocal
23390         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23391
23392 2011-03-02  Jim Meyering  <meyering@redhat.com>
23393
23394         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23395         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23396         on request from Matt Booth.
23397
23398 2011-03-01  Eric Blake  <eblake@redhat.com>
23399
23400         test-link: work on Hurd
23401         * tests/test-link.h (test_link): Hurd rejects linking directories
23402         with EISDIR instead of the POSIX-mandated EPERM.
23403
23404 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23405
23406         stdio: simplify by moving files to printf-posix, sigpipe
23407         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23408         since this symbol is needed only if printf is replaced.
23409         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23410         Require gl_ASM_SYMBOL_PREFIX.
23411         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23412         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23413         (Depends-on): Add 'raise'.
23414         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23415         * modules/stdio (Files): Remove lib/stdio-write.c,
23416         m4/asm-underscore.m4.
23417         (Depends-on): Remove 'raise'.
23418
23419         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23420         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23421         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23422         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23423
23424 2011-02-28  Bruno Haible  <bruno@clisp.org>
23425
23426         localcharset: Assume ANSI C behaviour of free().
23427         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23428         calling free().
23429         Suggested by Simon Josefsson <simon@josefsson.org>.
23430
23431 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23432             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23433             Bruno Haible  <bruno@clisp.org>  (tiny change)
23434
23435         On Cygwin, use /proc file system instead of win32 API.
23436         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23437         Win32 file names.
23438         (DllMain): Simplify by removing Cygwin specific code.
23439         (find_shared_library_fullname): Use Linux specific implementation also
23440         for Cygwin.
23441         (get_shared_library_fullname): Update accordingly.
23442         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23443         Win32 file names.
23444         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23445         Cygwin specific code.
23446
23447 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23448             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23449
23450         Fix OpenMP flag detection for various Fortran compilers.
23451         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23452         OpenMP-conditional compilation construct, to force compile
23453         failure with missing OpenMP flag.
23454         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23455
23456 2011-02-25  Eric Blake  <eblake@redhat.com>
23457
23458         strstr: expand test coverage
23459         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23460         compilation.
23461         * tests/test-memmem.c (main): Duplicate tests.
23462         * tests/test-strcasestr.c (main): Likewise.
23463         * tests/test-c-strcasestr.c (main): Likewise.
23464
23465 2011-02-25  Jim Meyering  <meyering@redhat.com>
23466
23467         maint.mk: detect missing-NL-at-EOF, too
23468         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23469         it also detects when a file lacks a newline at EOF.
23470         (require_exactly_one_NL_at_EOF_): Renamed from
23471         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23472         since people may well have .x-sc_... file names tied to the
23473         existing name.  Suggested by Eric Blake.
23474
23475 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23476
23477         dirname: move m4/dos.m4 functionality into lib/dosname.h
23478
23479         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23480         extracts symbols from it, puts them into config.h; but it's much
23481         easier to use the symbols directly.  filename.h already does this,
23482         but it disagrees with dos.m4 in some respects.  This patch
23483         introduces a different include file dosname.h that packages up
23484         dos.m4, and then later we can work on merging filename.h and
23485         dosname.h.  Applications that need only the easy-to-configure
23486         symbols should consider including dosname.h rather than dirname.h.
23487         * NEWS: Mention incompatible changes.
23488         * m4/dos.m4: Remove.
23489         * lib/dosname.h, modules/dosname: New files.
23490         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23491         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23492         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23493         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23494         Include dosname.h, not dirname.h.
23495         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23496         Include dosname.h, for definitions of symbols like ISSLASH
23497         that used to be in config.h.
23498         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23499         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23500         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23501         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23502         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23503         * modules/rmdir (Files): Likewise.
23504         * modules/stat (Files): Likewise.
23505         * modules/unlink (Files): Likewise.
23506         * modules/dirname-lgpl (Depends-on): Add dosname.
23507         * modules/lstat (Depends-on): Likewise.
23508         * modules/openat (Depends-on): Likewise.
23509         * modules/rmdir (Depends-on): Likewise.
23510         * modules/savewd (Depends-on): Likewise.
23511         * modules/stat (Depends-on): Likewise.
23512         * modules/unlink (Depends-on): Likewise.
23513         * modules/openat (Depends-on): Remove dirname-lgpl.
23514         * modules/savewd (Depends-on): Likewise.
23515         * tests/test-dirname.c: Do not use removed symbols like
23516         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23517         the remaining symbols, e.g., ISSLASH ('\\').
23518
23519 2011-02-25  Eric Blake  <eblake@redhat.com>
23520
23521         strstr: revert patches that introduced bug and pessimization
23522         * lib/str-two-way.h: Add another reference.
23523         (two_way_short_needle, two_way_long_needle): Revert changes from
23524         2011-02-24; they pessimize search speed.
23525         (critical_factorization): Partially revert changes from
23526         2010-06-22; they violate the requirement that the left half of the
23527         needle be smaller than the period of the needle.
23528
23529 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23530
23531         filenamecat: remove unnecessary dependency on dirname-lgpl
23532         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23533         is no direct dependency, just an indirect one via filenamecat-lgpl.
23534
23535         remove: remove unnecessary use of m4/dos.m4
23536         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23537         * modules/remove (FILES): Remove m4/dos.m4.
23538
23539         * lib/openat-proc.c: Don't include dirname.h; not needed.
23540
23541         backupfile: remove unnecessary use of m4/dos.m4
23542         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23543         of its symbols are used by the backupfile code.  backupfile.c does
23544         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23545         for the rare case of programs that want all their backup file
23546         names to live within 8+3 limits, and dos.m4 doesn't address that.
23547         * modules/backupfile (Files): Remove m4/dos.m4.
23548
23549 2011-02-24  Jim Meyering  <meyering@redhat.com>
23550
23551         strstr: fix a bug whereby strstr would mistakenly return NULL
23552         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23553         in period calculation.
23554         (two_way_long_needle): Likewise.
23555         The original problem was reported by Mike Stump in
23556         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23557         Ralf Wildenhues provided the short needle and haystack.
23558         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23559         Add a more involved test to trigger the bug in two_way_long_needle.
23560
23561 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23562
23563         gnulib-tool: remove use of bold display in help screen
23564         * gnulib-tool (func_usage): Do not use bold display anymore in the
23565         help screen.  That was just meant to be a temporary emphasis for a
23566         backward-incompatible change.
23567
23568 2011-02-23  Bruno Haible  <bruno@clisp.org>
23569
23570         Fix misindentation of preprocessor directives.
23571         * lib/argp-namefrob.h: Reindent preprocessor directives.
23572         * lib/getopt_int.h (struct _getopt_data): Likewise.
23573         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23574         * lib/vasnprintf.c (decode_long_double): Likewise.
23575         * tests/test-argmatch.c: Insert blank lines, for clarity.
23576         * tests/test-exclude.c: Likewise.
23577
23578 2011-02-22  Bruno Haible  <bruno@clisp.org>
23579
23580         ioctl: Fix for MacOS X in 64-bit mode.
23581         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23582         value.
23583         Suggested by Eric Blake.
23584         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23585
23586 2011-02-22  Jim Meyering  <meyering@redhat.com>
23587
23588         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23589         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23590         in lib/.
23591
23592 2011-02-22  Eric Blake  <eblake@redhat.com>
23593
23594         maint: avoid any CDPATH issue
23595         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23596
23597         maint: adjust cpp indentation for my modules, as well
23598         * Makefile (sc_cpp_indent_check): Add my name.
23599         * lib/fbufmode.c: Filter through cppi.
23600         * lib/fpurge.c: Likewise.
23601         * lib/freadable.c: Likewise.
23602         * lib/freading.c: Likewise.
23603         * lib/fwritable.c: Likewise.
23604         * lib/fwriting.c: Likewise.
23605         * lib/sigaction.c: Likewise.
23606
23607 2011-02-22  Jim Meyering  <meyering@redhat.com>
23608
23609         maint: adjust cpp indentation to reflect nesting depth
23610         I.e., in a block of code that begins with an unnested "#if",
23611         put one space between the "#" in column 1 and following token.
23612         For example,
23613         -#include <sys/vfs.h>
23614         +# include <sys/vfs.h>
23615         Do this only in .c files that are part of a module I maintain.
23616         * lib/linkat.c: Filter through cppi.
23617         * lib/nanosleep.c: Likewise.
23618         * lib/openat.c: Likewise.
23619         * lib/openat-die.c: Likewise.
23620         * lib/dup3.c: Likewise.
23621         * lib/fchownat.c: Likewise.
23622         * lib/flock.c: Likewise.
23623         * lib/fsync.c: Likewise.
23624         * lib/fts.c: Likewise.
23625         * lib/getpass.c: Likewise.
23626         * lib/gettimeofday.c: Likewise.
23627         * lib/userspec.c: Likewise.
23628         * Makefile (sc_cpp_indent_check): New rule, to check this.
23629
23630 2011-02-22  Bruno Haible  <bruno@clisp.org>
23631
23632         New module 'wctomb'.
23633         * lib/stdlib.in.h (wctomb): New declaration.
23634         * lib/wctomb.c: New file.
23635         * lib/wctomb-impl.h: New file.
23636         * m4/wctomb.m4: New file.
23637         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23638         REPLACE_WCTOMB.
23639         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23640         REPLACE_WCTOMB.
23641         * modules/wctomb: New file.
23642         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23643         * doc/posix-functions/wctomb.texi: Mention the new module.
23644         * modules/wctob (Depends-on): Add wctomb.
23645
23646 2011-02-22  Bruno Haible  <bruno@clisp.org>
23647
23648         New module 'mbtowc'.
23649         * lib/stdlib.in.h (mbtowc): New declaration.
23650         * lib/mbtowc.c: New file.
23651         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23652         * m4/mbtowc.m4: New file.
23653         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23654         REPLACE_MBTOWC.
23655         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23656         REPLACE_MBTOWC.
23657         * modules/mbtowc: New file.
23658         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23659         * doc/posix-functions/mbtowc.texi: Mention the new module.
23660         * modules/btowc (Depends-on): Add mbtowc.
23661
23662 2011-02-22  Bruno Haible  <bruno@clisp.org>
23663
23664         wcrtomb: Add more tests for native Windows platforms.
23665         * tests/test-wcrtomb-w32-1.sh: New file.
23666         * tests/test-wcrtomb-w32-2.sh: New file.
23667         * tests/test-wcrtomb-w32-3.sh: New file.
23668         * tests/test-wcrtomb-w32-4.sh: New file.
23669         * tests/test-wcrtomb-w32-5.sh: New file.
23670         * tests/test-wcrtomb-w32.c: New file.
23671         * modules/wcrtomb-tests (Files): Add them.
23672         (Makefile.am): Arrange to run these tests.
23673         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23674         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23675
23676 2011-02-20  Bruno Haible  <bruno@clisp.org>
23677
23678         wcrtomb: Enhance test.
23679         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23680
23681 2011-02-20  Bruno Haible  <bruno@clisp.org>
23682
23683         mbrtowc: Tiny optimization.
23684         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23685
23686 2011-02-20  Jim Meyering  <meyering@redhat.com>
23687
23688         test-exclude.c: remove unmatched #endif
23689         * tests/test-exclude.c: Remove stray #endif, left over from
23690         the change of a week ago.
23691
23692 2011-02-19  Jim Meyering  <meyering@redhat.com>
23693
23694         git-version-gen: skip "-dirty" check when appropriate
23695         * build-aux/git-version-gen: Don't run any git commands when the
23696         version string comes from .tarball-version.  Prior to this, we
23697         would run git update-index --refresh even from a just-unpacked
23698         tarball directory, and that could affect a .git/ directory in a
23699         parent of the build directory.  Reported by Mike Frysinger.
23700
23701 2011-02-19  Bruno Haible  <bruno@clisp.org>
23702
23703         unictype/property-byname: Reduce the size of the 'data' segment.
23704         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23705
23706 2011-02-19  Bruno Haible  <bruno@clisp.org>
23707
23708         unictype/scripts: Reduce the size of the 'data' segment.
23709         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23710         '%pic'.
23711         * lib/unictype/scripts_byname.gperf: Regenerated.
23712
23713 2011-02-19  Bruno Haible  <bruno@clisp.org>
23714
23715         stdint: Update documentation.
23716         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23717
23718 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23719
23720         stdint: omit redundant check for wchar.h
23721         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23722         always tests whether wchar.h exists, so remove the now-redundant test.
23723
23724 2011-02-18  Bruno Haible  <bruno@clisp.org>
23725
23726         stdint: Cut dependency to module 'wchar'.
23727         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23728         include the necessary prerequisites.
23729         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23730         * modules/stdint (Depends-on): Remove wchar.
23731         (Makefile.am): Substitute HAVE_WCHAR_H.
23732         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23733
23734 2011-02-18  Eric Blake  <eblake@redhat.com>
23735
23736         longlong: skip, rather than fail, on cross-compilation
23737         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23738         when cross-compiling; regression from 2011-02-16.
23739
23740 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23741
23742         * NEWS: Mention 2011-02-08 change to stdlib.
23743
23744 2011-02-17  Bruno Haible  <bruno@clisp.org>
23745
23746         getloadavg: Add comments about platforms.
23747         * m4/getloadavg.m4: Add comment.
23748         * lib/getloadavg.c: Likewise.
23749
23750 2011-02-17  Bruno Haible  <bruno@clisp.org>
23751
23752         getloadavg: Fix link error on Solaris 2.6.
23753         * modules/getloadavg (Link): New section.
23754         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23755         linking test-getloadavg.
23756         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23757         getloadavg.
23758
23759 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23760
23761         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23762         It was 'int', but this doesn't match the IRIX 6.5 manual.
23763         Suggested by Bruno Haible in
23764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23765
23766 2011-02-17  Bruno Haible  <bruno@clisp.org>
23767
23768         havelib: Fix comments.
23769         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23770         change.
23771
23772 2011-02-17  Bruno Haible  <bruno@clisp.org>
23773
23774         havelib: Update config.rpath.
23775         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23776
23777 2011-02-17  Bruno Haible  <bruno@clisp.org>
23778
23779         getloadavg test: Add some plausibility checks.
23780         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23781         is improbable.
23782
23783 2011-02-16  Eric Blake  <eblake@redhat.com>
23784
23785         maintainer-makefile: make syntax-check a no-op from tarballs
23786         * top/maint.mk (no-vc-detected): New rule.
23787         (local-checks-available): Use it to avoid hanging if someone tries
23788         'make syntax-check' from a tarball.  Also append to any non-syntax
23789         checks already defined in cfg.mk.
23790
23791 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23792
23793         longlong: tune, particularly for common case of c99
23794
23795         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23796         or running anything if c99, or if unsigned long long int does not
23797         work.  In either case, we know the answer without further tests.
23798         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23799         it at most once, and use its results for both long long int and
23800         unsigned long long int.  This is more likely to be efficient in
23801         the common case where the program wants to check for both long
23802         long int and unsigned long long int.
23803         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23804         since the answer is already known.
23805
23806 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23807
23808         getloadavg: set errno
23809         * lib/getloadavg.c: Set errno when returning -1.  If no other
23810         error number looks appropriate, set it to ENOSYS if the getloadavg
23811         looks like it can't possibly ever work, ENOTSUP otherwise.
23812         Suggested by Bruno Haible in
23813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23814
23815         getloadavg: trim unused parts and speed up 'configure'
23816         * NEWS: Document this.
23817         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23818         always compiled if getloadavg is absent.
23819         Move test code to ...
23820         * tests/test-getloadavg.c: New file, containing previous
23821         contents of test from lib/getloadavg.c.  It also contains
23822         suggestions by Bruno Haible in
23823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23824         * modules/getloadavg-tests: New file.
23825         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23826         Do tests in the same order as they're needed for getloadavg.c.
23827         Omit setgid-related tests that generate symbols KMEM_GROUP,
23828         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23829         Do only the tests that are needed to see whether the system has
23830         getloadavg, moving the other tests into ...
23831         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23832         NLIST_NAME_UNION; nobody should be using it.  Do not define
23833         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23834         relevant, as the user of this module shouldn't care how getloadavg
23835         is implemented.
23836
23837         getloadavg: omit unused var
23838         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23839
23840 2011-02-15  Jim Meyering  <meyering@redhat.com>
23841
23842         doc: update users.txt
23843         * users.txt: Update iwhd's URL.
23844
23845 2011-02-13  Bruno Haible  <bruno@clisp.org>
23846
23847         Consistent macro naming for macros that use GCC __attribute__.
23848         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23849         _ATTRIBUTE_NONNULL_.
23850         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23851         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23852         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23853         ATTRIBUTE_DEPRECATED.
23854         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23855         ATTRIBUTE_NORETURN.
23856         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23857         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23858         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23859         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23860         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23861         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23862         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23863         ATTRIBUTE_SENTINEL.
23864         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23865         ATTRIBUTE_RETURN_CHECK.
23866         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23867         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23868         ATTRIBUTE_NORETURN.
23869         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23870         Reported by Paul Eggert.
23871
23872 2011-02-13  Bruno Haible  <bruno@clisp.org>
23873
23874         Don't interfere with a program's definition of __attribute__.
23875         * lib/argp.h (__attribute__): Remove definition.
23876         (_GL_ATTRIBUTE_FORMAT): New macro.
23877         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23878         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23879         (_GL_ATTRIBUTE_FORMAT): New macro.
23880         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23881         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23882         GCC 3 or newer.
23883         * lib/error.h (__attribute__): Remove definition.
23884         (_GL_ATTRIBUTE_FORMAT): New macro.
23885         (error, error_at_line): Use it.
23886         * lib/hash.h (__attribute__): Remove definition.
23887         (ATTRIBUTE_WUR): Update definition. Define always.
23888         * lib/openat.h (__attribute__): Remove definition.
23889         (ATTRIBUTE_NORETURN): Update definition. Define always.
23890         * lib/sigpipe-die.h (__attribute__): Remove definition.
23891         (ATTRIBUTE_NORETURN): Update definition. Define always.
23892         * lib/vasnprintf.h (__attribute__): Remove definition.
23893         (_GL_ATTRIBUTE_FORMAT): New macro.
23894         (asnprintf, vasnprintf): Use it.
23895         * lib/xalloc.h (__attribute__): Remove definition.
23896         (ATTRIBUTE_NORETURN): Update definition. Define always.
23897         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23898         * lib/xmemdup0.h (__attribute__): Remove definition.
23899         (ATTRIBUTE_NORETURN): Update definition. Define always.
23900         * lib/xprintf.h (__attribute__): Remove definition.
23901         (_GL_ATTRIBUTE_FORMAT): New macro.
23902         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23903         * lib/xstrtol.h (__attribute__): Remove definition.
23904         (ATTRIBUTE_NORETURN): Update definition. Define always.
23905         * lib/xvasprintf.h (__attribute__): Remove definition.
23906         (_GL_ATTRIBUTE_FORMAT): New macro.
23907         (xasprintf, xvasprintf): Use it.
23908         * tests/test-argmatch.c (__attribute__): Remove definition.
23909         (ATTRIBUTE_NORETURN): Update definition. Define always.
23910         * tests/test-exclude.c (__attribute__): Remove definition.
23911         (ATTRIBUTE_NORETURN): Update definition. Define always.
23912         Reported by Paul Eggert.
23913
23914 2011-02-13  Bruno Haible  <bruno@clisp.org>
23915
23916         mbrtowc: Add more tests for native Windows platforms.
23917         * tests/test-mbrtowc-w32-1.sh: New file.
23918         * tests/test-mbrtowc-w32-2.sh: New file.
23919         * tests/test-mbrtowc-w32-3.sh: New file.
23920         * tests/test-mbrtowc-w32-4.sh: New file.
23921         * tests/test-mbrtowc-w32-5.sh: New file.
23922         * tests/test-mbrtowc-w32.c: New file.
23923         * modules/mbrtowc-tests (Files): Add them.
23924         (Makefile.am): Arrange to run these tests.
23925         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23926         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23927
23928 2011-02-13  Bruno Haible  <bruno@clisp.org>
23929
23930         mbrtowc: Work around native Windows bug.
23931         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23932         guess when no suitable locale for testing was found.
23933         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23934
23935 2011-02-13  Bruno Haible  <bruno@clisp.org>
23936
23937         mbsinit: Work around mingw bug.
23938         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23939         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23940         Windows.
23941         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23942
23943 2011-02-13  Bruno Haible  <bruno@clisp.org>
23944
23945         mbsinit: Don't crash for a NULL argument.
23946         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23947         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23948
23949 2011-02-13  Bruno Haible  <bruno@clisp.org>
23950
23951         Don't interfere with a program's definition of __attribute__.
23952         * lib/stdio.in.h (__attribute__): Remove definition.
23953         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23954         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23955         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23956         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23957         * lib/string.in.h (__attribute__): Remove definition.
23958         Reported by Paul Eggert.
23959
23960 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23961
23962         stdlib: don't get in the way of non-GCC __attribute__
23963         See thread starting at
23964         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23965         Revert previous stdlib change, installing the following instead:
23966         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23967         to get in the way of a non-GCC compiler that supports __attribute__.
23968         (_GL_ATTRIBUTE_RETURN): New macro.
23969         (_Exit): Use it instead of __attribute__.
23970
23971 2011-02-12  Bruno Haible  <bruno@clisp.org>
23972
23973         quotearg test: Avoid test failure on mingw.
23974         * tests/test-quotearg.sh: Convert the locale identifier from native
23975         Windows syntax to Unix syntax.
23976
23977 2011-02-12  Bruno Haible  <bruno@clisp.org>
23978
23979         setlocale: Prefer gnulib's override over libintl's override.
23980         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23981         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23982         GNULIB_defined_setlocale is set.
23983
23984 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23985
23986         stdlib: support non-GCC __attribute__
23987
23988         Fix a serious and tricky problem encountered when attempting to
23989         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23990         5.5, but it crashed due to memory corruption on Solaris 10 with
23991         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23992         bits that are otherwise zero.  This tagging is optional inside
23993         Emacs but is preferred and is used when __attribute__ ((__aligned
23994         (8))) works, as it does with both recent-enough GCC and with Sun C
23995         5.11.  However, Sun C 5.11 is not GCC and does not #define
23996         __GNUC__ and __GNUC_MINOR__.
23997
23998         When I added the getloadavg module to Emacs, it brought in
23999         stdlib.in.h, which contained this fragment:
24000
24001            #ifndef __attribute__
24002            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24003            #  define __attribute__(Spec)   /* empty */
24004            # endif
24005            #endif
24006
24007         When files that include <stdlib.h> were compiled with Sun C 5.11,
24008         the above code disabled __attribute__ ((__aligned (8))), which
24009         caused variables to not be properly aligned, which eventually led
24010         to the pointer corruption mentioned above.  (This was a bit hard
24011         to diagnose, unfortunately.)
24012
24013         Several "#define __attribute__(X) /* empty */" code snippets need
24014         to be eradicated from Gnulib to work with non-GCC compilers that
24015         support __attribute__.  The Autoconf way to do this is to test for
24016         each kind of attribute that we want support for, and selectively
24017         enable that in source code.
24018
24019         Fix this problem just for stdlib.h, by adding a test for the
24020         __noreturn__ attribute, and change stdlib.in.h to use that test
24021         when needed.  This technique can be easily generalized to the
24022         other *.in.h files and attributes, and a similar technique can be
24023         used for *.h and *.c files.  This patch is enough to solve the
24024         problem for Emacs + getloadavg, and I thought I'd publish it for
24025         feedback before undertaking further, similar fixes in other
24026         modules.
24027
24028         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24029         because it's not needed for stdlib.h.  It merely substitutes the
24030         value directly into stdlib.h.  We may well need to #define it, or
24031         similar symbols, for other modules, but it's nice to also have an
24032         option to not #define it for applications like Emacs that do not
24033         need it.
24034
24035         * lib/stdlib.in.h (__attribute__): Do not #define.
24036         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24037         be defined only if the _Exit module is also used.
24038         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24040         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24041         platforms.
24042         * modules/_Exit (Files): Add m4/attribute.m4.
24043         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24044         * m4/attribute.m4: New file.
24045
24046 2011-02-12  Bruno Haible  <bruno@clisp.org>
24047
24048         wcsrtombs: Work around bug on native Windows.
24049         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24050         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24051         instead of len.
24052         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24053
24054 2011-02-12  Bruno Haible  <bruno@clisp.org>
24055
24056         mbsrtowcs: Work around bug on native Windows.
24057         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24058         against mingw bug.
24059         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24060
24061 2011-02-12  Bruno Haible  <bruno@clisp.org>
24062
24063         Avoid setlocale bugs in tests.
24064         * modules/btowc (Dependencies): Add setlocale.
24065         * modules/c-strcase (Dependencies): Likewise.
24066         * modules/mbmemcasecmp (Dependencies): Likewise.
24067         * modules/mbmemcasecoll (Dependencies): Likewise.
24068         * modules/mbrtowc (Dependencies): Likewise.
24069         * modules/mbscasecmp (Dependencies): Likewise.
24070         * modules/mbscasestr (Dependencies): Likewise.
24071         * modules/mbschr (Dependencies): Likewise.
24072         * modules/mbscspn (Dependencies): Likewise.
24073         * modules/mbsinit (Dependencies): Likewise.
24074         * modules/mbsncasecmp (Dependencies): Likewise.
24075         * modules/mbsnrtowcs (Dependencies): Likewise.
24076         * modules/mbspbrk (Dependencies): Likewise.
24077         * modules/mbspcasecmp (Dependencies): Likewise.
24078         * modules/mbsrchr (Dependencies): Likewise.
24079         * modules/mbsrtowcs (Dependencies): Likewise.
24080         * modules/mbsspn (Dependencies): Likewise.
24081         * modules/mbsstr (Dependencies): Likewise.
24082         * modules/nl_langinfo (Dependencies): Likewise.
24083         * modules/quotearg (Dependencies): Likewise.
24084         * modules/unicase/locale-language (Dependencies): Likewise.
24085         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24086         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24087         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24088         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24089         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24090         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24091         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24092         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24093         * modules/vasnprintf-posix (Dependencies): Likewise.
24094         * modules/wcrtomb (Dependencies): Likewise.
24095         * modules/wcsnrtombs (Dependencies): Likewise.
24096         * modules/wcsrtombs (Dependencies): Likewise.
24097
24098 2011-02-12  Bruno Haible  <bruno@clisp.org>
24099
24100         setlocale: Workaround native Windows bug.
24101         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24102         succeeds but sets LC_CTYPE to "C", report a failure.
24103         * tests/test-setlocale2.sh: New file.
24104         * tests/test-setlocale2.c: New file.
24105         * modules/setlocale-tests (Files): Add the new files.
24106         (Makefile.am): Enable test-setlocale2.sh test.
24107         * doc/posix-functions/setlocale.texi: Mention workaround.
24108
24109 2011-02-11  Bruno Haible  <bruno@clisp.org>
24110
24111         Tests for module 'setlocale'.
24112         * modules/setlocale-tests: New file.
24113         * tests/test-setlocale1.sh: New file.
24114         * tests/test-setlocale1.c: New file.
24115
24116         New module 'setlocale'.
24117         * lib/locale.in.h (setlocale): New declaration.
24118         * lib/setlocale.c: New file, based on
24119         gettext/gettext-runtime/intl/setlocale.c.
24120         * m4/setlocale.m4: New file.
24121         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24122         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24123         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24124         REPLACE_SETLOCALE.
24125         * modules/setlocale: New file.
24126         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24127         * doc/posix-functions/setlocale.texi: Mention the new module.
24128
24129 2011-02-11  Bruno Haible  <bruno@clisp.org>
24130
24131         Prepare for locale dependent tests on mingw.
24132         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24133         because it has the wrong locale encoding.
24134         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24135         French_France.1252 instead of "fr".
24136         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24137         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24138         because it has the wrong locale encoding.
24139         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24140         native Windows, try Turkish_Turkey.65001.
24141         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24142         Chinese_China.54936.
24143
24144         Prepare for locale dependent tests on mingw.
24145         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24146         differently.
24147         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24148         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24149         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24150         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24151
24152 2011-02-11  Eric Blake  <eblake@redhat.com>
24153
24154         strptime: avoid compiler warnings
24155         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24156         compiler warnings about dead code.
24157         Reported by Daniel P. Berrange.
24158
24159 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24160
24161         doc: update users.txt
24162         * users.txt: Add rcs.
24163
24164 2011-02-10  John W. Eaton  <jwe@gnu.org>
24165
24166         doc: update users.txt
24167         * users.txt: Add octave.
24168
24169 2011-02-10  Jim Meyering  <meyering@redhat.com>
24170
24171         doc: update users.txt
24172         * users.txt: Add iwhd.
24173
24174 2011-02-09  Bruno Haible  <bruno@clisp.org>
24175
24176         gnulib-tool: Make copyright notice adjustment more robust.
24177         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24178         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24179         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24180         License".
24181         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24182
24183 2011-02-06  Bruno Haible  <bruno@clisp.org>
24184
24185         New module 'towctrans'.
24186         * modules/towctrans: New file.
24187         * lib/wctype.in.h (towctrans): New declaration.
24188         * lib/towctrans.c: New file.
24189         * lib/towctrans-impl.h: New file.
24190         * m4/towctrans.m4: New file.
24191         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24192         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24193         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24194         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24195         * doc/posix-functions/towctrans.texi: Mention the new module.
24196
24197 2011-02-06  Bruno Haible  <bruno@clisp.org>
24198
24199         New module 'wctrans'.
24200         * modules/wctrans: New file.
24201         * lib/wctype.in.h (wctrans): New declaration.
24202         * lib/wctrans.c: New file.
24203         * lib/wctrans-impl.h: New file.
24204         * m4/wctrans.m4: New file.
24205         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24206         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24207         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24208         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24209         * doc/posix-functions/wctrans.texi: Mention the new module.
24210
24211 2011-02-06  Bruno Haible  <bruno@clisp.org>
24212
24213         New module 'iswctype'.
24214         * modules/iswctype: New file.
24215         * lib/wctype.in.h (iswctype): New declaration.
24216         * lib/iswctype.c: New file.
24217         * lib/iswctype-impl.h: New file.
24218         * m4/iswctype.m4: New file.
24219         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24220         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24221         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24222         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24223         * doc/posix-functions/iswctype.texi: Mention the new module and the
24224         HP-UX 11.00 problem.
24225
24226 2011-02-06  Bruno Haible  <bruno@clisp.org>
24227
24228         New module 'wctype'.
24229         * modules/wctype: Change to represent the wctype() substitute.
24230         * lib/wctype.in.h (wctype): New declaration.
24231         * lib/wctype.c: New file.
24232         * lib/wctype-impl.h: New file.
24233         * m4/wctype.m4: New file.
24234         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24235         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24236         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24237         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24238         * doc/posix-functions/wctype.texi: Mention the new module and the
24239         HP-UX 11.00 problem.
24240
24241 2011-02-06  Bruno Haible  <bruno@clisp.org>
24242
24243         wctype-h: Ensure wctype_t and wctrans_t are defined.
24244         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24245         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24246         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24247         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24248         HAVE_WCTRANS_T.
24249         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24250
24251 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24252
24253         flock: fix license typo
24254
24255         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24256         omitted.
24257
24258 2011-02-08  Bruno Haible  <bruno@clisp.org>
24259
24260         Split large sed scripts, for HP-UX sed.
24261         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24262         to avoid HP-UX limit of 99 commands, in the near future.
24263         * modules/stdlib (Makefile.am): Likewise.
24264         * modules/unistd (Makefile.am): Likewise.
24265         * modules/wchar (Makefile.am): Likewise.
24266         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24267         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24268         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24269
24270 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24271             Bruno Haible  <bruno@clisp.org>
24272
24273         stdlib: improve random_r modularization
24274         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24275         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24276         you also need the random_r module to get this material right.
24277         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24278         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24279         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24280
24281 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24282
24283         stdlib: don't depend on stdint
24284         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24285         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24286         be independent of whether stdint.h is needed.
24287         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24288         here, instead of ...
24289         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24290         struct random_data should be using the random_r module, not just
24291         the stdlib module (which wouldn't make sense: what package needs
24292         just struct random_data without also needing random_r?).
24293         * modules/stdlib (Depends-on): Remove stdint.
24294
24295         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24296         See the thread rooted at
24297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24298         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24299         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24300         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24301         __VMS)); previously it was always included (via fcntl--.h).
24302         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24303         hand; this is good enough for load averages.  Also, do not use
24304         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24305         flags directly if available and don't bother otherwise.  (Packages
24306         that need the extra reliability should use the modules that define
24307         these flags on older platforms that lack them.)
24308         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24309         fcntl-safer.
24310
24311 2011-02-08  Jim Meyering  <meyering@redhat.com>
24312
24313         di-set.h, ino-map.h: add multiple-inclusion guard
24314         Technically, the guard is required only for ino-map.h, due to its
24315         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24316         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24317         * lib/ino-map.h: Likewise.
24318
24319 2011-02-06  Bruno Haible  <bruno@clisp.org>
24320
24321         iswblank: Ensure declaration on glibc systems.
24322         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24323         * modules/iswblank (Dependencies): Add 'extensions'.
24324         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24325
24326 2011-02-06  Bruno Haible  <bruno@clisp.org>
24327
24328         New module 'iswblank'.
24329         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24330         * modules/iswblank: New file.
24331         * modules/wctype-h (Files): Remove lib/iswblank.c.
24332         (Makefile.am): Substitute GNULIB_ISWBLANK.
24333         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24334         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24335         (gl_WCTYPE_H_DEFAULTS): New macro.
24336         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24337         * modules/iswblank-tests: New file.
24338         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24339         * tests/test-wctype-h.c (main): Remove iswblank tests.
24340         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24341         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24342         of 'wctype-h'.
24343         * NEWS: Mention the change.
24344         * modules/mbchar (Depends-on): Add iswblank.
24345
24346 2011-02-08  Bruno Haible  <bruno@clisp.org>
24347
24348         di-set tests: Refactor.
24349         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24350         unnecessary includes.
24351         (ASSERT): Remove macro.
24352         (main): Make C90 compliant by avoiding variable declaration after
24353         statement.
24354         * modules/di-set-tests (Files): Add tests/macros.h.
24355
24356 2011-02-08  Bruno Haible  <bruno@clisp.org>
24357
24358         ino-map tests: Refactor.
24359         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24360         unnecessary includes.
24361         (ASSERT): Remove macro.
24362         (main): Make C90 compliant by avoiding variable declaration after
24363         statement.
24364         * modules/ino-map-tests (Files): Add tests/macros.h.
24365
24366 2011-02-08  Jim Meyering  <meyering@redhat.com>
24367
24368         di-set: add "const" to a cast
24369         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24370         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24371
24372 2011-02-06  Bruno Haible  <bruno@clisp.org>
24373
24374         Rename module 'wctype' to 'wctype-h'.
24375         * modules/wctype-h: Renamed from modules/wctype.
24376         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24377         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24378         (Files, Depends-on, Makefile.am): Update.
24379         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24380         (Files, Makefile.am): Update.
24381         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24382         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24383         * doc/posix-headers/wctype.texi: Update.
24384         * doc/posix-functions/iswalnum.texi: Update.
24385         * doc/posix-functions/iswalpha.texi: Update.
24386         * doc/posix-functions/iswblank.texi: Update.
24387         * doc/posix-functions/iswcntrl.texi: Update.
24388         * doc/posix-functions/iswdigit.texi: Update.
24389         * doc/posix-functions/iswgraph.texi: Update.
24390         * doc/posix-functions/iswlower.texi: Update.
24391         * doc/posix-functions/iswprint.texi: Update.
24392         * doc/posix-functions/iswpunct.texi: Update.
24393         * doc/posix-functions/iswspace.texi: Update.
24394         * doc/posix-functions/iswupper.texi: Update.
24395         * doc/posix-functions/iswxdigit.texi: Update.
24396         * doc/posix-functions/towlower.texi: Update.
24397         * doc/posix-functions/towupper.texi: Update.
24398         * NEWS: Mention the change.
24399         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24400         * modules/mbchar (Dependencies): Likewise.
24401         * modules/mbswidth (Dependencies): Likewise.
24402         * modules/quotearg (Dependencies): Likewise.
24403         * modules/regex (Dependencies): Likewise.
24404         * modules/wcscasecmp (Dependencies): Likewise.
24405         * modules/wcsncasecmp (Dependencies): Likewise.
24406         * modules/wcwidth (Dependencies): Likewise.
24407
24408 2011-02-06  Bruno Haible  <bruno@clisp.org>
24409
24410         New module 'wcswidth'.
24411         * modules/wcswidth: New file.
24412         * lib/wchar.in.h (wcswidth): New declaration.
24413         * lib/wcswidth.c: New file.
24414         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24415         * m4/wcswidth.m4: New file.
24416         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24417         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24418         REPLACE_WCSWIDTH.
24419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24420         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24421         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24422         * doc/posix-functions/wcswidth.texi: Mention the new module.
24423
24424 2011-02-06  Bruno Haible  <bruno@clisp.org>
24425
24426         New module 'wcstok'.
24427         * modules/wcstok: New file.
24428         * lib/wchar.in.h (wcstok): New declaration.
24429         * lib/wcstok.c: New file.
24430         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24431         * m4/wcstok.m4: New file.
24432         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24433         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24434         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24435         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24436         * doc/posix-functions/wcstok.texi: Mention the new module.
24437
24438 2011-02-06  Bruno Haible  <bruno@clisp.org>
24439
24440         New module 'wcsstr'.
24441         * modules/wcsstr: New file.
24442         * lib/wchar.in.h (wcsstr): New declaration.
24443         * lib/wcsstr.c: New file.
24444         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24445         * m4/wcsstr.m4: New file.
24446         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24447         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24448         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24449         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24450         * doc/posix-functions/wcsstr.texi: Mention the new module.
24451
24452 2011-02-06  Bruno Haible  <bruno@clisp.org>
24453
24454         New module 'wcspbrk'.
24455         * modules/wcspbrk: New file.
24456         * lib/wchar.in.h (wcspbrk): New declaration.
24457         * lib/wcspbrk.c: New file.
24458         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24459         * m4/wcspbrk.m4: New file.
24460         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24461         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24462         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24463         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24464         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24465
24466 2011-02-06  Bruno Haible  <bruno@clisp.org>
24467
24468         New module 'wcsspn'.
24469         * modules/wcsspn: New file.
24470         * lib/wchar.in.h (wcsspn): New declaration.
24471         * lib/wcsspn.c: New file.
24472         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24473         * m4/wcsspn.m4: New file.
24474         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24475         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24476         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24477         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24478         * doc/posix-functions/wcsspn.texi: Mention the new module.
24479
24480 2011-02-06  Bruno Haible  <bruno@clisp.org>
24481
24482         New module 'wcscspn'.
24483         * modules/wcscspn: New file.
24484         * lib/wchar.in.h (wcscspn): New declaration.
24485         * lib/wcscspn.c: New file.
24486         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24487         * m4/wcscspn.m4: New file.
24488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24490         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24491         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24492         * doc/posix-functions/wcscspn.texi: Mention the new module.
24493
24494 2011-02-06  Bruno Haible  <bruno@clisp.org>
24495
24496         New module 'wcsrchr'.
24497         * modules/wcsrchr: New file.
24498         * lib/wchar.in.h (wcsrchr): New declaration.
24499         * lib/wcsrchr.c: New file.
24500         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24501         * m4/wcsrchr.m4: New file.
24502         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24503         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24505         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24506         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24507
24508 2011-02-06  Bruno Haible  <bruno@clisp.org>
24509
24510         New module 'wcschr'.
24511         * modules/wcschr: New file.
24512         * lib/wchar.in.h (wcschr): New declaration.
24513         * lib/wcschr.c: New file.
24514         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24515         * m4/wcschr.m4: New file.
24516         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24517         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24518         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24519         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24520         * doc/posix-functions/wcschr.texi: Mention the new module.
24521
24522 2011-02-06  Bruno Haible  <bruno@clisp.org>
24523
24524         New module 'wcsdup'.
24525         * modules/wcsdup: New file.
24526         * lib/wchar.in.h (wcsdup): New declaration.
24527         * lib/wcsdup.c: New file.
24528         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24529         * m4/wcsdup.m4: New file.
24530         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24531         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24532         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24533         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24534         * doc/posix-functions/wcsdup.texi: Mention the new module.
24535
24536 2011-02-06  Bruno Haible  <bruno@clisp.org>
24537
24538         New module 'wcsxfrm'.
24539         * modules/wcsxfrm: New file.
24540         * lib/wchar.in.h (wcsxfrm): New declaration.
24541         * lib/wcsxfrm.c: New file.
24542         * lib/wcsxfrm-impl.h: New file.
24543         * m4/wcsxfrm.m4: New file.
24544         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24545         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24546         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24547         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24548         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24549
24550 2011-02-06  Bruno Haible  <bruno@clisp.org>
24551
24552         New module 'wcscoll'.
24553         * modules/wcscoll: New file.
24554         * lib/wchar.in.h (wcscoll): New declaration.
24555         * lib/wcscoll.c: New file.
24556         * lib/wcscoll-impl.h: New file.
24557         * m4/wcscoll.m4: New file.
24558         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24559         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24560         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24561         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24562         * doc/posix-functions/wcscoll.texi: Mention the new module.
24563
24564 2011-02-06  Bruno Haible  <bruno@clisp.org>
24565
24566         New module 'wcsncasecmp'.
24567         * modules/wcsncasecmp: New file.
24568         * lib/wchar.in.h (wcsncasecmp): New declaration.
24569         * lib/wcsncasecmp.c: New file.
24570         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24571         * m4/wcsncasecmp.m4: New file.
24572         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24573         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24574         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24575         HAVE_WCSNCASECMP.
24576         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24577         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24578
24579 2011-02-06  Bruno Haible  <bruno@clisp.org>
24580
24581         New module 'wcscasecmp'.
24582         * modules/wcscasecmp: New file.
24583         * lib/wchar.in.h (wcscasecmp): New declaration.
24584         * lib/wcscasecmp.c: New file.
24585         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24586         * m4/wcscasecmp.m4: New file.
24587         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24588         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24589         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24590         HAVE_WCSCASECMP.
24591         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24592         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24593
24594 2011-02-05  Bruno Haible  <bruno@clisp.org>
24595
24596         New module 'wcsncmp'.
24597         * modules/wcsncmp: New file.
24598         * lib/wchar.in.h (wcsncmp): New declaration.
24599         * lib/wcsncmp.c: New file.
24600         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24601         * m4/wcsncmp.m4: New file.
24602         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24603         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24604         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24605         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24606         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24607
24608 2011-02-05  Bruno Haible  <bruno@clisp.org>
24609
24610         New module 'wcscmp'.
24611         * modules/wcscmp: New file.
24612         * lib/wchar.in.h (wcscmp): New declaration.
24613         * lib/wcscmp.c: New file.
24614         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24615         * m4/wcscmp.m4: New file.
24616         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24617         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24618         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24619         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24620         * doc/posix-functions/wcscmp.texi: Mention the new module.
24621
24622 2011-02-05  Bruno Haible  <bruno@clisp.org>
24623
24624         New module 'wcsncat'.
24625         * modules/wcsncat: New file.
24626         * lib/wchar.in.h (wcsncat): New declaration.
24627         * lib/wcsncat.c: New file.
24628         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24629         * m4/wcsncat.m4: New file.
24630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24632         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24633         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24634         * doc/posix-functions/wcsncat.texi: Mention the new module.
24635
24636 2011-02-05  Bruno Haible  <bruno@clisp.org>
24637
24638         New module 'wcscat'.
24639         * modules/wcscat: New file.
24640         * lib/wchar.in.h (wcscat): New declaration.
24641         * lib/wcscat.c: New file.
24642         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24643         * m4/wcscat.m4: New file.
24644         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24645         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24646         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24647         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24648         * doc/posix-functions/wcscat.texi: Mention the new module.
24649
24650 2011-02-05  Bruno Haible  <bruno@clisp.org>
24651
24652         New module 'wcpncpy'.
24653         * modules/wcpncpy: New file.
24654         * lib/wchar.in.h (wcpncpy): New declaration.
24655         * lib/wcpncpy.c: New file.
24656         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24657         * m4/wcpncpy.m4: New file.
24658         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24659         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24660         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24661         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24662         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24663
24664 2011-02-05  Bruno Haible  <bruno@clisp.org>
24665
24666         New module 'wcsncpy'.
24667         * modules/wcsncpy: New file.
24668         * lib/wchar.in.h (wcsncpy): New declaration.
24669         * lib/wcsncpy.c: New file.
24670         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24671         * m4/wcsncpy.m4: New file.
24672         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24673         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24674         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24675         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24676         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24677
24678 2011-02-05  Bruno Haible  <bruno@clisp.org>
24679
24680         New module 'wcpcpy'.
24681         * modules/wcpcpy: New file.
24682         * lib/wchar.in.h (wcpcpy): New declaration.
24683         * lib/wcpcpy.c: New file.
24684         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24685         * m4/wcpcpy.m4: New file.
24686         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24687         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24688         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24689         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24690         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24691
24692 2011-02-05  Bruno Haible  <bruno@clisp.org>
24693
24694         New module 'wcscpy'.
24695         * modules/wcscpy: New file.
24696         * lib/wchar.in.h (wcscpy): New declaration.
24697         * lib/wcscpy.c: New file.
24698         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24699         * m4/wcscpy.m4: New file.
24700         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24701         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24702         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24703         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24704         * doc/posix-functions/wcscpy.texi: Mention the new module.
24705
24706 2011-02-05  Bruno Haible  <bruno@clisp.org>
24707
24708         New module 'wcsnlen'.
24709         * modules/wcsnlen: New file.
24710         * lib/wchar.in.h (wcsnlen): New declaration.
24711         * lib/wcsnlen.c: New file.
24712         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24713         * m4/wcsnlen.m4: New file.
24714         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24715         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24716         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24717         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24718         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24719
24720 2011-02-05  Bruno Haible  <bruno@clisp.org>
24721
24722         New module 'wcslen'.
24723         * modules/wcslen: New file.
24724         * lib/wchar.in.h (wcslen): New declaration.
24725         * lib/wcslen.c: New file.
24726         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24727         * m4/wcslen.m4: New file.
24728         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24729         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24730         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24731         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24732         * doc/posix-functions/wcslen.texi: Mention the new module.
24733
24734 2011-02-05  Bruno Haible  <bruno@clisp.org>
24735
24736         New module 'wmemset'.
24737         * modules/wmemset: New file.
24738         * lib/wchar.in.h (wmemset): New declaration.
24739         * lib/wmemset.c: New file.
24740         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24741         * m4/wmemset.m4: New file.
24742         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24743         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24744         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24745         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24746         * doc/posix-functions/wmemset.texi: Mention the new module.
24747
24748 2011-02-05  Bruno Haible  <bruno@clisp.org>
24749
24750         New module 'wmemmove'.
24751         * modules/wmemmove: New file.
24752         * lib/wchar.in.h (wmemmove): New declaration.
24753         * lib/wmemmove.c: New file.
24754         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24755         * m4/wmemmove.m4: New file.
24756         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24757         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24758         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24759         HAVE_WMEMMOVE.
24760         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24761         * doc/posix-functions/wmemmove.texi: Mention the new module.
24762
24763 2011-02-05  Bruno Haible  <bruno@clisp.org>
24764
24765         New module 'wmemcpy'.
24766         * modules/wmemcpy: New file.
24767         * lib/wchar.in.h (wmemcpy): New declaration.
24768         * lib/wmemcpy.c: New file.
24769         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24770         * m4/wmemcpy.m4: New file.
24771         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24772         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24773         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24774         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24775         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24776
24777 2011-02-05  Bruno Haible  <bruno@clisp.org>
24778
24779         New module 'wmemcmp'.
24780         * modules/wmemcmp: New file.
24781         * lib/wchar.in.h (wmemcmp): New declaration.
24782         * lib/wmemcmp.c: New file.
24783         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24784         * m4/wmemcmp.m4: New file.
24785         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24786         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24787         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24788         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24789         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24790
24791 2011-02-07  Jim Meyering  <meyering@redhat.com>
24792
24793         di-set, ino-map: new modules, from coreutils
24794         * lib/di-set.c: New file.
24795         * lib/di-set.h: Likewise.
24796         * lib/ino-map.c: Likewise.
24797         * lib/ino-map.h: Likewise.
24798         * modules/di-set: Likewise.
24799         * modules/di-set-tests: Likewise.
24800         * modules/ino-map: Likewise.
24801         * modules/ino-map-tests: Likewise.
24802         * tests/test-di-set.c: Likewise.
24803         * tests/test-ino-map.c: Likewise.
24804
24805 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24806
24807         getloadavg: merge minor changes from Emacs
24808
24809         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24810         (getloadavg): Use memset, not bzero.
24811
24812         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24813         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24814         clash (bug#86).
24815
24816 2010-11-14  Bruno Haible  <bruno@clisp.org>
24817
24818         Allow multiple gnulib generated replacements to coexist.
24819         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24820         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24821         * lib/langinfo.in.h (nl_item): Likewise.
24822         * lib/math.in.h (_NaN, NAN): Likewise.
24823         * lib/netdb.in.h (struct addrinfo): Likewise.
24824         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24825         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24826         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24827         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24828         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24829         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24830         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24831         pthread_mutexattr_init, pthread_mutexattr_settype,
24832         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24833         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24834         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24835         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24836         * lib/sched.in.h (struct sched_param): Likewise.
24837         * lib/se-selinux.in.h (security_class_t, security_context_t,
24838         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24839         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24840         lsetfilecon, fsetfilecon, security_check_context,
24841         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24842         Likewise.
24843         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24844         Likewise.
24845         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24846         _gl_function_taking_int_returning_void_t, union sigval,
24847         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24848         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24849         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24850         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24851         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24852         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24853         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24854         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24855         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24856         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24857         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24858         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24859         socklen_t, rpl_fd_isset): Likewise.
24860         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24861         * lib/sys_time.in.h (struct timeval): Likewise.
24862         * lib/sys_times.in.h (struct tms): Likewise.
24863         * lib/sys_utsname.in.h (struct utsname):
24864         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24865         * lib/unistd.in.h (getpagesize): Likewise.
24866         * lib/wchar.in.h (mbstate_t): Likewise.
24867         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24868         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24869         towlower, towupper): Likewise.
24870         Reported by Sam Steingold <sds@gnu.org>.
24871
24872 2011-02-05  Eric Blake  <eblake@redhat.com>
24873
24874         unsetenv: work around Haiku issues
24875         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24876         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24877
24878 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24879
24880         libposix: avoid calling error() within libposix
24881         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24882         is defined.
24883
24884 2011-02-05  Eric Blake  <eblake@redhat.com>
24885
24886         strerror_r-posix: port to cygwin
24887         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24888         implementation.
24889         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24890         * tests/test-strerror_r.c (main): Fix test.
24891         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24892         issue.
24893
24894 2011-02-05  Bruno Haible  <bruno@clisp.org>
24895
24896         New module 'wmemchr'.
24897         * modules/wmemchr: New file.
24898         * lib/wchar.in.h (wmemchr): New declaration.
24899         * lib/wmemchr.c: New file.
24900         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24901         * m4/wmemchr.m4: New file.
24902         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24903         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24904         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24905         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24906         * doc/posix-functions/wmemchr.texi: Mention the new module.
24907
24908 2011-02-04  Eric Blake  <eblake@redhat.com>
24909
24910         fdopendir: detect FreeBSD bug
24911         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24912         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24913
24914 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24915
24916         stdbool: do not define HAVE_STDBOOL_H
24917         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24918         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24919         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24920         imported from the latest Autoconf git.  It was motivated by Emacs,
24921         which uses gnulib but does not need HAVE_STDBOOL_H.
24922
24923 2011-02-04  Bruno Haible  <bruno@clisp.org>
24924
24925         wcsnrtombs: Prepare for new module wwcsnrtombs.
24926         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24927         * lib/wcsnrtombs.c: Include it.
24928         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24929
24930         wcsrtombs: Prepare for new module wwcsrtombs.
24931         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24932         * lib/wcsrtombs.c: Include it.
24933         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24934
24935         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24936         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24937         * lib/mbsnrtowcs.c: Include it.
24938         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24939
24940         mbsrtowcs: Prepare for new module mbsrtowwcs.
24941         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24942         * lib/mbsrtowcs.c: Include it.
24943         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24944
24945 2011-02-04  Bruno Haible  <bruno@clisp.org>
24946
24947         vasnprintf: Reduce use of malloc for small format strings.
24948         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24949         (arguments): Add room for the first 7 arguments.
24950         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24951         (char_directives, u8_directives, u16_directives, u32_directives): Add
24952         room for the first 7 directives.
24953         * lib/printf-parse.c: Include <string.h>.
24954         (PRINTF_PARSE): Change memory handling code so that it uses the first
24955         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24956         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24957         Reported by Pádraig Brady <P@draigbrady.com>.
24958
24959 2011-01-31  Eric Blake  <eblake@redhat.com>
24960
24961         dup2: work around Haiku bug
24962         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24963         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24964         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24965         * tests/test-dup2.c (main): Enhance test.
24966
24967 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24968
24969         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24970         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24971         declared by eglibc 2.11.2.
24972         * lib/stdio.in.h: Likewise.
24973
24974 2011-01-31  Eric Blake  <eblake@redhat.com>
24975
24976         ignore-value: add missing test dependency
24977         * tests/test-ignore-value.c: Revert previous change; stdio.h
24978         provides off_t.
24979         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24980
24981 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24982
24983         mktime: clarify long_int width checking
24984         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24985         the top level, to make it clearer that the assumption about
24986         long_int width is being checked.  See
24987         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24988
24989 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24990
24991         ignore-value: Fix self-test.
24992         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24993
24994 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24995
24996         TYPE_MAXIMUM: avoid theoretically undefined behavior
24997         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24998         negative number, which the C Standard says has undefined behavior.
24999         In practice this is not a problem, but might as well do it by the book.
25000         Reported by Rich Felker and Eric Blake; see
25001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25002         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25003         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25004         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25005         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25006         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25007         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25008
25009         mktime: #undef mktime before #defining it
25010         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25011
25012         mktime: systematically normalize tm_isdst comparisons
25013         * lib/mktime.c (isdst_differ): New function.
25014         (__mktime_internal): Use it systematically for all isdst comparisons.
25015         This completes the fix for libc BZ #6723, and removes the need for
25016         normalizing tm_isdst.  See
25017         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25018         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25019
25020         mktime: fix some integer overflow issues and sidestep the rest
25021
25022         This was prompted by a bug report by Benjamin Lindner for MinGW
25023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25024         His bug is due to signed integer overflow (0 - INT_MIN), and I
25025         I scanned through mktime.c looking for other integer overflow
25026         problems, fixing all the bugs I found.
25027
25028         Although the C Standard says the resulting code is still not safe
25029         in the presence of integer overflow, in practice it should be good
25030         enough for all real-world two's-complement implementations, except
25031         for debugging environments that deliberately trap on integer
25032         overflow (e.g., gcc -ftrapv).
25033
25034         * lib/mktime.c (WRAPV): New macro.
25035         (SHR): Also check that long_int and time_t shift right in the
25036         usual way, before using the fast-but-unportable method.
25037         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25038         used.  The code already assumed two's complement, so there's
25039         no need to test for alternatives.  All uses removed.
25040         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25041         the C standard.  Problem reported by Rich Felker in
25042         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25043         (twos_complement_arithmetic): Also check long_int and time_t.
25044         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25045         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25046         (__mktime_internal): Avoid integer overflow with unary subtraction
25047         in two instances where -1 - X is an adequate replacement for -X,
25048         since the calculations are approximate.
25049
25050 2011-01-29  Eric Blake  <eblake@redhat.com>
25051
25052         mktime: avoid infinite loop
25053         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25054         type; behavior is still undefined but portable to all known targets.
25055         Reported by Rich Felker.
25056
25057 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25058
25059         rename, unlink, same-inode: Relicense.
25060         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25061         * modules/unlink (License): Likewise.
25062         * modules/same-inode (License): Likewise.
25063
25064 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25065
25066         mktime: avoid problems on NetBSD 5 / i386
25067         * lib/mktime.c (long_int): New type.  This works around a problem
25068         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25069         but time_t is 64 bits, and where I expect the existing code is
25070         wrong in some cases.
25071         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25072         (ydhms_diff): Bring back the compile-time check for wide-enough
25073         year and yday.
25074
25075         mktime: fix misspelling in comment
25076         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25077         This merges all recent glibc changes of importance.
25078
25079 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25080
25081         move-if-change: cope with concurrent mv of identical file.
25082         * build-aux/move-if-change (CMPPROG): Accept environment
25083         variable as an override for `cmp'.
25084         (usage): Document CMPPROG.
25085         Adjust comparison to drop stdout.  Cope with failure of mv if
25086         the target file exists and is identical to the source, for
25087         parallel builds.
25088         Report from H.J. Lu against binutils in PR binutils/12283.
25089
25090 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25091
25092         * users.txt: Mention sharutils.
25093
25094 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25095
25096         * users.txt: Mention OATH Toolkit.
25097
25098 2011-01-27  Bruno Haible  <bruno@clisp.org>
25099
25100         Prepare for supporting FreeBSD 10.
25101         * build-aux/config.libpath: Remove handling of freebsd1*.
25102
25103 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25104
25105         Prepare for supporting FreeBSD 10.
25106         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25107         match FreeBSD 10.0.
25108
25109 2011-01-27  Bruno Haible  <bruno@clisp.org>
25110
25111         vma-iter, get-rusage-as: Add OpenBSD support.
25112         * modules/vma-iter (configure.ac): Test for mquery.
25113         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25114         * lib/vma-iter.c: Include <sys/mman.h>.
25115         (vma_iterate): Add an implementation based on mquery().
25116         * lib/resource-ext.h (get_rusage_as): Update comments.
25117         * lib/get-rusage-as.c: Likewise.
25118         * lib/get-rusage-data.c: Likewise.
25119
25120 2011-01-26  Karl Berry  <karl@gnu.org>
25121
25122         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25123         variables to make it easier to override the makeinfo program used.
25124
25125 2011-01-26  Eric Blake  <eblake@redhat.com>
25126
25127         fcntl: work around Haiku F_DUPFD bugs
25128         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25129         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25130         cloexec bit on duplication.
25131         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25132
25133 2011-01-26  Bruno Haible  <bruno@clisp.org>
25134
25135         Enable memory leak tests on AIX.
25136         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25137         * tests/test-fprintf-posix3.c (main): Likewise.
25138
25139 2011-01-26  Bruno Haible  <bruno@clisp.org>
25140
25141         Tests for module 'get-rusage-data'.
25142         * modules/get-rusage-data-tests: New file.
25143         * tests/test-get-rusage-data.c: New file.
25144
25145         New module 'get-rusage-data'.
25146         * lib/resource-ext.h (get_rusage_data): New declaration.
25147         * lib/get-rusage-data.c: New file.
25148         * modules/get-rusage-data: New file.
25149
25150 2011-01-25  Bruno Haible  <bruno@clisp.org>
25151
25152         get-rusage-as: Allow for easier testing.
25153         * lib/resource-ext.h (get_rusage_as): Add comment.
25154         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25155         (main): New function for interactive testing.
25156
25157 2011-01-25  Bruno Haible  <bruno@clisp.org>
25158
25159         vma-iter: Treat Haiku like BeOS.
25160         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25161         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25162
25163 2011-01-25  Eric Blake  <eblake@redhat.com>
25164
25165         c-stack: fix regression on cygwin when libsigsegv is present
25166         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25167
25168 2011-01-24  Bruno Haible  <bruno@clisp.org>
25169
25170         vma-iter: Avoid empty intervals.
25171         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25172         on an empty interval.
25173
25174 2011-01-24  Jim Meyering  <meyering@redhat.com>
25175
25176         u64: remove unnecessary #include
25177         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25178
25179 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25180
25181         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25182         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25183
25184 2011-01-23  Bruno Haible  <bruno@clisp.org>
25185
25186         New module 'vma-iter'.
25187         * lib/vma-iter.h: New file.
25188         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25189         * modules/vma-iter: New file.
25190         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25191         for get_rusage_as_via_iterator.
25192         (vma_iterate_callback): New function.
25193         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25194         * modules/get-rusage-as (Depends-on): Add vma-iter.
25195
25196 2011-01-23  Bruno Haible  <bruno@clisp.org>
25197
25198         uninorm: Tweak includes.
25199         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25200         Reported by Jim Meyering.
25201
25202 2011-01-23  Bruno Haible  <bruno@clisp.org>
25203
25204         get-rusage-as: Improve on NetBSD.
25205         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25206         /proc, like on FreeBSD.
25207
25208 2011-01-23  Jim Meyering  <meyering@redhat.com>
25209
25210         xreadlink.h: remove unnecessary #include
25211         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25212
25213         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25214         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25215
25216 2011-01-23  Bruno Haible  <bruno@clisp.org>
25217
25218         get-rusage-as: Fix bug.
25219         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25220         original limit when aborting the first loop.
25221
25222 2011-01-23  Bruno Haible  <bruno@clisp.org>
25223
25224         wctype: Ensure valid C syntax.
25225         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25226         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25227
25228 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25229
25230         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25231         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25232         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25233         as they are needed only for configure's test case.
25234         This removes two unnecessary symbols from config.h.
25235
25236         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25237         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25238         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25239         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25240         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25241         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25242         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25243         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25244         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25245         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25246         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25247         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25248         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25249         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25250         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25251         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25252         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25253         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25254
25255 2011-01-21  Eric Blake  <eblake@redhat.com>
25256
25257         maintainer-makefile: work with older git for submodule check
25258         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25259         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25260         Reported by Matthias Bolte.
25261
25262         bootstrap: minor portability fixes
25263         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25264         (usage): Omit leading capital and trailing . on help phrases, per
25265         GNU Coding Standards.
25266         (check_versions, top level): Prefix messages with script name.
25267
25268 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25269
25270         bootstrap: support --no-git option
25271         * build-aux/bootstrap: Add --no-git option, to be used when
25272         --gnulib-srcdir points to the exact desired checkout.
25273
25274 2011-01-21  Eric Blake  <eblake@redhat.com>
25275
25276         strerror_r-posix: work with glibc 2.13
25277         * lib/strerror_r.c (strerror_r): Fix return type.
25278
25279 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25280             Bruno Haible  <bruno@clisp.org>
25281
25282         uN_strstr: New unit tests.
25283         * modules/unistr/u8-strstr-tests: New file.
25284         * modules/unistr/u16-strstr-tests: New file.
25285         * modules/unistr/u32-strstr-tests: New file.
25286         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25287         * tests/unistr/test-u8-strstr.c: New file.
25288         * tests/unistr/test-u16-strstr.c: New file.
25289         * tests/unistr/test-u32-strstr.c: New file.
25290
25291 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25292             Bruno Haible  <bruno@clisp.org>
25293
25294         Make uN_strstr functions O(n) worst-case.
25295         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25296         16-bit and 32-bit unit cases, use the unibyte algorithm from
25297         lib/mbsstr.c.
25298         * lib/unistr/u8-strstr.c: Include <string.h>.
25299         (UNIT_IS_UINT8_T): New macro.
25300         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25301         (U_STRLEN, U_STRNLEN): New macros.
25302         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25303         (U_STRLEN, U_STRNLEN): New macros.
25304         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25305         (configure.ac): Update required libunistring version.
25306         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25307         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25308         malloca.
25309         (configure.ac): Update required libunistring version.
25310         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25311         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25312         malloca.
25313         (configure.ac): Update required libunistring version.
25314
25315 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25316             Bruno Haible  <bruno@clisp.org>
25317
25318         Prepare for faster uN_strstr functions.
25319         * lib/str-kmp.h: Support definable UNITs.
25320         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25321         needle_len argument.
25322         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25323         * lib/mbscasestr.c (mbscasestr): Likewise.
25324
25325 2011-01-21  Pádraig Brady <P@draigBrady.com>
25326
25327         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25328         * tests/test-malloca.c (main): Unset the environment variable
25329         to greatly speed up the test.
25330         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25331         * modules/malloca-tests: Depend on unsetenv.
25332
25333 2011-01-21  Pádraig Brady <P@draigBrady.com>
25334
25335         ignore-value: remove stdint dependency
25336         * lib/ignore-value.h: Remove <stdint.h>
25337         * modules/ignore-value: Remove stdint dependency.
25338
25339 2011-01-21  Jim Meyering  <meyering@redhat.com>
25340
25341         maint.mk: adjust variable name to be consistent with other gl_ vars
25342         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25343         to be lower case.
25344
25345 2011-01-20  Jim Meyering  <meyering@redhat.com>
25346
25347         maint.mk: make "check" depend on public-submodule-commit by default
25348         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25349
25350 2011-01-20  Bruno Haible  <bruno@clisp.org>
25351
25352         mbfile, mbiter: Complete change from 2008-12-21.
25353         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25354         * m4/mbiter.m4 (gl_MBITER): Likewise.
25355
25356 2011-01-20  Jim Meyering  <meyering@redhat.com>
25357
25358         init.sh: insert space between each function name and "()"
25359         * tests/init.sh: Make it a little easier to see that a function's
25360         name is "warn_", and not "warn" when looking at the first part of
25361         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25362
25363 2011-01-20  Jim Meyering  <meyering@redhat.com>
25364
25365         mountlist: clean up code formatting
25366         * lib/mountlist.c (read_file_system_list): Split a long line,
25367         correct bracing style, use NULL in place of "(struct statfs *)0",
25368         don't parenthesize return value, add spaces around "=" and after
25369         ";-in-for-stmt".
25370
25371 2011-01-14  Markus Duft <mduft@gentoo.org>
25372
25373         mountlist: add support for Interix
25374         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25375         Apply statvfs to all entries of /dev/fs.
25376         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25377         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25378
25379 2011-01-20  Jim Meyering  <meyering@redhat.com>
25380
25381         maint.mk: improve the public-submodule-commit rule
25382         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25383         to suppress printing of its commands... unless V=1.
25384         Add git submodule's --quiet option to suppress printing of e.g.,
25385         "Entering gnulib" output.
25386         "cd" into $(srcdir) before running git submodule.
25387
25388 2011-01-20  Bruno Haible  <bruno@clisp.org>
25389
25390         include_next: Fix bug introduced on 2011-01-18.
25391         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25392         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25393         ac_cv_header_... variable if the second argument is not 'check'.
25394         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25395         gl_NEXT_HEADERS_INTERNAL.
25396
25397 2011-01-20  Bruno Haible  <bruno@clisp.org>
25398
25399         Allow the user to avoid the GNULIB_TEST_* macros.
25400         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25401         Suggested by Paul Eggert.
25402
25403 2011-01-14  Jim Meyering  <meyering@redhat.com>
25404
25405         bootstrap: avoid failure when there is no .gitmodules file
25406         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25407         has been assigned to, even when its value is the empty string.
25408         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25409         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25410         Reported by John W. Eaton <jwe@gnu.org>.
25411
25412 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25413
25414         assume <ctype.h>, ..., <time.h> exist
25415         For years gnulib has been assuming the existence of the headers
25416         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25417         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25418         them, since they don't appear to be needed.
25419         * README (Portability guidelines): Document this.
25420         * lib/flock.c: Assume <fcntl.h> exists.
25421         * lib/regex_internal.h: Assume <locale.h> exists.
25422         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25423         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25424         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25425         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25426         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25427         * m4/regex.m4 (gl_REGEX): Likewise.
25428         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25429         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25430         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25431         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25432         * tests/test-argp.c: Likewise.
25433         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25434
25435         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25436         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25437         AA_APPLE_UNIVERSAL_BUILD.  See
25438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25439         * NEWS: Document this.
25440
25441 2011-01-19  Eric Blake  <eblake@redhat.com>
25442
25443         c-stack: assume stack overflow if SA_SIGINFO unsupported
25444         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25445         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25446         sigaction will work.
25447         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25448         behavior match Linux.
25449         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25450
25451         stdbool-tests: accommodate Haiku
25452         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25453
25454         binary-io: fix O_TEXT on Haiku
25455         * modules/binary-io (Depends-on): Add fcntl-h.
25456         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25457         than blindly undefining O_TEXT.
25458         Reported by Scott McCreary.
25459
25460 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25461
25462         include_next: do not check for standard headers like stddef.h
25463
25464         I found this problem when modifying Emacs to use gnulib.
25465         I noticed that it added HAVE_STDDEF_H to config.h, even though
25466         gnulib always assumes <stddef.h> exists as per README and this
25467         symbol is unnecessary.
25468         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25469         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25470         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25471         faster for headers like stddef.h that are known to exist.
25472         (gl_CHECK_NEXT_HEADERS): Use it.
25473         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25474         rather than gl_CHECK_NEXT_HEADERS.
25475         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25476         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25477
25478 2011-01-18  Eric Blake  <eblake@redhat.com>
25479
25480         ansi-c++-opt: skip C++ dependency style if C++ is unused
25481         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25482         tests when we know C++ compilation is not desired.
25483         Reported by Scott McCreary.
25484
25485 2011-01-18  Bruno Haible  <bruno@clisp.org>
25486
25487         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25488         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25489         (main): Perform test also when getrlimit and setrlimit don't exist or
25490         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25491         limiting the address space size using setrlimit, compare the address
25492         space size before and after the the test.
25493         * tests/test-dprintf-posix2.c: Likewise.
25494         * tests/test-fprintf-posix3.sh: Update skip messages.
25495         * tests/test-dprintf-posix2.sh: Likewise.
25496         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25497         * modules/dprintf-posix-tests (Depends-on): Likewise.
25498         Reported by Bruce Korb <bkorb@gnu.org> and
25499         Gary V. Vaughan <gary@gnu.org>.
25500
25501 2011-01-18  Bruno Haible  <bruno@clisp.org>
25502
25503         get-rusage-as: Improvement for Cygwin.
25504         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25505         areas that are merely reserved.
25506
25507 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25508
25509         strftime: remove dependencies on multibyte modules
25510
25511         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25512         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25513         only if __osf__ is defined, and I suspect OSF doesn't need these
25514         other modules.  If my guess is wrong, we'll need to come up with a
25515         variant of strftime that doesn't need the multibyte modules.
25516
25517         I discovered this problem when attempting modify Emacs to use the
25518         strftime module.  With the previous gnulib, this caused Emacs to
25519         need 31 new files, ranging from lib/config.charset to
25520         m4/wint_t.m4.  This was overkill and I expect would be offputting
25521         to the Emacs maintainers.  After this change, only 6 new files are
25522         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25523         stdbool.m4, and tm_gmtoff.m4.
25524
25525         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25526         Suggested by Bruno Haible in
25527         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25528         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25529         and do not check for wchar.h.
25530         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25531         (Depends-on): Remove mbrlen, mbsinit, wchar.
25532
25533 2011-01-18  Bruno Haible  <bruno@clisp.org>
25534
25535         Tests for module 'get-rusage-as'.
25536         * modules/get-rusage-as-tests: New file.
25537         * tests/test-get-rusage-as.c: New file.
25538
25539         New module 'get-rusage-as'.
25540         * modules/get-rusage-as: New file.
25541         * lib/resource-ext.h: New file.
25542         * lib/get-rusage-as.c: New file.
25543
25544 2011-01-17  Eric Blake  <eblake@redhat.com>
25545
25546         sigaction: relax license from LGPLv3+ to LGPLv2+
25547         * modules/sigaction (License): Relax to LGPLv2+.
25548
25549 2011-01-14  Bruno Haible  <bruno@clisp.org>
25550
25551         filemode: Make function declarations usable in C++ mode.
25552         * lib/filemode.h: Enclose function declarations in extern "C" block.
25553         Reported by John W. Eaton <jwe@gnu.org>.
25554
25555 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25556
25557         save-cwd: no longer include "xgetcwd.h"
25558         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25559         This avoids a compilation failure in projects that use save-cwd
25560         without also using the xgetcwd module.
25561
25562 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25563
25564         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25565         This is so that a program like Emacs, which needs only dtoastr,
25566         does not have to bother with distributing and compiling ftoastr
25567         and ldtoastr.
25568         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25569         * modules/dtoastr, modules/ldtoastr: New files.
25570         * modules/ftoastr: Now works just for 'float'.
25571         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25572         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25573         dtoastr.c, ldtoastr.c.
25574
25575 2011-01-11  Jim Meyering  <meyering@redhat.com>
25576
25577         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25578         There is no need to work around the lack of the fchdir function,
25579         since gnulib can now provide a replacement when required.
25580         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25581         * modules/save-cwd (Depends-on): Add fchdir.
25582
25583 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25584
25585         openat, save-cwd: avoid xmalloc
25586
25587         This removes a direct (but undocumented) dependency of openat on
25588         xalloc, along with an indirect dependency via save-cwd.  It also
25589         removes a dependency of save-cwd on xgetcwd, and thereby
25590         indirectly on xalloc.  This change causes the openat substitute
25591         to fall back on save_cwd when memory is tight, and for save_cwd to
25592         fail instead of dying when memory is tight, but that's good enough.
25593         Problem and initial idea for fix reported by Bastien Roucaries in
25594         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25595
25596         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25597         xalloc.h (for xmalloc).
25598         (openat_proc_name): Use malloc, not xmalloc.
25599         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25600         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25601
25602         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25603         This avoids heap allocation for file names whose lengths are in
25604         the range 512..1023, with the upper bound increasing to at most
25605         4031 depending on the platform's PATH_MAX.  (We do not want
25606         pathmax.h here as it might supply a non-constant PATH_MAX.)
25607         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25608         Perhaps they should be moved to malloca.h?
25609         (OPENAT_BUFFER_SIZE): Use them.
25610
25611 2011-01-10  Bruno Haible  <bruno@clisp.org>
25612
25613         doc: Update users.txt.
25614         * users.txt: Add recutils.
25615
25616 2011-01-09  Karl Berry  <karl@gnu.org>
25617
25618         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25619
25620         * doc/configmake.texi: New file.
25621         * doc/gnulib.texi: Include it.
25622         * modules/configmake: Move documentation from here.
25623
25624 2011-01-09  Bruno Haible  <bruno@clisp.org>
25625
25626         Update to Unicode 6.0.0.
25627         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25628         (get_lbp): Update for Unicode 6.0.0.
25629         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25630         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25631         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25632         U+11001, U+11038..U+11046. Remove U+06DE.
25633         (uc_width): Fix bounds of planes.
25634         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25635         lib/uniwidth/width.c.
25636         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25637         trailing whitespace removed.
25638         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25639         without comments, but with the original copyright notice.
25640         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25641         * lib/unicase/ignorable.h: Likewise.
25642         * lib/unicase/tocasefold.h: Likewise.
25643         * lib/unicase/tolower.h: Likewise.
25644         * lib/unicase/totitle.h: Likewise.
25645         * lib/unicase/toupper.h: Likewise.
25646         * lib/unictype/bidi_of.h: Likewise.
25647         * lib/unictype/blocks.h: Likewise.
25648         * lib/unictype/categ_C.h: Likewise.
25649         * lib/unictype/categ_Cn.h: Likewise.
25650         * lib/unictype/categ_L.h: Likewise.
25651         * lib/unictype/categ_Ll.h: Likewise.
25652         * lib/unictype/categ_Lm.h: Likewise.
25653         * lib/unictype/categ_Lo.h: Likewise.
25654         * lib/unictype/categ_Lu.h: Likewise.
25655         * lib/unictype/categ_M.h: Likewise.
25656         * lib/unictype/categ_Mc.h: Likewise.
25657         * lib/unictype/categ_Me.h: Likewise.
25658         * lib/unictype/categ_Mn.h: Likewise.
25659         * lib/unictype/categ_N.h: Likewise.
25660         * lib/unictype/categ_Nd.h: Likewise.
25661         * lib/unictype/categ_No.h: Likewise.
25662         * lib/unictype/categ_P.h: Likewise.
25663         * lib/unictype/categ_Po.h: Likewise.
25664         * lib/unictype/categ_S.h: Likewise.
25665         * lib/unictype/categ_Sc.h: Likewise.
25666         * lib/unictype/categ_Sk.h: Likewise.
25667         * lib/unictype/categ_Sm.h: Likewise.
25668         * lib/unictype/categ_So.h: Likewise.
25669         * lib/unictype/categ_of.h: Likewise.
25670         * lib/unictype/combining.h: Likewise.
25671         * lib/unictype/ctype_alnum.h: Likewise.
25672         * lib/unictype/ctype_alpha.h: Likewise.
25673         * lib/unictype/ctype_graph.h: Likewise.
25674         * lib/unictype/ctype_lower.h: Likewise.
25675         * lib/unictype/ctype_print.h: Likewise.
25676         * lib/unictype/ctype_punct.h: Likewise.
25677         * lib/unictype/ctype_upper.h: Likewise.
25678         * lib/unictype/decdigit.h: Likewise.
25679         * lib/unictype/digit.h: Likewise.
25680         * lib/unictype/numeric.h: Likewise.
25681         * lib/unictype/pr_alphabetic.h: Likewise.
25682         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25683         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25684         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25685         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25686         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25687         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25688         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25689         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25690         * lib/unictype/pr_case_ignorable.h: Likewise.
25691         * lib/unictype/pr_cased.h: Likewise.
25692         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25693         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25694         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25695         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25696         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25697         * lib/unictype/pr_combining.h: Likewise.
25698         * lib/unictype/pr_composite.h: Likewise.
25699         * lib/unictype/pr_currency_symbol.h: Likewise.
25700         * lib/unictype/pr_decimal_digit.h: Likewise.
25701         * lib/unictype/pr_deprecated.h: Likewise.
25702         * lib/unictype/pr_format_control.h: Likewise.
25703         * lib/unictype/pr_grapheme_base.h: Likewise.
25704         * lib/unictype/pr_grapheme_extend.h: Likewise.
25705         * lib/unictype/pr_grapheme_link.h: Likewise.
25706         * lib/unictype/pr_id_continue.h: Likewise.
25707         * lib/unictype/pr_id_start.h: Likewise.
25708         * lib/unictype/pr_ideographic.h: Likewise.
25709         * lib/unictype/pr_lowercase.h: Likewise.
25710         * lib/unictype/pr_math.h: Likewise.
25711         * lib/unictype/pr_numeric.h: Likewise.
25712         * lib/unictype/pr_other_alphabetic.h: Likewise.
25713         * lib/unictype/pr_other_id_continue.h: Likewise.
25714         * lib/unictype/pr_other_math.h: Likewise.
25715         * lib/unictype/pr_punctuation.h: Likewise.
25716         * lib/unictype/pr_sentence_terminal.h: Likewise.
25717         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25718         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25719         * lib/unictype/pr_unified_ideograph.h: Likewise.
25720         * lib/unictype/pr_uppercase.h: Likewise.
25721         * lib/unictype/pr_xid_continue.h: Likewise.
25722         * lib/unictype/pr_xid_start.h: Likewise.
25723         * lib/unictype/scripts.h: Likewise.
25724         * lib/unictype/scripts_byname.gperf: Likewise.
25725         * lib/unictype/sy_java_ident.h: Likewise.
25726         * lib/unigbrk/gbrkprop.h: Likewise.
25727         * lib/unilbrk/lbrkprop1.h: Likewise.
25728         * lib/unilbrk/lbrkprop2.h: Likewise.
25729         * lib/uninorm/decomposition-table2.h: Likewise.
25730         * lib/uniwbrk/wbrkprop.h: Likewise.
25731         * tests/unicase/test-cased.c: Likewise.
25732         * tests/unicase/test-ignorable.c: Likewise.
25733         * tests/unicase/test-uc_tolower.c: Likewise.
25734         * tests/unicase/test-uc_totitle.c: Likewise.
25735         * tests/unicase/test-uc_toupper.c: Likewise.
25736         * tests/unictype/test-categ_C.c: Likewise.
25737         * tests/unictype/test-categ_Cn.c: Likewise.
25738         * tests/unictype/test-categ_L.c: Likewise.
25739         * tests/unictype/test-categ_Ll.c: Likewise.
25740         * tests/unictype/test-categ_Lm.c: Likewise.
25741         * tests/unictype/test-categ_Lo.c: Likewise.
25742         * tests/unictype/test-categ_Lu.c: Likewise.
25743         * tests/unictype/test-categ_M.c: Likewise.
25744         * tests/unictype/test-categ_Mc.c: Likewise.
25745         * tests/unictype/test-categ_Me.c: Likewise.
25746         * tests/unictype/test-categ_Mn.c: Likewise.
25747         * tests/unictype/test-categ_N.c: Likewise.
25748         * tests/unictype/test-categ_Nd.c: Likewise.
25749         * tests/unictype/test-categ_No.c: Likewise.
25750         * tests/unictype/test-categ_P.c: Likewise.
25751         * tests/unictype/test-categ_Po.c: Likewise.
25752         * tests/unictype/test-categ_S.c: Likewise.
25753         * tests/unictype/test-categ_Sc.c: Likewise.
25754         * tests/unictype/test-categ_Sk.c: Likewise.
25755         * tests/unictype/test-categ_Sm.c: Likewise.
25756         * tests/unictype/test-categ_So.c: Likewise.
25757         * tests/unictype/test-ctype_alnum.c: Likewise.
25758         * tests/unictype/test-ctype_alpha.c: Likewise.
25759         * tests/unictype/test-ctype_graph.c: Likewise.
25760         * tests/unictype/test-ctype_lower.c: Likewise.
25761         * tests/unictype/test-ctype_print.c: Likewise.
25762         * tests/unictype/test-ctype_punct.c: Likewise.
25763         * tests/unictype/test-ctype_upper.c: Likewise.
25764         * tests/unictype/test-decdigit.h: Likewise.
25765         * tests/unictype/test-digit.h: Likewise.
25766         * tests/unictype/test-numeric.h: Likewise.
25767         * tests/unictype/test-pr_alphabetic.c: Likewise.
25768         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25769         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25770         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25771         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25772         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25773         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25774         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25775         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25776         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25777         * tests/unictype/test-pr_cased.c: Likewise.
25778         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25779         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25780         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25781         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25782         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25783         * tests/unictype/test-pr_combining.c: Likewise.
25784         * tests/unictype/test-pr_composite.c: Likewise.
25785         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25786         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25787         * tests/unictype/test-pr_deprecated.c: Likewise.
25788         * tests/unictype/test-pr_format_control.c: Likewise.
25789         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25790         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25791         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25792         * tests/unictype/test-pr_id_continue.c: Likewise.
25793         * tests/unictype/test-pr_id_start.c: Likewise.
25794         * tests/unictype/test-pr_ideographic.c: Likewise.
25795         * tests/unictype/test-pr_lowercase.c: Likewise.
25796         * tests/unictype/test-pr_math.c: Likewise.
25797         * tests/unictype/test-pr_numeric.c: Likewise.
25798         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25799         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25800         * tests/unictype/test-pr_other_math.c: Likewise.
25801         * tests/unictype/test-pr_punctuation.c: Likewise.
25802         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25803         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25804         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25805         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25806         * tests/unictype/test-pr_uppercase.c: Likewise.
25807         * tests/unictype/test-pr_xid_continue.c: Likewise.
25808         * tests/unictype/test-pr_xid_start.c: Likewise.
25809         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25810         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25811         changes.
25812         * lib/unictype/categ_Cc.h: Likewise.
25813         * lib/unictype/categ_Cf.h: Likewise.
25814         * lib/unictype/categ_Co.h: Likewise.
25815         * lib/unictype/categ_Cs.h: Likewise.
25816         * lib/unictype/categ_Lt.h: Likewise.
25817         * lib/unictype/categ_Nl.h: Likewise.
25818         * lib/unictype/categ_Pc.h: Likewise.
25819         * lib/unictype/categ_Pd.h: Likewise.
25820         * lib/unictype/categ_Pe.h: Likewise.
25821         * lib/unictype/categ_Pf.h: Likewise.
25822         * lib/unictype/categ_Pi.h: Likewise.
25823         * lib/unictype/categ_Ps.h: Likewise.
25824         * lib/unictype/categ_Z.h: Likewise.
25825         * lib/unictype/categ_Zl.h: Likewise.
25826         * lib/unictype/categ_Zp.h: Likewise.
25827         * lib/unictype/categ_Zs.h: Likewise.
25828         * lib/unictype/ctype_blank.h: Likewise.
25829         * lib/unictype/ctype_cntrl.h: Likewise.
25830         * lib/unictype/ctype_digit.h: Likewise.
25831         * lib/unictype/ctype_space.h: Likewise.
25832         * lib/unictype/ctype_xdigit.h: Likewise.
25833         * lib/unictype/mirror.h: Likewise.
25834         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25835         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25836         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25837         * lib/unictype/pr_bidi_control.h: Likewise.
25838         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25839         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25840         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25841         * lib/unictype/pr_bidi_pdf.h: Likewise.
25842         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25843         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25844         * lib/unictype/pr_dash.h: Likewise.
25845         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25846         * lib/unictype/pr_diacritic.h: Likewise.
25847         * lib/unictype/pr_extender.h: Likewise.
25848         * lib/unictype/pr_hex_digit.h: Likewise.
25849         * lib/unictype/pr_hyphen.h: Likewise.
25850         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25851         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25852         * lib/unictype/pr_ignorable_control.h: Likewise.
25853         * lib/unictype/pr_iso_control.h: Likewise.
25854         * lib/unictype/pr_join_control.h: Likewise.
25855         * lib/unictype/pr_left_of_pair.h: Likewise.
25856         * lib/unictype/pr_line_separator.h: Likewise.
25857         * lib/unictype/pr_logical_order_exception.h: Likewise.
25858         * lib/unictype/pr_non_break.h: Likewise.
25859         * lib/unictype/pr_not_a_character.h: Likewise.
25860         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25861         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25862         * lib/unictype/pr_other_id_start.h: Likewise.
25863         * lib/unictype/pr_other_lowercase.h: Likewise.
25864         * lib/unictype/pr_other_uppercase.h: Likewise.
25865         * lib/unictype/pr_paired_punctuation.h: Likewise.
25866         * lib/unictype/pr_paragraph_separator.h: Likewise.
25867         * lib/unictype/pr_pattern_syntax.h: Likewise.
25868         * lib/unictype/pr_pattern_white_space.h: Likewise.
25869         * lib/unictype/pr_private_use.h: Likewise.
25870         * lib/unictype/pr_quotation_mark.h: Likewise.
25871         * lib/unictype/pr_radical.h: Likewise.
25872         * lib/unictype/pr_soft_dotted.h: Likewise.
25873         * lib/unictype/pr_space.h: Likewise.
25874         * lib/unictype/pr_titlecase.h: Likewise.
25875         * lib/unictype/pr_variation_selector.h: Likewise.
25876         * lib/unictype/pr_white_space.h: Likewise.
25877         * lib/unictype/pr_zero_width.h: Likewise.
25878         * lib/unictype/sy_c_ident.h: Likewise.
25879         * lib/unictype/sy_c_whitespace.h: Likewise.
25880         * lib/unictype/sy_java_whitespace.h: Likewise.
25881         * lib/uninorm/composition-table.gperf: Likewise.
25882         * lib/uninorm/decomposition-table1.h: Likewise.
25883         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25884         LB8.
25885         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25886         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25887         * modules/unictype/*: Bump version number of expected libunistring
25888         version.
25889
25890 2011-01-09  Bruno Haible  <bruno@clisp.org>
25891
25892         Update to Unicode 5.2.0.
25893         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25894         trailing whitespace removed.
25895
25896 2011-01-09  Bruno Haible  <bruno@clisp.org>
25897
25898         New Unicode character properties, from Unicode 5.2.0.
25899         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25900         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25901         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25902         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25903         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25904         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25905         uc_is_property_cased, uc_is_property_case_ignorable,
25906         uc_is_property_changes_when_lowercased,
25907         uc_is_property_changes_when_uppercased,
25908         uc_is_property_changes_when_titlecased,
25909         uc_is_property_changes_when_casefolded,
25910         uc_is_property_changes_when_casemapped): New declarations.
25911         * lib/unictype/pr_byname.gperf: Add the new properties.
25912         * modules/unictype/property-byname (Depends-on): Depend on the new
25913         properties modules.
25914         * modules/unictype/property-all (Depends-on): Likewise.
25915         * MODULES.html.sh (Unicode string functions): Add
25916         unictype/property-case-ignorable, unictype/property-cased,
25917         unictype/property-changes-when-casefolded,
25918         unictype/property-changes-when-casemapped,
25919         unictype/property-changes-when-lowercased,
25920         unictype/property-changes-when-titlecased,
25921         unictype/property-changes-when-uppercased.
25922
25923         New module 'unictype/property-changes-when-casemapped'.
25924         * modules/unictype/property-changes-when-casemapped: New file.
25925         * lib/unictype/pr_changes_when_casemapped.c: New file.
25926         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25927         generated by gen-uni-tables.
25928         * modules/unictype/property-changes-when-casemapped-tests: New file.
25929         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25930         automatically generated by gen-uni-tables.
25931
25932         New module 'unictype/property-changes-when-casefolded'.
25933         * modules/unictype/property-changes-when-casefolded: New file.
25934         * lib/unictype/pr_changes_when_casefolded.c: New file.
25935         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25936         generated by gen-uni-tables.
25937         * modules/unictype/property-changes-when-casefolded-tests: New file.
25938         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25939         automatically generated by gen-uni-tables.
25940
25941         New module 'unictype/property-changes-when-titlecased'.
25942         * modules/unictype/property-changes-when-titlecased: New file.
25943         * lib/unictype/pr_changes_when_titlecased.c: New file.
25944         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25945         generated by gen-uni-tables.
25946         * modules/unictype/property-changes-when-titlecased-tests: New file.
25947         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25948         automatically generated by gen-uni-tables.
25949
25950         New module 'unictype/property-changes-when-uppercased'.
25951         * modules/unictype/property-changes-when-uppercased: New file.
25952         * lib/unictype/pr_changes_when_uppercased.c: New file.
25953         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25954         generated by gen-uni-tables.
25955         * modules/unictype/property-changes-when-uppercased-tests: New file.
25956         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25957         automatically generated by gen-uni-tables.
25958
25959         New module 'unictype/property-changes-when-lowercased'.
25960         * modules/unictype/property-changes-when-lowercased: New file.
25961         * lib/unictype/pr_changes_when_lowercased.c: New file.
25962         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25963         generated by gen-uni-tables.
25964         * modules/unictype/property-changes-when-lowercased-tests: New file.
25965         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25966         automatically generated by gen-uni-tables.
25967
25968         New module 'unictype/property-case-ignorable'.
25969         * modules/unictype/property-case-ignorable: New file.
25970         * lib/unictype/pr_case_ignorable.c: New file.
25971         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25972         by gen-uni-tables.
25973         * modules/unictype/property-case-ignorable-tests: New file.
25974         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25975         generated by gen-uni-tables.
25976
25977         New module 'unictype/property-cased'.
25978         * modules/unictype/property-cased: New file.
25979         * lib/unictype/pr_cased.c: New file.
25980         * lib/unictype/pr_cased.h: New file, automatically generated by
25981         gen-uni-tables.
25982         * modules/unictype/property-cased-tests: New file.
25983         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25984         gen-uni-tables.
25985
25986 2011-01-09  Bruno Haible  <bruno@clisp.org>
25987
25988         Update to Unicode 5.2.0.
25989         * lib/gen-uni-tables.c (output_predicate, output_category,
25990         output_combclass, output_bidi_category, output_decimal_digit_test,
25991         output_decimal_digit, output_digit_test, output_digit,
25992         output_numeric_test, output_numeric, output_mirror, output_scripts,
25993         output_scripts_byname, output_blocks, output_ident_category): Fix
25994         comment header.
25995         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25996         get_wbp.
25997         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25998         items.
25999         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26000         Changes_When_Lowercased, Changes_When_Uppercased,
26001         Changes_When_Titlecased, Changes_When_Casefolded,
26002         Changes_When_Casemapped.
26003         (is_property_alphabetic, is_property_default_ignorable_code_point):
26004         Update for Unicode 5.2.0.
26005         (is_property_cased, is_property_case_ignorable,
26006         is_property_changes_when_lowercased,
26007         is_property_changes_when_uppercased,
26008         is_property_changes_when_titlecased,
26009         is_property_changes_when_casefolded,
26010         is_property_changes_when_casemapped): New functions.
26011         (output_properties): Output also the properties cased, case_ignorable,
26012         changes_when_lowercased, changes_when_uppercased,
26013         changes_when_titlecased, changes_when_casefolded,
26014         changes_when_casemapped.
26015         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26016         Unicode TR#11 revision 17 -> 19.
26017         (LBP_CP): New enumeration value.
26018         (LBP_*): Adjust values accordingly.
26019         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26020         TR#14 revision 22 -> 24.
26021         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26022         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26023         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26024         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26025         is_WBP_MIDLETTER.
26026         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26027         the code1 and code2 of each composition rule.
26028         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26029         * lib/unicase/ignorable.h: Likewise.
26030         * lib/unicase/tocasefold.h: Likewise.
26031         * lib/unicase/tolower.h: Likewise.
26032         * lib/unicase/totitle.h: Likewise.
26033         * lib/unicase/toupper.h: Likewise.
26034         * lib/unictype/bidi_of.h: Likewise.
26035         * lib/unictype/blocks.h: Likewise.
26036         * lib/unictype/categ_C.h: Likewise.
26037         * lib/unictype/categ_Cf.h: Likewise.
26038         * lib/unictype/categ_Cn.h: Likewise.
26039         * lib/unictype/categ_L.h: Likewise.
26040         * lib/unictype/categ_Ll.h: Likewise.
26041         * lib/unictype/categ_Lm.h: Likewise.
26042         * lib/unictype/categ_Lo.h: Likewise.
26043         * lib/unictype/categ_Lu.h: Likewise.
26044         * lib/unictype/categ_M.h: Likewise.
26045         * lib/unictype/categ_Mc.h: Likewise.
26046         * lib/unictype/categ_Mn.h: Likewise.
26047         * lib/unictype/categ_N.h: Likewise.
26048         * lib/unictype/categ_Nd.h: Likewise.
26049         * lib/unictype/categ_Nl.h: Likewise.
26050         * lib/unictype/categ_No.h: Likewise.
26051         * lib/unictype/categ_P.h: Likewise.
26052         * lib/unictype/categ_Pd.h: Likewise.
26053         * lib/unictype/categ_Po.h: Likewise.
26054         * lib/unictype/categ_S.h: Likewise.
26055         * lib/unictype/categ_Sc.h: Likewise.
26056         * lib/unictype/categ_So.h: Likewise.
26057         * lib/unictype/categ_of.h: Likewise.
26058         * lib/unictype/combining.h: Likewise.
26059         * lib/unictype/ctype_alnum.h: Likewise.
26060         * lib/unictype/ctype_alpha.h: Likewise.
26061         * lib/unictype/ctype_graph.h: Likewise.
26062         * lib/unictype/ctype_lower.h: Likewise.
26063         * lib/unictype/ctype_print.h: Likewise.
26064         * lib/unictype/ctype_punct.h: Likewise.
26065         * lib/unictype/ctype_upper.h: Likewise.
26066         * lib/unictype/decdigit.h: Likewise.
26067         * lib/unictype/digit.h: Likewise.
26068         * lib/unictype/numeric.h: Likewise.
26069         * lib/unictype/pr_alphabetic.h: Likewise.
26070         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26071         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26072         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26073         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26074         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26075         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26076         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26077         * lib/unictype/pr_combining.h: Likewise.
26078         * lib/unictype/pr_composite.h: Likewise.
26079         * lib/unictype/pr_currency_symbol.h: Likewise.
26080         * lib/unictype/pr_dash.h: Likewise.
26081         * lib/unictype/pr_decimal_digit.h: Likewise.
26082         * lib/unictype/pr_deprecated.h: Likewise.
26083         * lib/unictype/pr_diacritic.h: Likewise.
26084         * lib/unictype/pr_extender.h: Likewise.
26085         * lib/unictype/pr_grapheme_base.h: Likewise.
26086         * lib/unictype/pr_grapheme_extend.h: Likewise.
26087         * lib/unictype/pr_grapheme_link.h: Likewise.
26088         * lib/unictype/pr_id_continue.h: Likewise.
26089         * lib/unictype/pr_id_start.h: Likewise.
26090         * lib/unictype/pr_ideographic.h: Likewise.
26091         * lib/unictype/pr_ignorable_control.h: Likewise.
26092         * lib/unictype/pr_logical_order_exception.h: Likewise.
26093         * lib/unictype/pr_lowercase.h: Likewise.
26094         * lib/unictype/pr_numeric.h: Likewise.
26095         * lib/unictype/pr_other_alphabetic.h: Likewise.
26096         * lib/unictype/pr_punctuation.h: Likewise.
26097         * lib/unictype/pr_sentence_terminal.h: Likewise.
26098         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26099         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26100         * lib/unictype/pr_unified_ideograph.h: Likewise.
26101         * lib/unictype/pr_uppercase.h: Likewise.
26102         * lib/unictype/pr_xid_continue.h: Likewise.
26103         * lib/unictype/pr_xid_start.h: Likewise.
26104         * lib/unictype/pr_zero_width.h: Likewise.
26105         * lib/unictype/scripts.h: Likewise.
26106         * lib/unictype/scripts_byname.gperf: Likewise.
26107         * lib/unictype/sy_java_ident.h: Likewise.
26108         * lib/unigbrk/gbrkprop.h: Likewise.
26109         * lib/unilbrk/lbrkprop1.h: Likewise.
26110         * lib/unilbrk/lbrkprop2.h: Likewise.
26111         * lib/unilbrk/lbrktables.h: Likewise.
26112         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26113         LBP_CP. Implement rule LB30.
26114         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26115         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26116         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26117         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26118         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26119         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26120         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26121         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26122         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26123         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26124         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26125         bits instead of 16 bits in the code1 and code2 of each composition
26126         rule.
26127         (uc_composition): Update for Unicode 5.2.0.
26128         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26129         * lib/uninorm/decomposition-table2.h: Likewise.
26130         * lib/uniwbrk/wbrkprop.h: Likewise.
26131         * tests/unicase/test-cased.c: Likewise.
26132         * tests/unicase/test-ignorable.c: Likewise.
26133         * tests/unicase/test-uc_tolower.c: Likewise.
26134         * tests/unicase/test-uc_totitle.c: Likewise.
26135         * tests/unicase/test-uc_toupper.c: Likewise.
26136         * tests/unictype/test-categ_C.c: Likewise.
26137         * tests/unictype/test-categ_Cf.c: Likewise.
26138         * tests/unictype/test-categ_Cn.c: Likewise.
26139         * tests/unictype/test-categ_L.c: Likewise.
26140         * tests/unictype/test-categ_Ll.c: Likewise.
26141         * tests/unictype/test-categ_Lm.c: Likewise.
26142         * tests/unictype/test-categ_Lo.c: Likewise.
26143         * tests/unictype/test-categ_Lu.c: Likewise.
26144         * tests/unictype/test-categ_M.c: Likewise.
26145         * tests/unictype/test-categ_Mc.c: Likewise.
26146         * tests/unictype/test-categ_Mn.c: Likewise.
26147         * tests/unictype/test-categ_N.c: Likewise.
26148         * tests/unictype/test-categ_Nd.c: Likewise.
26149         * tests/unictype/test-categ_Nl.c: Likewise.
26150         * tests/unictype/test-categ_No.c: Likewise.
26151         * tests/unictype/test-categ_P.c: Likewise.
26152         * tests/unictype/test-categ_Pd.c: Likewise.
26153         * tests/unictype/test-categ_Po.c: Likewise.
26154         * tests/unictype/test-categ_S.c: Likewise.
26155         * tests/unictype/test-categ_Sc.c: Likewise.
26156         * tests/unictype/test-categ_So.c: Likewise.
26157         * tests/unictype/test-ctype_alnum.c: Likewise.
26158         * tests/unictype/test-ctype_alpha.c: Likewise.
26159         * tests/unictype/test-ctype_graph.c: Likewise.
26160         * tests/unictype/test-ctype_lower.c: Likewise.
26161         * tests/unictype/test-ctype_print.c: Likewise.
26162         * tests/unictype/test-ctype_punct.c: Likewise.
26163         * tests/unictype/test-ctype_upper.c: Likewise.
26164         * tests/unictype/test-decdigit.h: Likewise.
26165         * tests/unictype/test-digit.h: Likewise.
26166         * tests/unictype/test-numeric.h: Likewise.
26167         * tests/unictype/test-pr_alphabetic.c: Likewise.
26168         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26169         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26170         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26171         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26172         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26173         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26174         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26175         * tests/unictype/test-pr_combining.c: Likewise.
26176         * tests/unictype/test-pr_composite.c: Likewise.
26177         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26178         * tests/unictype/test-pr_dash.c: Likewise.
26179         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26180         * tests/unictype/test-pr_deprecated.c: Likewise.
26181         * tests/unictype/test-pr_diacritic.c: Likewise.
26182         * tests/unictype/test-pr_extender.c: Likewise.
26183         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26184         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26185         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26186         * tests/unictype/test-pr_id_continue.c: Likewise.
26187         * tests/unictype/test-pr_id_start.c: Likewise.
26188         * tests/unictype/test-pr_ideographic.c: Likewise.
26189         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26190         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26191         * tests/unictype/test-pr_lowercase.c: Likewise.
26192         * tests/unictype/test-pr_numeric.c: Likewise.
26193         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26194         * tests/unictype/test-pr_punctuation.c: Likewise.
26195         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26196         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26197         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26198         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26199         * tests/unictype/test-pr_uppercase.c: Likewise.
26200         * tests/unictype/test-pr_xid_continue.c: Likewise.
26201         * tests/unictype/test-pr_xid_start.c: Likewise.
26202         * tests/unictype/test-pr_zero_width.c: Likewise.
26203         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26204         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26205         changed behaviour: line breaking is now disallowed between a letter
26206         or '=' and '('.
26207         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26208         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26209         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26210         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26211         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26212         lib/uniwidth/width.c.
26213         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26214         without comments, but with the original copyright notice.
26215         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26216         changes.
26217         * lib/unictype/categ_Cc.h: Likewise.
26218         * lib/unictype/categ_Co.h: Likewise.
26219         * lib/unictype/categ_Cs.h: Likewise.
26220         * lib/unictype/categ_Lt.h: Likewise.
26221         * lib/unictype/categ_Me.h: Likewise.
26222         * lib/unictype/categ_Pc.h: Likewise.
26223         * lib/unictype/categ_Pe.h: Likewise.
26224         * lib/unictype/categ_Pf.h: Likewise.
26225         * lib/unictype/categ_Pi.h: Likewise.
26226         * lib/unictype/categ_Ps.h: Likewise.
26227         * lib/unictype/categ_Sk.h: Likewise.
26228         * lib/unictype/categ_Sm.h: Likewise.
26229         * lib/unictype/categ_Z.h: Likewise.
26230         * lib/unictype/categ_Zl.h: Likewise.
26231         * lib/unictype/categ_Zp.h: Likewise.
26232         * lib/unictype/categ_Zs.h: Likewise.
26233         * lib/unictype/ctype_blank.h: Likewise.
26234         * lib/unictype/ctype_cntrl.h: Likewise.
26235         * lib/unictype/ctype_digit.h: Likewise.
26236         * lib/unictype/ctype_space.h: Likewise.
26237         * lib/unictype/ctype_xdigit.h: Likewise.
26238         * lib/unictype/mirror.h: Likewise.
26239         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26240         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26241         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26242         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26243         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26244         * lib/unictype/pr_bidi_control.h: Likewise.
26245         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26246         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26247         * lib/unictype/pr_bidi_pdf.h: Likewise.
26248         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26249         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26250         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26251         * lib/unictype/pr_format_control.h: Likewise.
26252         * lib/unictype/pr_hex_digit.h: Likewise.
26253         * lib/unictype/pr_hyphen.h: Likewise.
26254         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26255         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26256         * lib/unictype/pr_iso_control.h: Likewise.
26257         * lib/unictype/pr_join_control.h: Likewise.
26258         * lib/unictype/pr_left_of_pair.h: Likewise.
26259         * lib/unictype/pr_line_separator.h: Likewise.
26260         * lib/unictype/pr_math.h: Likewise.
26261         * lib/unictype/pr_non_break.h: Likewise.
26262         * lib/unictype/pr_not_a_character.h: Likewise.
26263         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26264         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26265         * lib/unictype/pr_other_id_continue.h: Likewise.
26266         * lib/unictype/pr_other_id_start.h: Likewise.
26267         * lib/unictype/pr_other_lowercase.h: Likewise.
26268         * lib/unictype/pr_other_math.h: Likewise.
26269         * lib/unictype/pr_other_uppercase.h: Likewise.
26270         * lib/unictype/pr_paired_punctuation.h: Likewise.
26271         * lib/unictype/pr_paragraph_separator.h: Likewise.
26272         * lib/unictype/pr_pattern_syntax.h: Likewise.
26273         * lib/unictype/pr_pattern_white_space.h: Likewise.
26274         * lib/unictype/pr_private_use.h: Likewise.
26275         * lib/unictype/pr_quotation_mark.h: Likewise.
26276         * lib/unictype/pr_radical.h: Likewise.
26277         * lib/unictype/pr_soft_dotted.h: Likewise.
26278         * lib/unictype/pr_space.h: Likewise.
26279         * lib/unictype/pr_titlecase.h: Likewise.
26280         * lib/unictype/pr_variation_selector.h: Likewise.
26281         * lib/unictype/pr_white_space.h: Likewise.
26282         * lib/unictype/sy_c_ident.h: Likewise.
26283         * lib/unictype/sy_c_whitespace.h: Likewise.
26284         * lib/unictype/sy_java_whitespace.h: Likewise.
26285         * modules/uni*/*: Bump version number of expected libunistring version.
26286         Reported by Simon Josefsson.
26287
26288 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26289
26290         useless-if-before-free: fix typo in --help and make the internal,
26291         automatic version date update process work once again.
26292         --help output contained a NUL character instead of the
26293         backslash-zero that was intended.  Also, the "must lie within
26294         the first 8 lines" line is on line 9, and hence not getting
26295         automatically updated.
26296         * build-aux/useless-if-before-free: Fix the former by adding a
26297         backslash, and the latter by condensing the three lines of what-it-does
26298         to a single line, leaving one line of slack for the future.
26299
26300 2011-01-09  Bruno Haible  <bruno@clisp.org>
26301
26302         uniwidth/width: Fix width of U+1D173..U+1D17A.
26303         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26304         symbolic_width, output_width_property_test): New functions.
26305         (main): Invoke output_nonspacing_property, output_width_property_test.
26306         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26307         U+1D173..U+1D17A.
26308         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26309         1.
26310         * modules/uniwidth/*: Bump version number of expected libunistring
26311         version.
26312         * modules/unilbrk/*: Likewise.
26313
26314 2011-01-08  Bruno Haible  <bruno@clisp.org>
26315
26316         uninorm tests: Preserve copyright of Unicode data file.
26317         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26318         Mention modifications.
26319
26320 2011-01-08  Bruno Haible  <bruno@clisp.org>
26321
26322         gen-uni-tables: Prepare for Unicode 5.2.0.
26323         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26324         (debug_output_lbp, output_lbp): Update.
26325
26326 2011-01-08  Bruno Haible  <bruno@clisp.org>
26327
26328         unilbrk: Clarify gen-uni-tables.c code.
26329         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26330         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26331         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26332
26333 2011-01-07  Bruno Haible  <bruno@clisp.org>
26334
26335         strtod: Restore errno when successfully parsing Infinity or NaN.
26336         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26337         restore the original errno.
26338
26339 2011-01-07  Bruno Haible  <bruno@clisp.org>
26340
26341         remove test: Avoid failure on HP-UX 11.
26342         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26343
26344 2011-01-07  Bruno Haible  <bruno@clisp.org>
26345
26346         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26347         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26348         error code.
26349
26350 2011-01-07  Pádraig Brady <P@draigBrady.com>
26351
26352         ignore-value: fixup comments, and add Eric Blake
26353         as an author since he rewrote the macros.
26354         * lib/ignore-value.h (ignore_value):  State that
26355         we now support aggregates.  Also specify exactly
26356         when the GCC warn_unused_result feature was added.
26357
26358 2011-01-06  Eric Blake  <eblake@redhat.com>
26359
26360         ignore-value: support aggregate types
26361         * lib/ignore-value.h (ignore_value): Provide separate gcc
26362         definition.
26363         * modules/ignore-value-tests: New test module.
26364         * tests/test-ignore-value.c: New test.
26365
26366         maint.mk: improve sc_prohibit_strcmp regex
26367         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26368         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26369         definition of STRNEQ.
26370
26371         signal: work around Haiku issue with SIGBUS
26372         * lib/siglist.h: Add comment.
26373         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26374         strsignal's favoring of SIGSEGV.
26375         * tests/test-signal.c (main): Avoid test failure.
26376         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26377         Reported by Scott McCreary.
26378
26379         maint.mk: add pre-release check to ensure submodule commits are public
26380         * top/maint.mk (public-submodule-commit): New rule.
26381         (submodule-checks): New variable.
26382         (alpha beta stable): Depend on the variable.
26383
26384 2011-01-05  Pádraig Brady <P@draigBrady.com>
26385         and Jim Meyering  <meyering@redhat.com>
26386
26387         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26388         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26389         (ATTRIBUTE_DEPRECATED): Define.
26390         (_ignore_case): New function.
26391         (ignore_value): New macro, to replace the old function.
26392         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26393         * modules/ignore-value (Depends-on): Add stdint.
26394
26395 2011-01-04  Eric Blake  <eblake@redhat.com>
26396
26397         doc: regenerate INSTALL
26398         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26399         @firstparagraphindent support, now that autoconf dropped it.
26400         (INSTALL_PRELUDE): Reinstate old macro.
26401         * doc/install.texi: Resync from autoconf.
26402         * doc/INSTALL: Reflect recent autoconf update.
26403         * doc/INSTALL.ISO: Likewise.
26404         * doc/INSTALL.UTF-8: Likewise.
26405         Reported by Karl Berry.
26406
26407 2011-01-04  Bruce Korb  <address@hidden>
26408
26409         git-version-gen: avoid a sub-shell
26410         * build-aux/git-version-gen: Redirect stderr in `...` via
26411         "exec 2>...", rather than via an added sub-shell.
26412
26413 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26414
26415         git-version-gen: use (...) rather than sh -c '...'
26416         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26417         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26418
26419 2011-01-03  Jim Meyering  <meyering@redhat.com>
26420
26421         git-version-gen: convert leading TABs to spaces
26422         * build-aux/git-version-gen: Expand leading TABs.
26423
26424         git-version-gen: handle failed "git rev-list"
26425         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26426         from git and proceeding as if it had succeeded but printed no SHA1
26427         checksums, suppress the diagnostic and handle the failure.
26428         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26429
26430         git-version-gen: include command name in one more diagnostic
26431         * build-aux/git-version-gen: When the required .tarball-version file
26432         was missing or unreadable, you might see the diagnostic from "cat",
26433         but no trace of the name of the invoking script.  Now, you still see
26434         the diagnostic from cat, but also get one from "git-version-gen: ".
26435         Inspired by a patch from Bruce Korb.
26436
26437         update-copyright: adjust test to match changed code
26438         * tests/test-update-copyright.sh: Change test's expected output
26439         to match new actual output.
26440
26441 2011-01-02  Bruno Haible  <bruno@clisp.org>
26442
26443         getlogin_r: Avoid test failure on HP-UX 11.
26444         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26445         ERANGE when the second argument is zero.
26446         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26447         portability problem.
26448
26449 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26450
26451         * build-aux/update-copyright: doc Simon's changes
26452
26453 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26454
26455         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26456         environment variable.
26457
26458 2011-01-02  Bruno Haible  <bruno@clisp.org>
26459
26460         unigbrk: Avoid gcc warnings.
26461         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26462         unused variable.
26463         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26464         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26465         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26466         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26467         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26468         Change type of first argument to 'const char *'.
26469         (main): Remove unused variable.
26470         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26471         type of first argument to 'const char *'.
26472         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26473         Likewise.
26474         (main): Change type of variable 's'.
26475         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26476         to 'int'.
26477
26478 2011-01-02  Bruno Haible  <bruno@clisp.org>
26479
26480         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26481         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26482         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26483         bug.
26484         * lib/pwrite.c: Undo 2010-12-31 patch.
26485         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26486
26487 2011-01-02  Bruno Haible  <bruno@clisp.org>
26488
26489         pread: Fix test whether it works.
26490         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26491
26492 2011-01-02  Bruno Haible  <bruno@clisp.org>
26493
26494         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26495         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26496         ends in "6". Don't require a specific month name. Try also the locale
26497         names found on HP-UX 11 and Solaris 7.
26498
26499 2011-01-02  Bruno Haible  <bruno@clisp.org>
26500
26501         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26502         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26503         C linkage.
26504         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26505
26506 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26507
26508         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26509         for consistency, since the "cluster" term is not used elsewhere.
26510         * lib/unigbrk.in.h: Update name.
26511         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26512         * lib/unigbrk/u16-grapheme-next.c: Update name.
26513         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26514         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26515         * lib/unigbrk/u32-grapheme-next.c: Update name.
26516         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26517         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26518         * lib/unigbrk/u8-grapheme-next.c: Update name.
26519         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26520         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26521         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26522         Suggested by Bruno Haible.
26523
26524 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26525
26526         Remove module 'u8-grapheme-len' as too redundant with
26527         'u8-grapheme-next'.
26528         * modules/unigbrk/u8-grapheme-len: Delete file.
26529         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26530         * lib/unigbrk.in.h: Remove prototype for deleted function.
26531         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26532         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26533
26534         Remove module 'u16-grapheme-len' as too redundant with
26535         'u16-grapheme-next'.
26536         * modules/unigbrk/u16-grapheme-len: Delete file.
26537         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26538         * lib/unigbrk.in.h: Remove prototype for deleted function.
26539         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26540         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26541
26542         Remove module 'u32-grapheme-len' as too redundant with
26543         'u32-grapheme-next'.
26544         * modules/unigbrk/u32-grapheme-len: Delete file.
26545         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26546         * lib/unigbrk.in.h: Remove prototype for deleted function.
26547         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26548         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26549
26550         Suggested by Bruno Haible.
26551
26552 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26553
26554         * unigbrk.in.h: Fix typo: "ben" => "been".
26555         Reported by Bruno Haible.
26556
26557 2011-01-01  Jim Meyering  <meyering@redhat.com>
26558
26559         maint: update almost all copyright ranges to include 2011
26560         Run the new "make update-copyright" rule.
26561
26562 2011-01-01  Jim Meyering  <meyering@redhat.com>
26563
26564         maint: update-copyright: exempt doc/INSTALL*
26565         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26566         since they are generated.  Suggested by Bruno Haible.
26567
26568 2011-01-01  Jim Meyering  <meyering@redhat.com>
26569
26570         maint: refine the update-copyright rule
26571         * Makefile (update-copyright): Also exclude any file that includes
26572         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26573         code that merely generates the comment.
26574
26575 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26576
26577         New module 'u8-grapheme-len'.
26578         * modules/unigbrk/u8-grapheme-len: New file.
26579         * modules/unigbrk/u8-grapheme-len-tests: New file.
26580         * lib/unigbrk.in.h: Add prototype for new function.
26581         * lib/unigbrk/u8-grapheme-len.c: New file.
26582         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26583
26584         New module 'u16-grapheme-len'.
26585         * modules/unigbrk/u16-grapheme-len: New file.
26586         * modules/unigbrk/u16-grapheme-len-tests: New file.
26587         * lib/unigbrk.in.h: Add prototype for new function.
26588         * lib/unigbrk/u16-grapheme-len.c: New file.
26589         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26590
26591         New module 'u32-grapheme-len'.
26592         * modules/unigbrk/u32-grapheme-len: New file.
26593         * modules/unigbrk/u32-grapheme-len-tests: New file.
26594         * lib/unigbrk.in.h: Add prototype for new function.
26595         * lib/unigbrk/u32-grapheme-len.c: New file.
26596         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26597
26598         New module 'u8-grapheme-next'.
26599         * modules/unigbrk/u8-grapheme-next: New file.
26600         * modules/unigbrk/u8-grapheme-next-tests: New file.
26601         * lib/unigbrk.in.h: Add prototype for new function.
26602         * lib/unigbrk/u8-grapheme-next.c: New file.
26603         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26604
26605         New module 'u16-grapheme-next'.
26606         * modules/unigbrk/u16-grapheme-next: New file.
26607         * modules/unigbrk/u16-grapheme-next-tests: New file.
26608         * lib/unigbrk.in.h: Add prototype for new function.
26609         * lib/unigbrk/u16-grapheme-next.c: New file.
26610         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26611
26612         New module 'u32-grapheme-next'.
26613         * modules/unigbrk/u32-grapheme-next: New file.
26614         * modules/unigbrk/u32-grapheme-next-tests: New file.
26615         * lib/unigbrk.in.h: Add prototype for new function.
26616         * lib/unigbrk/u32-grapheme-next.c: New file.
26617         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26618
26619         New module 'u8-grapheme-prev'.
26620         * modules/unigbrk/u8-grapheme-prev: New file.
26621         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26622         * lib/unigbrk.in.h: Add prototype for new function.
26623         * lib/unigbrk/u8-grapheme-prev.c: New file.
26624         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26625
26626         New module 'u16-grapheme-prev'.
26627         * modules/unigbrk/u16-grapheme-prev: New file.
26628         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26629         * lib/unigbrk.in.h: Add prototype for new function.
26630         * lib/unigbrk/u16-grapheme-prev.c: New file.
26631         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26632
26633         New module 'u32-grapheme-prev'.
26634         * modules/unigbrk/u32-grapheme-prev: New file.
26635         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26636         * lib/unigbrk.in.h: Add prototype for new function.
26637         * lib/unigbrk/u32-grapheme-prev.c: New file.
26638         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26639
26640         New module 'u8-grapheme-breaks'.
26641         * modules/unigbrk/u8-grapheme-breaks: New file.
26642         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26643         * lib/unigbrk.in.h: Add prototype for new function.
26644         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26645         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26646
26647         New module 'u16-grapheme-breaks'.
26648         * modules/unigbrk/u16-grapheme-breaks: New file.
26649         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26650         * lib/unigbrk.in.h: Add prototype for new function.
26651         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26652         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26653
26654         New module 'u32-grapheme-breaks'.
26655         * modules/unigbrk/u32-grapheme-breaks: New file.
26656         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26657         * lib/unigbrk.in.h: Add prototype for new function.
26658         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26659         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26660
26661         New module 'ulc-grapheme-breaks'.
26662         * modules/unigbrk/ulc-grapheme-breaks: New file.
26663         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26664         * m4/locale-ar.m4: New file.
26665         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26666         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26667         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26668
26669 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26670
26671         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26672         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26673         modified how this file was generated before I initially submitted
26674         the module, but failed to regenerate it.  This meant that several
26675         of the level2 entries were wrong.
26676         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26677         Remove the division-by-2 that is folded into the table now that
26678         gbrkprop.h has been regenerated properly.  Now -1 entries are
26679         handled correctly.
26680
26681         New module 'unigbrk/uc-gbrk-prop-tests'.
26682         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26683         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26684         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26685         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26686
26687 2011-01-01  Bruno Haible  <bruno@clisp.org>
26688
26689         Avoid use of hexadecimal escapes.
26690         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26691         instead of hexadecimal escapes.
26692
26693 2011-01-01  Jim Meyering  <meyering@redhat.com>
26694
26695         maint: new rule to update copyright year ranges
26696         * Makefile (update-copyright): New rule.
26697
26698         maint: indent with TABs in Makefile
26699         * Makefile: Expand leading sequences of spaces to TABs
26700
26701         version-etc: update the copyright year it reports
26702         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26703
26704 2010-12-31  Bruno Haible  <bruno@clisp.org>
26705
26706         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26707         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26708         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26709         zero.
26710
26711 2010-12-31  Bruno Haible  <bruno@clisp.org>
26712
26713         pwrite: Work around HP-UX 11.11 bug.
26714         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26715         works and set REPLACE_PWRITE if not.
26716         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26717         function.
26718         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26719
26720 2010-12-31  Bruno Haible  <bruno@clisp.org>
26721
26722         pread: Work around HP-UX 11 bugs.
26723         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26724         and set REPLACE_PREAD if not.
26725         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26726
26727 2010-12-31  Eric Blake  <eblake@redhat.com>
26728
26729         nl_langinfo: fix YESEXPR on Irix 6.5
26730         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26731         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26732         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26733         it.
26734
26735 2010-12-31  Bruno Haible  <bruno@clisp.org>
26736
26737         iconv: Document HP-UX 11 bug.
26738         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26739
26740 2010-12-31  Bruno Haible  <bruno@clisp.org>
26741
26742         ldexpl: Fix link error on HP-UX 11.
26743         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26744         LDEXPL_LIBM, using $ISNANL_LIBM.
26745
26746 2010-12-31  Eric Blake  <eblake@redhat.com>
26747
26748         ftello: avoid compilation failure with SunStudio c89
26749         * lib/ftello.c (ftello): Use lseek, not llseek.
26750
26751         tests: avoid failing coreutils tests on cygwin
26752         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26753         (create_exe_shims_): Return 0 when skipping.
26754
26755 2010-12-31  Bruno Haible  <bruno@clisp.org>
26756
26757         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26758         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26759
26760 2010-12-31  Bruno Haible  <bruno@clisp.org>
26761
26762         waitpid: Fix link error in C++ mode.
26763         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26764
26765 2010-12-31  Bruno Haible  <bruno@clisp.org>
26766
26767         isnan: Use GCC built-ins when possible.
26768         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26769         __builtin_isnan.
26770         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26771         (isnan): Define using GCC built-ins for GCC >= 4.0.
26772
26773 2010-12-31  Bruno Haible  <bruno@clisp.org>
26774
26775         isnand: Fix mistake.
26776         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26777         __builtin_isnand.
26778
26779 2010-12-31  Bruno Haible  <bruno@clisp.org>
26780
26781         open: Avoid C++ error on HP-UX 11.
26782         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26783
26784 2010-12-31  Bruno Haible  <bruno@clisp.org>
26785
26786         time_r: Add missing declarations on HP-UX 11.
26787         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26788         instead of HAVE_LOCALTIME_R.
26789         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26790         HAVE_LOCALTIME_R always.
26791         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26792         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26793         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26794         HAVE_LOCALTIME_R.
26795         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26796         * doc/posix-functions/localtime_r.texi: Likewise.
26797
26798 2010-12-29  Eric Blake  <eblake@redhat.com>
26799
26800         mountlist: tweak previous commit
26801         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26802         Reported by Paul Eggert.
26803
26804         mountlist: fix local drive detection on cygwin
26805         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26806         that works for cygwin.
26807
26808 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26809
26810         ftoastr, snprintf: ftoastr + snprintf module
26811         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26812         since the snprintf module now should be good enough here.
26813         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26814         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26815         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26816         GNULIB_SNPRINTF only for the test directory, and the latter
26817         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26818         seems to suffice by itself.
26819
26820 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26821
26822         alloca: one step towards thread-safety
26823         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26824         need for a static variable.  All callers changed.  This does not
26825         make the alloca replacement thread-safe, but it's one step.
26826
26827         tests: minor indenting change
26828         * tests/init.sh: Sync from coreutils housekeeping patch
26829         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26830         to keep lines within 80 columns.
26831
26832 2010-12-28  Jim Meyering  <meyering@redhat.com>
26833
26834         regex: don't infloop on persistent failing calloc
26835         * lib/regexec.c (build_trtable): Return failure indication upon
26836         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26837         In glibc, this was fixed for version 2.13:
26838         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26839
26840 2010-12-28  Bruno Haible  <bruno@clisp.org>
26841             Paul Eggert <eggert@cs.ucla.edu>
26842
26843         linkat: Make implementation robust against system behaviour variations.
26844         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26845         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26846         way, and to -2 if it needs a generic runtime test.
26847         * lib/linkat.c (solaris_optimized_link_immediate,
26848         solaris_optimized_link_follow): New functions.
26849         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26850         (check_same_link): Use it.
26851
26852 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26853
26854         New module 'unigbrk/base'.
26855         * modules/unigbrk/base: New file.
26856         * lib/unigbrk.in.h: New file.
26857
26858         New module 'unigbrk/uc-gbrk-prop'.
26859         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26860         * modules/unigbrk/uc-gbrk-prop: New file.
26861         * lib/unigbrk/gbrkprop.h: New file.
26862         * lib/unigbrk/uc-gbrk-prop.c: New file.
26863
26864         New module 'unigbrk/uc-is-grapheme-break'.
26865         * modules/unigbrk/uc-is-grapheme-break: New file.
26866         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26867         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26868         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26869         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26870         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26871
26872         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26873
26874 2010-12-27  Bruno Haible  <bruno@clisp.org>
26875
26876         linkat test: Avoid failure on Solaris 11 2010-11.
26877         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26878
26879 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26880
26881         utimens: work around glibc rounding bug on more platforms
26882         * lib/utimens.c (fdutimens): Work around rounding bug even if
26883         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26884         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26885
26886 2010-12-27  Bruno Haible  <bruno@clisp.org>
26887
26888         select tests: Improve comments.
26889         * tests/test-select.c (do_select): Add comments.
26890
26891 2010-12-27  Bruno Haible  <bruno@clisp.org>
26892
26893         select tests: Safer way of handling timeout.
26894         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26895         at every invocation.
26896
26897 2010-12-27  Bruno Haible  <bruno@clisp.org>
26898
26899         select tests: Use 'bool' where appropriate.
26900         * tests/test-select.c (connect_to_socket): Change argument type to
26901         'bool'.
26902
26903 2010-12-27  Bruno Haible  <bruno@clisp.org>
26904
26905         select tests: Use existing modules.
26906         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26907         (configure.ac): Don't test for unistd.h.
26908         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26909         declared in <unistd.h>.
26910
26911 2010-12-27  Bruno Haible  <bruno@clisp.org>
26912
26913         mbrtowc: Work around a Solaris 7 bug.
26914         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26915         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26916         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26917         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26918         MBRTOWC_NULL_ARG1_BUG.
26919         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26920         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26921         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26922         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26923
26924 2010-12-27  Jim Meyering  <meyering@redhat.com>
26925
26926         read-file.c: tweak syntax
26927         * lib/read-file.c (fread_file): Remove space after "*" in function
26928         definitions.
26929
26930 2010-12-27  Bruno Haible  <bruno@clisp.org>
26931
26932         times test: Avoid gcc warnings on OSF/1.
26933         * tests/test-times.c (main): Cast printf arguments from clock_t to
26934         'long int'.
26935
26936 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26937
26938         utimens: work around glibc rounding bug on older Linux kernels
26939         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26940         on Linux with a glibc whose utimes might not work, then work
26941         around a longstanding glibc bug involving rounding rather than
26942         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26943         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26944
26945 2010-12-26  Bruno Haible  <bruno@clisp.org>
26946
26947         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26948         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26949         _GL_CXXALIAS_SYS.
26950         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26951
26952 2010-12-26  Bruno Haible  <bruno@clisp.org>
26953
26954         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26955         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26956         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26957         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26958         looking for the declaration.
26959         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26960         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26961         problem.
26962         * doc/posix-functions/inet_pton.texi: Likewise.
26963
26964 2010-12-26  Bruno Haible  <bruno@clisp.org>
26965
26966         arpa_inet: Use the common idioms with C++ support.
26967         * lib/arpa_inet.in.h: Include c++defs.h.
26968         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26969         support.
26970         * modules/arpa_inet (Depends-on): Add c++defs.
26971         (Makefile.am): Substitute the contents of c++defs.h.
26972         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26973         * modules/arpa_inet-c++-tests: New file.
26974         * tests/test-arpa_inet-c++.cc: New file.
26975
26976 2010-12-25  Bruno Haible  <bruno@clisp.org>
26977
26978         Fix more C++ link errors on Solaris 8.
26979         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26980         $(LIB_EACCESS).
26981         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26982         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26983         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26984         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26985         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26986
26987 2010-12-25  Bruno Haible  <bruno@clisp.org>
26988
26989         printf-posix: Fix link error when a non-GCC compiler is used.
26990         * lib/stdio.in.h (printf): When not using GCC, override printf
26991         correctly.
26992         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26993
26994 2010-12-25  Bruno Haible  <bruno@clisp.org>
26995
26996         strerror_r-posix: Update doc.
26997         * doc/posix-functions/strerror_r.texi: Update doc about the return
26998         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26999
27000 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27001
27002         utimens: simplify the logic of the previous change
27003         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27004         This should not affect whether the test succeeds or fails.
27005
27006         utimens: configure better on hosts with NFS clock skew
27007         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27008         uses the clock of the local host.  It might use the clock of the
27009         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27010         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27011
27012 2010-12-25  Bruno Haible  <bruno@clisp.org>
27013
27014         ptsname test: Avoid failure on Solaris.
27015         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27016         open a pseudo-terminal; don't use BSD-style ptys.
27017         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27018
27019 2010-12-25  Bruno Haible  <bruno@clisp.org>
27020
27021         ptsname: Avoid ERANGE failure on some systems.
27022         * lib/ptsname.c (buffer): Increase size.
27023
27024 2010-12-25  Bruno Haible  <bruno@clisp.org>
27025
27026         rename, renameat: Avoid test failures at NFS mounted locations.
27027         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27028         so that subsequent mkdir calls succeed.
27029
27030 2010-12-25  Bruno Haible  <bruno@clisp.org>
27031
27032         iswblank: Fix C++ link error on Solaris 8.
27033         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27034         _GL_FUNCDECL_SYS.
27035
27036 2010-12-25  Bruno Haible  <bruno@clisp.org>
27037
27038         unistd: Fix C++ link error on Solaris 8.
27039         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27040
27041 2010-12-25  Bruno Haible  <bruno@clisp.org>
27042
27043         readlink doc: Mention an old glibc bug.
27044         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27045
27046 2010-12-25  Bruno Haible  <bruno@clisp.org>
27047
27048         fcntl-h: Fix for use of C++ on glibc systems.
27049         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27050         also on glibc systems in C++ mode.
27051         Reported by Gary V. Vaughan <gary@gnu.org>.
27052
27053 2010-12-25  Bruno Haible  <bruno@clisp.org>
27054
27055         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27056         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27057
27058 2010-12-25  Bruno Haible  <bruno@clisp.org>
27059
27060         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27061         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27062         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27063         test whether truncl works according to ISO C 99 with IEC 60559.
27064         * m4/truncl-ieee.m4: New file.
27065         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27066         m4/signbit.m4.
27067         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27068
27069 2010-12-25  Bruno Haible  <bruno@clisp.org>
27070
27071         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27072         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27073         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27074         test whether ceill works according to ISO C 99 with IEC 60559.
27075         * m4/ceill-ieee.m4: New file.
27076         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27077         m4/signbit.m4.
27078         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
27079
27080 2010-12-25  Bruno Haible  <bruno@clisp.org>
27081
27082         Ensure all prerequisites of <wchar.h> are included.
27083         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27084         before <wchar.h>.
27085         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27086         gl_MBRLEN_NUL_RETVAL): Likewise.
27087         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27088         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27089         AC_FUNC_MBRTOWC): Likewise.
27090         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27091         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27092         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27093         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27094         Likewise.
27095         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27096         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27097         (gl_WCHAR_H): Improve comments.
27098         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27099
27100 2010-12-25  Bruno Haible  <bruno@clisp.org>
27101
27102         strtok_r: Fix C syntax error in autoconf macro.
27103         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27104         characters in test program.
27105
27106 2010-12-24  Bruno Haible  <bruno@clisp.org>
27107
27108         ceil, trunc, round: Fix gcc warnings.
27109         * lib/ceil.c (MIN): Undefine before redefining.
27110         * lib/trunc.c (MIN): Likewise.
27111         * lib/round.c (MIN): Likewise.
27112         Include <math.h> first.
27113
27114 2010-12-24  Bruno Haible  <bruno@clisp.org>
27115
27116         select tests: Avoid failures on OSF/1 5.1.
27117         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27118         failure of closing the last socket; it may fail with ECONNRESET.
27119
27120 2010-12-24  Eric Blake  <eblake@redhat.com>
27121
27122         stdint: avoid HP-UX 10.20 preprocessor bug
27123         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27124         than #if.
27125         * tests/test-floor2.c (main): Likewise.
27126         Reported by Peter O'Gorman.
27127
27128         pipe: make obsoletion transition easier
27129         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27130         * modules/pipe (Files): Include revived file.
27131         (Include): Drop reference, to mirror getdate's behavior.
27132
27133 2010-12-24  Bruno Haible  <bruno@clisp.org>
27134
27135         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27136         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27137         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27138         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27139
27140 2010-12-24  Bruno Haible  <bruno@clisp.org>
27141
27142         gethostname: Ensure declaration on NonStop Kernel.
27143         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27144         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27145
27146 2010-12-24  Bruno Haible  <bruno@clisp.org>
27147
27148         sys_select: Ensure all necessary types on NonStop Kernel.
27149         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27150         include <sys/time.h>.
27151         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27152         NonStop Kernel.
27153         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27154
27155 2010-12-24  Bruno Haible  <bruno@clisp.org>
27156
27157         sys_select: Remove unneeded include.
27158         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27159         have <sys/select.h>.
27160
27161 2010-12-24  Bruno Haible  <bruno@clisp.org>
27162
27163         gethostname: Provide a fallback for HOST_NAME_MAX.
27164         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27165         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27166         instead.
27167         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27168
27169 2010-12-24  Bruno Haible  <bruno@clisp.org>
27170
27171         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27172         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27173         (SA_RESTART): Likewise.
27174         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27175
27176 2010-12-24  Bruno Haible  <bruno@clisp.org>
27177
27178         signal: Define NSIG.
27179         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27180         * tests/test-signal.c (nsig): New variable.
27181         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27182
27183 2010-12-24  Bruno Haible  <bruno@clisp.org>
27184
27185         rename, renameat: Avoid test failures on OSF/1 5.1.
27186         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27187         alternative error codes.
27188         * tests/test-renameat.c (main): Likewise.
27189
27190 2010-12-24  Bruno Haible  <bruno@clisp.org>
27191
27192         *printf: Detect large precisions bug on Solaris 10/SPARC.
27193         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27194         by Paul Eggert.
27195         * tests/test-snprintf-posix.h (test_function): Add this test code here
27196         too.
27197         * tests/test-sprintf-posix.h (test_function): Likewise.
27198         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27199         * tests/test-vasprintf-posix.c (test_function): Likewise.
27200         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27201         around by gnulib.
27202         * doc/posix-functions/printf.texi: Likewise.
27203         * doc/posix-functions/snprintf.texi: Likewise.
27204         * doc/posix-functions/sprintf.texi: Likewise.
27205         * doc/posix-functions/vfprintf.texi: Likewise.
27206         * doc/posix-functions/vprintf.texi: Likewise.
27207         * doc/posix-functions/vsnprintf.texi: Likewise.
27208         * doc/posix-functions/vsprintf.texi: Likewise.
27209         * doc/posix-functions/dprintf.texi: Undo last commit.
27210         * doc/posix-functions/vdprintf.texi: Likewise.
27211
27212 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27213
27214         tests: port test-fdutimensat.c to Solaris 8
27215         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27216         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27217         On Solaris 8, it fails with errno == ENOSYS, because there is no
27218         futimens (so it can't use the fd), and there is no lutimens (so it
27219         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27220
27221         vsnprintf: make more consistent with snprintf; doc fixes
27222
27223         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27224         the byte count return problem was promoted from the snprintf-posix
27225         to the snprintf module.
27226         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27227         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27228         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27229         * tests/test-snprintf.c (main): Check the byte count returned.
27230         * tests/test-vsnprintf.c (main): Likewise.
27231
27232 2010-12-23  Eric Blake  <eblake@redhat.com>
27233
27234         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27235         * modules/sigpipe (License): Relax license.
27236
27237 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27238
27239         doc: document Solaris printf bug with large float precisions
27240         * doc/posix-functions/dprintf.texi (dprintf):
27241         * doc/posix-functions/fprintf.texi (fprintf):
27242         * doc/posix-functions/printf.texi (printf):
27243         * doc/posix-functions/snprintf.texi (snprintf):
27244         * doc/posix-functions/sprintf.texi (sprintf):
27245         * doc/posix-functions/vdprintf.texi (vdprintf):
27246         * doc/posix-functions/vfprintf.texi (vfprintf):
27247         * doc/posix-functions/vprintf.texi (vprintf):
27248         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27249         * doc/posix-functions/vsprintf.texi (vsprintf):
27250         Mention that these functions mishandle large floating point
27251         precisions on Solaris 10.  The same bug is also present in Solaris
27252         8, and I assume earlier.  This causes "cd gnulib-tests; make
27253         check" to fail on Solaris 8 (and I assume, later) when building
27254         the latest coreutils, in test-vasprintf-posix's call to
27255         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27256         the wide flavors (e.g., wprintf) so this patch just updates the
27257         documentation for the narrow ones.
27258
27259         test-posixtm.c: add two tests
27260         * tests/test-posixtm.c: Add two tests, to highlight the
27261         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27262         around this bug; this is merely to document it.
27263
27264 2010-12-22  Bruno Haible  <bruno@clisp.org>
27265
27266         getlogin_r: Work around portability problem on OSF/1.
27267         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27268         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27269         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27270         test for a truncated result.
27271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27272         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27273         * modules/getlogin_r (Depends-on): Add memchr.
27274         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27275
27276 2010-12-22  Bruno Haible  <bruno@clisp.org>
27277
27278         ptsname: Avoid test failure on OSF/1 5.1.
27279         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27280         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27281         (same_slave): New function.
27282         (main): Use it to compare ptsname's result with the expected file name.
27283
27284 2010-12-22  Bruno Haible  <bruno@clisp.org>
27285
27286         Port extended stdio modules to HP NonStop Kernel.
27287         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27288         macros.
27289         * lib/fbufmode.c: Update comments.
27290         * lib/fflush.c: Likewise.
27291         * lib/fpurge.c: Likewise.
27292         * lib/freadable.c: Likewise.
27293         * lib/freadahead.c: Likewise.
27294         * lib/freading.c: Likewise.
27295         * lib/freadptr.c: Likewise.
27296         * lib/freadseek.c: Likewise.
27297         * lib/fseeko.c: Likewise.
27298         * lib/fseterr.c: Likewise.
27299         * lib/fwritable.c: Likewise.
27300         * lib/fwriting.c: Likewise.
27301         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27302
27303 2010-12-22  Bruno Haible  <bruno@clisp.org>
27304
27305         ttyname_r: Work around bug on OSF/1 5.1.
27306         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27307         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27308         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27309         present.
27310         * lib/ttyname_r.c (ttyname_r): Update comments.
27311
27312 2010-12-22  Bruno Haible  <bruno@clisp.org>
27313
27314         round: Implement result sign according to IEEE 754.
27315         * lib/round.c (MIN, MINUS_ZERO): New macros.
27316         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27317         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27318         * tests/test-round-ieee.c (main): Likewise.
27319         * tests/test-roundl-ieee.c (main): Likewise.
27320
27321         trunc: Implement result sign according to IEEE 754.
27322         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27323         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27324         * tests/test-trunc2.c: Include minus-zero.h.
27325         (MINUS_ZERO): New macro.
27326         (trunc_reference): Keep in sync with lib/trunc.c.
27327         * tests/test-truncf2.c: Include minus-zero.h.
27328         (MINUS_ZERO): New macro.
27329         (truncf_reference): Keep in sync with lib/trunc.c.
27330         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27331         * tests/test-trunc-ieee.c (main): Likewise.
27332         * tests/test-truncl-ieee.c (main): Likewise.
27333
27334         ceil: Implement result sign according to IEEE 754.
27335         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27336         (FUNC): Return -0.0 for -1 < x < 0.
27337         * tests/test-ceil2.c: Include minus-zero.h.
27338         (MINUS_ZERO): New macro.
27339         (ceil_reference): Keep in sync with lib/ceil.c.
27340         * tests/test-ceilf2.c: Include minus-zero.h.
27341         (MINUS_ZERO): New macro.
27342         (ceilf_reference): Keep in sync with lib/ceil.c.
27343         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27344         * tests/test-ceil-ieee.c (main): Likewise.
27345         * tests/test-ceill-ieee.c (main): Likewise.
27346
27347         floor: Implement result sign according to IEEE 754.
27348         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27349         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27350         * tests/test-floorf2.c (floorf_reference): Likewise.
27351         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27352         * tests/test-floor-ieee.c (main): Likewise.
27353         * tests/test-floorl-ieee.c (main): Likewise.
27354
27355 2010-12-22  Bruno Haible  <bruno@clisp.org>
27356
27357         getaddrinfo: Update doc.
27358         * doc/posix-functions/gai_strerror.texi: Return type is also different
27359         on AIX and HP-UX.
27360
27361 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27362
27363         getaddrinfo, inet_ntop: Update doc for Solaris.
27364         * doc/posix-functions/gai_strerror.texi: Return type is also an
27365         issue on Solaris 9 and earlier.
27366         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27367         on Solaris 10 and earlier.
27368
27369 2010-12-21  Bruno Haible  <bruno@clisp.org>
27370
27371         New module 'roundl-ieee'.
27372         * modules/roundl-ieee: New file.
27373         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27374         test whether roundl works according to ISO C 99 with IEC 60559.
27375         * m4/roundl-ieee.m4: New file.
27376         * modules/roundl-ieee-tests: New file.
27377         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27378         * tests/test-roundl.c (main): Remove signbit tests.
27379         * modules/roundl-tests (Depends-on): Remove signbit.
27380         * doc/posix-functions/roundl.texi: Mention the new module.
27381
27382 2010-12-21  Bruno Haible  <bruno@clisp.org>
27383
27384         New module 'truncl-ieee'.
27385         * modules/truncl-ieee: New file.
27386         * modules/truncl-ieee-tests: New file.
27387         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27388         * tests/test-truncl.c (main): Remove signbit tests.
27389         * modules/truncl-tests (Depends-on): Remove signbit.
27390         * doc/posix-functions/truncl.texi: Mention the new module.
27391
27392 2010-12-21  Bruno Haible  <bruno@clisp.org>
27393
27394         New module 'ceill-ieee'.
27395         * modules/ceill-ieee: New file.
27396         * modules/ceill-ieee-tests: New file.
27397         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27398         * tests/test-ceill.c (main): Remove signbit tests.
27399         * modules/ceill-tests (Depends-on): Remove signbit.
27400         * doc/posix-functions/ceill.texi: Mention the new module.
27401
27402 2010-12-21  Bruno Haible  <bruno@clisp.org>
27403
27404         New module 'floorl-ieee'.
27405         * modules/floorl-ieee: New file.
27406         * modules/floorl-ieee-tests: New file.
27407         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27408         * tests/test-floorl.c (main): Remove signbit tests.
27409         * modules/floorl-tests (Depends-on): Remove signbit.
27410         * doc/posix-functions/floorl.texi: Mention the new module.
27411
27412 2010-12-21  Bruno Haible  <bruno@clisp.org>
27413
27414         New module 'round-ieee'.
27415         * modules/round-ieee: New file.
27416         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27417         whether round works according to ISO C 99 with IEC 60559.
27418         * m4/round-ieee.m4: New file.
27419         * modules/round-ieee-tests: New file.
27420         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27421         * tests/test-round1.c (main): Remove signbit tests.
27422         * modules/round-tests (Depends-on): Remove 'signbit'.
27423         * doc/posix-functions/round.texi: Mention the new module.
27424
27425 2010-12-21  Bruno Haible  <bruno@clisp.org>
27426
27427         New module 'trunc-ieee'.
27428         * modules/trunc-ieee: New file.
27429         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27430         whether trunc works according to ISO C 99 with IEC 60559.
27431         * m4/trunc-ieee.m4: New file.
27432         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27433         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27434         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27435         * modules/trunc-ieee-tests: New file.
27436         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27437         * tests/test-trunc1.c (main): Remove signbit tests.
27438         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27439         * doc/posix-functions/trunc.texi: Mention the new module.
27440
27441 2010-12-21  Bruno Haible  <bruno@clisp.org>
27442
27443         New module 'ceil-ieee'.
27444         * modules/ceil-ieee: New file.
27445         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27446         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27447         ISO C 99 with IEC 60559.
27448         * m4/ceil-ieee.m4: New file.
27449         * modules/ceil (Files): Add lib/ceil.c.
27450         (Depends-on): Add 'float'.
27451         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27452         * lib/math.in.h (ceil): New declaration.
27453         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27454         REPLACE_CEIL.
27455         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27456         * modules/ceil-ieee-tests: New file.
27457         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27458         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27459         * doc/posix-functions/ceil.texi: Mention the new module.
27460
27461 2010-12-21  Bruno Haible  <bruno@clisp.org>
27462
27463         New module 'floor-ieee'.
27464         * modules/floor-ieee: New file.
27465         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27466         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27467         ISO C 99 with IEC 60559.
27468         * m4/floor-ieee.m4: New file.
27469         * modules/floor (Files): Add lib/floor.c.
27470         (Depends-on): Add 'float'.
27471         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27472         * lib/math.in.h (floor): New declaration.
27473         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27474         REPLACE_FLOOR.
27475         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27476         * modules/floor-ieee-tests: New file.
27477         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27478         * tests/test-math-c++.cc: Check the signature of 'floor'.
27479         * doc/posix-functions/floor.texi: Mention the new module.
27480
27481 2010-12-21  Bruno Haible  <bruno@clisp.org>
27482
27483         New module 'roundf-ieee'.
27484         * modules/roundf-ieee: New file.
27485         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27486         test whether roundf works according to ISO C 99 with IEC 60559.
27487         * m4/roundf-ieee.m4: New file.
27488         * modules/roundf-ieee-tests: New file.
27489         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27490         * tests/test-roundf1.c (main): Remove signbit tests.
27491         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27492         * doc/posix-functions/roundf.texi: Mention the new module.
27493
27494 2010-12-21  Bruno Haible  <bruno@clisp.org>
27495
27496         New module 'truncf-ieee'.
27497         * modules/truncf-ieee: New file.
27498         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27499         test whether truncf works according to ISO C 99 with IEC 60559.
27500         * m4/truncf-ieee.m4: New file.
27501         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27502         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27503         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27504         * modules/truncf-ieee-tests: New file.
27505         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27506         * tests/test-truncf1.c (main): Remove signbit tests.
27507         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27508         * doc/posix-functions/truncf.texi: Mention the new module.
27509
27510 2010-12-21  Bruno Haible  <bruno@clisp.org>
27511
27512         New module 'ceilf-ieee'.
27513         * modules/ceilf-ieee: New file.
27514         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27515         test whether ceilf works according to ISO C 99 with IEC 60559.
27516         * m4/ceilf-ieee.m4: New file.
27517         * modules/ceilf-ieee-tests: New file.
27518         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27519         * tests/test-ceilf1.c (main): Remove signbit tests.
27520         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27521         * doc/posix-functions/ceilf.texi: Mention the new module.
27522
27523 2010-12-21  Bruno Haible  <bruno@clisp.org>
27524
27525         New module 'floorf-ieee'.
27526         * modules/floorf-ieee: New file.
27527         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27528         test whether floorf works according to ISO C 99 with IEC 60559.
27529         * m4/floorf-ieee.m4: New file.
27530         * modules/floorf-ieee-tests: New file.
27531         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27532         * tests/test-floorf1.c (main): Remove signbit tests.
27533         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27534         * doc/posix-functions/floorf.texi: Mention the new module.
27535
27536 2010-12-21  Bruno Haible  <bruno@clisp.org>
27537
27538         Support for minus zero in autoconf macros.
27539         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27540         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27541         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27542         * tests/minus-zero.h: Update comments.
27543
27544 2010-12-21  Bruno Haible  <bruno@clisp.org>
27545
27546         Tests for module 'ceil'.
27547         * modules/ceil-tests: New file.
27548         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27549         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27550
27551 2010-12-21  Bruno Haible  <bruno@clisp.org>
27552
27553         Tests for module 'floor'.
27554         * modules/floor-tests: New file.
27555         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27556         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27557
27558 2010-12-21  Bruno Haible  <bruno@clisp.org>
27559
27560         math: Fix indentation.
27561         * lib/math.in.h (floorf): Fix indentation.
27562
27563 2010-12-21  Bruno Haible  <bruno@clisp.org>
27564
27565         Fix cross-compilation guesses on Solaris.
27566         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27567         not match "solaris2.10".
27568         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27569         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27570         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27571
27572 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27573
27574         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27575         This fixes a problem observed with the latest coreutils snapshot
27576         that caused a test to fail on Solaris 8.  src/csplit.c's call
27577         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27578         earlier, instead of returning the number of bytes that would have
27579         been generated; this causes csplit to incorrectly report memory
27580         exhaustion.
27581         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27582         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27583         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27584         comments to match.
27585         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27586         Fix typo in matching older versions of Solaris: "solaris2.10"
27587         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27588         only for guessing while cross-compiling.
27589         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27590
27591 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27592
27593         ftoastr: fix comment again
27594         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27595         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27596         Also, simplify example a bit by using flags = 0.
27597
27598 2010-12-20  Bruno Haible  <bruno@clisp.org>
27599
27600         round*, trunc*: Update documentation regarding glibc.
27601         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27602         * doc/posix-functions/round.texi: Likewise.
27603         * doc/posix-functions/roundl.texi: Likewise.
27604         * doc/posix-functions/truncf.texi: Likewise.
27605         * doc/posix-functions/trunc.texi: Likewise.
27606         * doc/posix-functions/truncl.texi: Likewise.
27607
27608 2010-12-20  Bruno Haible  <bruno@clisp.org>
27609
27610         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27611         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27612         * doc/posix-functions/round.texi: Likewise.
27613         * doc/posix-functions/roundl.texi: Likewise.
27614
27615 2010-12-20  Bruno Haible  <bruno@clisp.org>
27616
27617         ttyname_r: Add missing declaration on HP-UX 11.
27618         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27619         HAVE_TTYNAME_R.
27620         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27621         declared. Set HAVE_TTYNAME_R always.
27622         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27623         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27624         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27625         HAVE_TTYNAME_R.
27626         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27627
27628 2010-12-20  Bruno Haible  <bruno@clisp.org>
27629
27630         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27631         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27632         * doc/posix-functions/getlogin_r.texi: Likewise.
27633         * tests/test-getlogin.c: Include <errno.h>.
27634         (main): Avoid test failure on HP-UX 11.11.
27635         * tests/test-getlogin_r.c (main): Likewise.
27636
27637 2010-12-20  Bruno Haible  <bruno@clisp.org>
27638
27639         getlogin_r: Add missing declaration on HP-UX 11.
27640         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27641         declared also when it exists as a function.
27642         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27643
27644 2010-12-20  Bruno Haible  <bruno@clisp.org>
27645
27646         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27647         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27648         through wcrtomb.
27649
27650 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27651
27652         ftoastr: fix comment
27653         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27654         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27655
27656 2010-12-19  Bruno Haible  <bruno@clisp.org>
27657
27658         isnan: Ensure it is a macro.
27659         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27660         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27661         Solaris.
27662
27663 2010-12-19  Bruno Haible  <bruno@clisp.org>
27664
27665         ldexpl test: Fix link error on OSF/1 5.1.
27666         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27667
27668 2010-12-19  Bruno Haible  <bruno@clisp.org>
27669
27670         wctype: Make it work in C++ mode on OSF/1 5.1.
27671         * lib/wctype.in.h (iswblank): Declare but not define here.
27672         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27673         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27674         * modules/wctype (Files): Add lib/iswblank.c.
27675
27676 2010-12-19  Bruno Haible  <bruno@clisp.org>
27677
27678         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27679         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27680         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27681
27682 2010-12-19  Bruno Haible  <bruno@clisp.org>
27683
27684         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27685         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27686         _POSIX_PII_SOCKET.
27687         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27688         * doc/posix-functions/recvfrom.texi: Likewise.
27689         * doc/posix-functions/send.texi: Likewise.
27690         * doc/posix-functions/sendto.texi: Likewise.
27691
27692 2010-12-19  Bruno Haible  <bruno@clisp.org>
27693
27694         tcgetsid: Add missing declaration on OSF/1 5.1.
27695         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27696         HAVE_TCGETSID.
27697         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27698         Don't set HAVE_TCGETSID.
27699         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27700         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27701         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27702         HAVE_TCGETSID.
27703         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27704
27705 2010-12-19  Bruno Haible  <bruno@clisp.org>
27706
27707         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27708         * lib/stdio.in.h: During the include_next statement, let recursive
27709         includes of this file include only the system header file.
27710
27711 2010-12-19  Bruno Haible  <bruno@clisp.org>
27712
27713         iconv_open: Fix regression from 2010-12-04.
27714         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27715         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27716
27717 2010-12-19  Bruno Haible  <bruno@clisp.org>
27718
27719         stdbool test: Avoid a gcc warning.
27720         * tests/test-stdbool.c (main): Fail if e1 is false.
27721         Reported by Jim Meyering.
27722
27723 2010-12-19  Jim Meyering  <meyering@redhat.com>
27724
27725         setenv: restore to working order
27726         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27727         mistakenly removed.
27728         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27729         HAVE_SETENV.
27730         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27731         HAVE_SETENV.
27732
27733 2010-12-19  Bruno Haible  <bruno@clisp.org>
27734
27735         Document some different function declarations on OSF/1 5.1.
27736         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27737         * doc/posix-functions/inet_ntop.texi: Likewise.
27738         * doc/posix-functions/gethostname.texi: Likewise.
27739         * lib/unistd.in.h (gethostname): Update comment.
27740
27741 2010-12-19  Bruno Haible  <bruno@clisp.org>
27742
27743         doc: Mention vasprintf-posix module.
27744         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27745         the 'vasprintf-posix' module.
27746         * doc/glibc-functions/vasprintf.texi: Likewise.
27747
27748 2010-12-19  Bruno Haible  <bruno@clisp.org>
27749
27750         unsetenv: Add missing declaration on OSF/1 5.1.
27751         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27752         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27753         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27755         not HAVE_UNSETENV.
27756         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27757         HAVE_UNSETENV.
27758         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27759
27760 2010-12-19  Bruno Haible  <bruno@clisp.org>
27761
27762         setenv: Add missing declaration on OSF/1 5.1.
27763         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27764         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27765         declared. Don't set HAVE_SETENV.
27766         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27767         not HAVE_SETENV.
27768         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27769         HAVE_SETENV.
27770         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27771
27772 2010-12-19  Bruno Haible  <bruno@clisp.org>
27773
27774         nl_langinfo tests: Avoid gcc warning.
27775         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27776
27777 2010-12-19  Bruno Haible  <bruno@clisp.org>
27778
27779         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27780         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27781         _GL_CXXALIAS_SYS.
27782
27783 2010-12-19  Bruno Haible  <bruno@clisp.org>
27784
27785         stdbool: Relax test.
27786         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27787         address to 'bool' work in static initializer, for compilers other than
27788         GCC.
27789
27790 2010-12-19  Bruno Haible  <bruno@clisp.org>
27791
27792         ftello: Add missing declaration on OSF/1 5.1.
27793         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27794         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27795         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27796         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27797         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27798
27799 2010-12-19  Bruno Haible  <bruno@clisp.org>
27800
27801         fseeko: Add missing declaration on OSF/1 5.1.
27802         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27803         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27805         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27806         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27807
27808 2010-12-19  Bruno Haible  <bruno@clisp.org>
27809
27810         fchdir: Add missing declaration on OSF/1 5.1.
27811         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27812         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27814         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27815         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27816
27817 2010-12-19  Bruno Haible  <bruno@clisp.org>
27818
27819         relocatable-prog-wrapper: Separate from relocatable-prog.
27820         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27821         uninstall-relocwrapper rule here.
27822         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27823         Reported by Ian Beckwith <ianb@erislabs.net>.
27824
27825 2010-12-19  Bruno Haible  <bruno@clisp.org>
27826
27827         unistr/u8-mbsnlen: Add missing dependency.
27828         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27829         Reported by Ian Beckwith <ianb@erislabs.net>.
27830
27831 2010-12-19  Bruno Haible  <bruno@clisp.org>
27832
27833         iconv: Make it possible again to use this module without 'iconv-h'.
27834         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27835         if it is not defined.
27836         Reported by Ian Beckwith <ianb@erislabs.net>.
27837
27838 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27839
27840         acl: port to Solaris 8 when copying from tmpfs to ufs
27841         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27842         error number.  Problem observed on Solaris 8 with latest
27843         coreutils, with "mv A B", where A is on a tmpfs file system and B
27844         is on a ufs file system.  This caused coreutils' mv/part-symlink
27845         test to fail.
27846
27847         tests: set fail=0 at start
27848         * tests/init.sh (setup_): Move fail=0 initialization here ...
27849         (mktempd_): ... from here, so that tests can rely on fail being
27850         set to 0 initially.  This fixes a problem in coreutils; see:
27851         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27852
27853 2010-12-18  Bruno Haible  <bruno@clisp.org>
27854
27855         memmem-simple: Stylistic changes.
27856         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27857         Fix preprocessor directive indentation.
27858
27859 2010-12-15  Pádraig Brady <P@draigBrady.com>
27860
27861         memmem, memmem-simple: reorganize and expand empty needle check
27862         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27863         functional checks to memmem-simple so that one has a fully functional
27864         memmem by using just this module.
27865         Restrict the performance only check to the memmem module.
27866         Also expand the empty needle check to ensure the correct
27867         pointer is returned, not just a non NULL pointer.
27868         * doc/glibc-functions/memmem.texi: Rearrange the portability
27869         documentation to correlate with the rearranged checks.
27870         Clarify exactly how the memmem and memmem-simple modules
27871         relate to each other.
27872
27873 2010-12-15  Pádraig Brady <P@draigBrady.com>
27874             Bruno Haible  <bruno@clisp.org>
27875
27876         Improve cross-compilation guesses for uClibc.
27877         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27878         that uClibc does not have the glibc bug.
27879         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27880         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27881
27882 2010-12-14  Eric Blake  <eblake@redhat.com>
27883
27884         configmake: provide fallbacks for oldest supported autotools
27885         * m4/configmake.m4: New file.
27886         * modules/configmake (Files): Ship it.
27887         (configure.ac): Use it to guarantee fallbacks.
27888
27889 2010-12-13  Pádraig Brady <P@draigBrady.com>
27890
27891         read-file: Improve handling of large files
27892         * lib/read-file.c (fread_file): Minimize realloc()s
27893         for regular files, and better manage sizes around SIZE_MAX.
27894
27895 2010-12-13  Eric Blake  <eblake@redhat.com>
27896
27897         cloexec, fcntl: relax license
27898         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27899         consent from all contributors.
27900         * modules/fcntl (License): Likewise.
27901
27902 2010-12-10  Bruno Haible  <bruno@clisp.org>
27903
27904         Tests for module 'pipe-posix'.
27905         * modules/pipe-posix-tests: New file.
27906         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27907
27908 2010-12-10  Bruno Haible  <bruno@clisp.org>
27909
27910         pipe-posix: Make it work in C++ mode.
27911         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27912         (pipe): Use common idiom, not a macro definition.
27913         * lib/pipe.c: New file.
27914         * m4/pipe.m4: New file.
27915         * modules/pipe-posix (Description): Enhance.
27916         (Files): Add lib/pipe.c, m4/pipe.m4.
27917         (configure.ac): Invoke gl_FUNC_PIPE.
27918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27919         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27920         * tests/test-unistd-c++.cc: Check the signature of pipe.
27921
27922 2010-12-10  Bruno Haible  <bruno@clisp.org>
27923
27924         Rename module 'pipe' to 'spawn-pipe'.
27925         * modules/spawn-pipe: New file, renamed from modules/pipe.
27926         (Files, configure.ac, Makefile.am): Update.
27927         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27928         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27929         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27930         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27931         "spawn-pipe.h" instead of "pipe.h".
27932         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27933         to gl_SPAWN_PIPE.
27934         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27935         (Files, Makefile.am): Update.
27936         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27937         Update.
27938         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27939         Include "spawn-pipe.h" instead of "pipe.h".
27940         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27941         * lib/javacomp.c: Likewise.
27942         * lib/javaversion.c: Likewise.
27943         * lib/pipe-filter-gi.c: Likewise.
27944         * lib/pipe-filter-ii.c: Likewise.
27945         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27946         * modules/javacomp (Depends-on): Likewise.
27947         * modules/javaversion (Depends-on): Likewise.
27948         * modules/pipe-filter-gi (Depends-on): Likewise.
27949         * modules/pipe-filter-ii (Depends-on): Likewise.
27950         * MODULES.html.sh (Executing programs): Update.
27951         * NEWS: Mention the change.
27952
27953 2010-12-10  Eric Blake  <eblake@redhat.com>
27954
27955         pipe-posix: new module
27956         * modules/pipe-posix: New file.
27957         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27958         (gl_UNISTD_H): Check for declaration.
27959         * modules/unistd (Makefile.am): Substitute it.
27960         * lib/unistd.in.h (pipe): Provide it for mingw.
27961         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27962         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27963
27964 2010-12-07  Bruno Haible  <bruno@clisp.org>
27965
27966         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27967         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27968         u8_strcmp_gnu.
27969         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27970
27971 2010-12-06  Bruno Haible  <bruno@clisp.org>
27972
27973         Update internal documentation.
27974         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27975
27976 2010-12-04  Bruno Haible  <bruno@clisp.org>
27977
27978         Put more information about failed tests into the test return codes.
27979         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27980         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27981         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27982         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27983         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27984         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27985         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27986         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27987         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27988         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27989         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27990         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27991         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27992         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27993         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27994         returns a bit mask.
27995         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27996         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27997         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27998         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27999         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28000         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28001         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28002         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28003         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28004         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28005         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28006         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28007         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28008         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28009         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28010         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28011         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28012         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28013         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28014         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28015         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28016         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28017         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28018         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28019         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28020         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28021         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28022         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28023         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28024         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28025         gl_PRINTF_PRECISION): Likewise.
28026         * m4/regex.m4 (gl_REGEX): Likewise.
28027         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28028         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28029         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28030         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28031         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28032         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28033         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28034         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28035         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28036         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28037         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28038         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28039         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28040         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28041         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28042         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28043         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28044         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28045         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28046         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28047         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28048         enumerated value.
28049         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28050
28051 2010-12-04  Bruno Haible  <bruno@clisp.org>
28052
28053         Update for Solaris 11 2010-11.
28054         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28055         Express, released in November 2010.
28056
28057 2010-12-04  Bruno Haible  <bruno@clisp.org>
28058
28059         nproc: Relax license.
28060         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28061         and Paul Eggert.
28062         Requested by Ludovic Courtès <ludo@gnu.org>.
28063
28064 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28065
28066         utimecmp: fine-grained src to nearby coarse-grained dest
28067
28068         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28069         and the source is on a file system with higher-resolution time
28070         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28071         not work, and the time stamps are close together, the algorithm to
28072         determine the exact resolution from the read-back mtime was buggy:
28073         it had a "!=" where it should have had an "==".  This bug has been
28074         in the code ever since it was introduced to gnulib.
28075         Problem reported by Dan Jacobson in
28076         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28077
28078 2010-11-30  Bruno Haible  <bruno@clisp.org>
28079
28080         strerror_r-posix: Fix autoconf test.
28081         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
28082
28083 2010-11-28  Bruno Haible  <bruno@clisp.org>
28084             Paul Eggert  <eggert@cs.ucla.edu>
28085
28086         Tests for module 'getdomainname'.
28087         * modules/getdomainname-tests: New file.
28088         * tests/test-getdomainname.c: New file, based on
28089         tests/test-gethostname.c.
28090
28091 2010-11-28  Bruno Haible  <bruno@clisp.org>
28092             Paul Eggert  <eggert@cs.ucla.edu>
28093
28094         getdomainname: Use the system function when possible.
28095         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28096         (getdomainname): Replace if needed. Provide the declaration if it is
28097         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28098         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28099         (getdomainname): When the system has getdomainname, call the system
28100         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28101         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28102         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28103         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28104         the function if its second argument is of type 'int' or if it is found
28105         in libnsl.
28106         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28107         <sys/systeminfo.h> and sysinfo().
28108         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28109         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28110         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28111         HAVE_GETDOMAINNAME.
28112         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28113         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28114         * doc/glibc-functions/getdomainname.texi: Document the problems with
28115         the getdomainname declaration.
28116
28117 2010-11-28  Bruno Haible  <bruno@clisp.org>
28118
28119         sys_socket: Ensure ss_family field on AIX.
28120         * lib/sys_socket.in.h (ss_family): New macro definition.
28121         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28122         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28123         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28124         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28125         * modules/sys_socket (Makefile.am): Substitute
28126         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28127         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28128
28129 2010-11-27  Bruno Haible  <bruno@clisp.org>
28130
28131         readline: Improve configure output.
28132         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28133         "checking for readline..." result understandable.
28134
28135 2010-11-27  Bruno Haible  <bruno@clisp.org>
28136
28137         *printf-posix: Detect a bug on Solaris 10/x86.
28138         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28139         for floating-point output.
28140         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28141         directive.
28142         * tests/test-snprintf-posix.h (test_function): Likewise.
28143         * tests/test-sprintf-posix.h (test_function): Likewise.
28144         * tests/test-vasprintf-posix.c (test_function): Likewise.
28145         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28146         * doc/posix-functions/printf.texi: Likewise.
28147         * doc/posix-functions/snprintf.texi: Likewise.
28148         * doc/posix-functions/sprintf.texi: Likewise.
28149         * doc/posix-functions/vfprintf.texi: Likewise.
28150         * doc/posix-functions/vprintf.texi: Likewise.
28151         * doc/posix-functions/vsnprintf.texi: Likewise.
28152         * doc/posix-functions/vsprintf.texi: Likewise.
28153         * doc/glibc-functions/obstack_printf.texi: Likewise.
28154         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28155
28156 2010-11-27  Bruno Haible  <bruno@clisp.org>
28157
28158         Fix link error when module libunistring-optional is in use.
28159         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28160         * modules/striconveha-tests (Makefile.am): Likewise.
28161
28162 2010-11-27  Bruno Haible  <bruno@clisp.org>
28163
28164         regex: Mention link dependencies.
28165         * modules/regex (Link): New section.
28166         * modules/rpmatch (Link): Likewise.
28167         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28168
28169 2010-11-27  Bruno Haible  <bruno@clisp.org>
28170
28171         ftoastr: Fix compilation error on Solaris.
28172         * lib/ftoastr.c: Include <config.h>.
28173
28174 2010-11-27  Bruno Haible  <bruno@clisp.org>
28175
28176         getloadavg: Update documentation.
28177         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28178
28179 2010-11-27  Bruno Haible  <bruno@clisp.org>
28180
28181         sys_socket: Fix test whether the functions are declared.
28182         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28183         not <sys/select.h>.
28184
28185 2010-11-27  Bruno Haible  <bruno@clisp.org>
28186
28187         getpass: Make sure to get system declaration on some platforms.
28188         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28189         gl_USE_SYSTEM_EXTENSIONS.
28190         * modules/getpass (Depends-on): Add extensions.
28191
28192 2010-11-26  Bruno Haible  <bruno@clisp.org>
28193
28194         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28195         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28196         'iconv' module is present.
28197         (ICONV_CONST): New macro.
28198         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28199         ICONV_CONST.
28200         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28201         set ICONV_CONST.
28202         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28203         here.
28204         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28205         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28206         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28207         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28208         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28209         present.
28210
28211 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28212
28213         ftoastr: comment fix
28214         * lib/ftoastr.c: "little" -> "little or no" in comment
28215
28216 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28217
28218         stdint: port to GCC 4.3 + OSX + Octave
28219         On this platform, stdint.h is buggy and defines int64_t to long
28220         long int.  The replacement defined it to long int, causing
28221         problems with C++ style name mangling.  Instead, trust the system
28222         definition if INT64_MAX is defined, and likewise for the unsigned
28223         variant.   Problem reported by Jarno Rajahalme in
28224         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28225         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28226         and don't mess with int64_t and INT64_MAX in this case.
28227         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28228
28229 2010-11-24  Bruno Haible  <bruno@clisp.org>
28230
28231         doc: Corrections regarding MacOS X 10.4 and 10.5.
28232         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28233         MacOS X.
28234         Reported by Simon Josefsson.
28235
28236 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28237
28238         Uninstall ".bin" files installed by relocwrapper.
28239         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28240         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28241         unless it is already there.
28242
28243 2010-11-21  Bruno Haible  <bruno@clisp.org>
28244
28245         Update for NetBSD 5.0.
28246         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28247         NetBSD; the test fails on NetBSD 5.0.
28248         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28249         about NetBSD.
28250
28251 2010-11-21  Bruno Haible  <bruno@clisp.org>
28252
28253         Update for HP-UX 11.23 and HP-UX 11.31.
28254         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28255         HP-UX.
28256
28257 2010-11-21  Bruno Haible  <bruno@clisp.org>
28258
28259         Update for MacOS X 10.5.
28260         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28261         MacOS X; the test fails on MacOS X 10.5.8.
28262         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28263         about MacOS X.
28264
28265 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28266
28267         bootstrap: add bootstrap_sync option.
28268         See discussion at
28269         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28270         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28271         * build-aux/bootstrap: Accept --bootstrap-sync to update
28272         bootstrap if it is not identical to the local gnulib's
28273         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28274         enable this by default.  Accept --no-bootstrap-sync to disable
28275         it.
28276
28277 2010-11-20  Bruno Haible  <bruno@clisp.org>
28278
28279         Ensure that <features.h> is included before __GLIBC__ is tested.
28280         * lib/printf-parse.h: Include <features.h>.
28281         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28282         Reported by Mike Frysinger <vapier@gentoo.org>.
28283
28284         Ensure that <features.h> is included before __GLIBC__ is tested.
28285         * lib/wchar.in.h: Include <features.h>.
28286         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28287         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28288         Reported by Mike Frysinger <vapier@gentoo.org>.
28289
28290         Ensure that <features.h> is included before __GLIBC__ is tested.
28291         * lib/arpa_inet.in.h: Include <features.h>.
28292         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28293         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28294         Reported by Mike Frysinger <vapier@gentoo.org>.
28295
28296         Ensure that <features.h> is included before __GLIBC__ is tested.
28297         * build-aux/link-warning.h: Include <features.h>.
28298         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28299         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28300         Reported by Mike Frysinger <vapier@gentoo.org>.
28301
28302         Ensure that <features.h> is included before __GLIBC__ is tested.
28303         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28304         Reported by Mike Frysinger <vapier@gentoo.org>.
28305
28306 2010-11-20  Bruno Haible  <bruno@clisp.org>
28307
28308         memmem: Fix autoconf test.
28309         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28310
28311 2010-11-20  Bruno Haible  <bruno@clisp.org>
28312
28313         Port to uClibc.
28314         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28315         * lib/fcntl.in.h: Likewise.
28316         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28317         * lib/mbrtowc.c (mbrtowc): Likewise.
28318         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28319         * lib/strerror_r.c: Likewise.
28320         * lib/unistr/u8-strnlen.c: Likewise.
28321         * lib/vasnprintf.c (decimal_point_char): Likewise.
28322         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28323         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28324         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28325         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28326         * tests/test-sigaction.c (handler, main): Likewise.
28327         * lib/freading.h: Treat uClibc like a non-glibc platform.
28328         * lib/freading.c: Likewise.
28329         * lib/gettext.h: Likewise.
28330         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28331         Likewise.
28332         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28333         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28334         * lib/propername.c (proper_name_utf8): Likewise.
28335         * lib/spawn.in.h: Likewise.
28336         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28337         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28338         mem_cd_iconveh_internal): Likewise.
28339         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28340         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28341         strstr, strcasestr): Likewise.
28342         * lib/unicodeio.c (unicode_to_mb): Likewise.
28343         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28344         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28345         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28346         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28347         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28348         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28349         * lib/unistr/u8-stpncpy.c: Likewise.
28350         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28351         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28352         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28353         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28354         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28355         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28356         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28357         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28358         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28359         Likewise.
28360         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28361         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28362         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28363         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28364         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28365         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28366         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28367         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28368         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28369         * tests/test-striconveha.c (main): Likewise.
28370         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28371         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28372         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28373         * doc/posix-functions/getline.texi: Likewise.
28374         Reported by Mike Frysinger <vapier@gentoo.org>.
28375
28376 2010-11-20  Bruno Haible  <bruno@clisp.org>
28377
28378         nproc: Fix condition.
28379         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28380         HAVE_PTHREAD_AFFINITY_NP.
28381
28382 2010-11-20  Bruno Haible  <bruno@clisp.org>
28383
28384         Fix a comment.
28385         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28386
28387 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28388
28389         ftoastr: don't assume snprintf
28390         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28391         Implement a subset of snprintf here, by using sprintf safely.
28392         * modules/ftoastr (Depends-on): Remove snprintf.
28393
28394 2010-11-19  Jim Meyering  <meyering@redhat.com>
28395
28396         test-rename.h: fix compilation failure
28397         * tests/test-rename.h (test_rename): Add omitted "}".
28398
28399 2010-11-17  Jim Meyering  <meyering@redhat.com>
28400
28401         maint.mk: add a URL discussing the no-@acronym policy
28402         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28403
28404 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28405
28406         ftoastr: depend on snprintf, improve comments
28407         * lib/ftoastr.c: Also mention Loitsch's draft.
28408         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28409         needed in the current implementation, but it might simplify
28410         speeding up the code later.
28411         * modules/ftoastr: Depend on snprintf; this improves portability.
28412         Suggested by Bruno Haible in the same email.
28413
28414         ftoastr: port to hosts lacking strtof and strtold
28415         Problem reported by Bruno Haible in
28416         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28417         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28418         environment and strtold (and presumably strtof) are not available.
28419         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28420         (configure.ac): Require gl_C99_STRTOLD.
28421
28422 2010-11-18  Bruno Haible  <bruno@clisp.org>
28423
28424         c-strtold: Avoid link error on AIX 7.
28425         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28426         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28427         (gl_C_STRTOLD): Test whether strtold_l exists.
28428         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28429
28430 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28431
28432         intprops: new macro INT_BITS_STRLEN_BOUND
28433         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28434         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28435         not exposed.  Also, it uses a slightly tighter bound than before;
28436         though this makes no practical difference, we might as well be as
28437         tight as we easily can.
28438
28439         ftoastr: new module, for lossless conversion of floats to short strings
28440         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28441         * modules/ftoastr: New files.
28442
28443 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28444
28445         bootstrap: port to Solaris sed
28446         * build-aux/bootstrap (get_version): Port to Solaris sed.
28447         See Ralf Wildenhues's note in
28448         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28449
28450 2010-11-14  Jim Meyering  <meyering@redhat.com>
28451
28452         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28453         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28454         and move definition closer to sole use.
28455
28456 2010-11-13  Jim Meyering  <meyering@redhat.com>
28457
28458         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28459         Now we require at least autoconf-2.59, which means the work-around
28460         is no longer needed.
28461         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28462         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28463         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28464         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28465         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28466
28467 2010-11-13  Bruno Haible  <bruno@clisp.org>
28468
28469         rename, renameat: Avoid test failures at NFS mounted locations.
28470         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28471         functions.
28472         (test_rename): Use assert_nonexistent.
28473         * tests/test-rename.c: Include <dirent.h>.
28474         * tests/test-renameat.c: Likewise.
28475         Reported by Gary V. Vaughan <gary@gnu.org>.
28476
28477         rename, renameat: Document Linux bug with NFS
28478         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28479         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28480         * doc/posix-functions/renameat.texi: Likewise.
28481         Suggested by Eric Blake.
28482
28483 2010-11-13  Bruno Haible  <bruno@clisp.org>
28484
28485         rename test: Add comments.
28486         * tests/test-rename.h (test_rename): Add structure and comments.
28487
28488 2010-11-13  Eric Blake  <eblake@redhat.com>
28489
28490         maintainer-makefile: cover a few more files
28491         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28492         scripts generated within C files, for libvirt.
28493
28494 2010-11-13  Bruno Haible  <bruno@clisp.org>
28495
28496         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28497         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28498         character, return the number of bytes that belong together, not always
28499         1.
28500         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28501         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28502         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28503         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28504         number of bytes of an invalid character.
28505         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28506         (main): Invoke it.
28507         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28508         results.
28509         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28510         malformed byte sequences.
28511         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28512         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28513         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28514         Reported by Ben Pfaff and Paolo Bonzini.
28515
28516 2010-11-13  Bruno Haible  <bruno@clisp.org>
28517
28518         openat: Work around glibc bug with fchownat() and empty file names.
28519         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28520         (gl_FUNC_FCHOWNAT): Invoke it.
28521         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28522         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28523         Reported by Gary V. Vaughan <gary@gnu.org>.
28524
28525 2010-11-13  Bruno Haible  <bruno@clisp.org>
28526
28527         openat: Ensure autoconf macro ordering.
28528         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28529         gl_USE_SYSTEM_EXTENSIONS.
28530         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28531
28532 2010-11-13  Bruno Haible  <bruno@clisp.org>
28533
28534         Update comments.
28535         * lib/unistr/u8-check.c: Update file name in comments.
28536         * lib/unistr/u8-mblen.c: Likewise.
28537         * lib/unistr/u8-prev.c: Likewise.
28538         * lib/unistr/u8-strmblen.c: Likewise.
28539         * lib/unistr/u8-strmbtouc.c: Likewise.
28540
28541 2010-11-13  Jim Meyering  <meyering@redhat.com>
28542
28543         tests: avoid test failure on Solaris 10 due to lack of PATH export
28544         * tests/test-update-copyright.sh: Don't forget to export PATH.
28545
28546         init.sh: ensure that IFS is defined, just in case...
28547         * tests/init.sh (setup_): Ensure that IFS is defined,
28548         so that saving and restoring it works as expected.  This
28549         appears to be useful at least for an old version of dash
28550         from a long time ago (RH 6).  See here for details:
28551         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28552
28553         maint.mk: tighten "test a == b" check
28554         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28555         test to files that contain something like #!/bin/sh.
28556         Without this, coreutils would get two false positives in
28557         the comments of C source files.
28558
28559 2010-11-12  Eric Blake  <eblake@redhat.com>
28560
28561         bootstrap: fix typo in previous attempt
28562         * build-aux/bootstrap (buildreq): Correct the grouping.
28563         Reported by Paul Eggert.
28564
28565         maintainer-makefile: prohibit test x == x
28566         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28567         Based on a report by Matthias Bolte.
28568
28569         bootstrap: allow FreeBSD gzip
28570         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28571         which has no '.' and goes to stderr.
28572         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28573         Reported by Matthias Bolte.
28574
28575         maintainer-makefile: check for i18n setup
28576         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28577         will likely work.
28578
28579 2010-11-12  Bruno Haible  <bruno@clisp.org>
28580
28581         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28582         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28583         * lib/nanosleep.c (nanosleep): Likewise.
28584
28585 2010-11-11  Bruno Haible  <bruno@clisp.org>
28586
28587         fcntl-h: Fix for use of C++ on glibc systems.
28588         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28589         also on glibc systems in C++ mode.
28590         Reported by Gary V. Vaughan <gary@gnu.org>.
28591
28592 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28593
28594         mknod: avoid false failure with dash
28595         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28596
28597 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28598
28599         unlink: Fix "is it should" typo in diagnostic.
28600         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28601         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28602
28603 2010-11-11  Bruno Haible  <bruno@clisp.org>
28604
28605         Tests for module 'strerror_r-posix'.
28606         * modules/strerror_r-posix-tests: New file.
28607         * tests/test-strerror_r.c: New file.
28608         * tests/test-string-c++.cc: Check the signature of strerror_r.
28609
28610         New module 'strerror_r-posix'.
28611         * lib/string.in.h (strerror_r): New declaration.
28612         * lib/strerror_r.c: New file.
28613         * m4/strerror_r.m4: New file.
28614         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28615         of strerror_r.
28616         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28617         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28618         * modules/strerror_r-posix: New file.
28619         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28620         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28621         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28622         portability problems.
28623
28624 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28625
28626         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28627         line is also considered for output. Quoted function name in shell
28628         command, so temporary files for functions like MyClass::operator()
28629         are removed correctly without errors.
28630
28631 2010-11-09  Bruno Haible  <bruno@clisp.org>
28632
28633         * doc/posix-functions/strerror.texi: List more failing platforms.
28634
28635         * doc/posix-functions/strerror.texi: Add a comment.
28636
28637 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28638
28639         fdopendir: fix bug on MacOS X when low on file descriptors
28640
28641         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28642         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28643         All callers changed.
28644         (fdopendir): Invoke save_cwd at the top level, not after using
28645         multiple dup() calls to use up file descriptors.  Then retry
28646         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28647         less than the maximum number of open file descriptors, because
28648         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28649         on Mac OS X 10.6.4 for tar 1.24
28650         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28651         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28652         and for tar 1.25
28653         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28654
28655 2010-11-07  Bruno Haible  <bruno@clisp.org>
28656
28657         vasnprintf: Support I flag on glibc systems.
28658         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28659         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28660         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28661         snprintf function.
28662         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28663         glibc systems.
28664         * tests/test-vasnprintf-posix3.c: New file.
28665         * modules/vasnprintf-posix-tests (Files): Add it.
28666         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28667
28668 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28669
28670         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28671         * MODULES.html.sh: For compiler warnings, use name
28672         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28673
28674 2010-11-05  Eric Blake  <eblake@redhat.com>
28675
28676         ceil, floor: avoid spurious failure with icc
28677         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28678         [denormals-as-zero] when optimizing without -mieee-fp option.
28679         * tests/test-floorf2.c (floorf_reference): Likewise.
28680         * tests/test-ceilf1.c (dummy): New function.
28681         (main): Use it to outsmart icc's optimization.
28682         * tests/test-floorf1.c (dummy, main): Likewise.
28683
28684         tests: require working signbit
28685         * modules/ceilf-tests (Depends-on): Add signbit.
28686         * modules/ceill-tests (Depends-on): Likewise.
28687         * modules/floorf-tests (Depends-on): Likewise.
28688         * modules/floorl-tests (Depends-on): Likewise.
28689         * modules/round-tests (Depends-on): Likewise.
28690         * modules/roundf-tests (Depends-on): Likewise.
28691         * modules/roundl-tests (Depends-on): Likewise.
28692         * modules/trunc-tests (Depends-on): Likewise.
28693         * modules/truncf-tests (Depends-on): Likewise.
28694         * modules/truncl-tests (Depends-on): Likewise.
28695
28696         strtod: work around icc bug
28697         * lib/strtod.c (minus_zero): Define to working value.
28698         (strtod): Use it to avoid icc bug.
28699
28700         copysign: enhance tests
28701         * modules/copysign-tests (Files): Add minus-zero.h.
28702         * tests/test-copysign.c (main): Also test zeros.
28703
28704 2010-11-04  Eric Blake  <eblake@redhat.com>
28705
28706         ceil, floor, round, trunc: enhance tests of -0
28707         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28708         * tests/test-ceill.c (main): Likewise.
28709         * tests/test-floorf1.c (main): Likewise.
28710         * tests/test-floorl.c (main): Likewise.
28711         * tests/test-round1.c (main): Likewise.
28712         * tests/test-roundf1.c (main): Likewise.
28713         * tests/test-roundl.c (main): Likewise.
28714         * tests/test-trunc1.c (main): Likewise.
28715         * tests/test-truncf1.c (main): Likewise.
28716         * tests/test-truncl.c (main): Likewise.
28717
28718 2010-11-04  Eric Blake  <eblake@redhat.com>
28719
28720         frexp, tests: work around ICC bug with -zero
28721         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28722         works with more compilers.
28723         * tests/minus-zero.h: New file.
28724         * modules/ceilf-tests (Files): Include it.
28725         * modules/ceill-tests (Files): Likewise.
28726         * modules/floorf-tests (Files): Likewise.
28727         * modules/floorl-tests (Files): Likewise.
28728         * modules/frexp-nolibm-tests (Files): Likewise.
28729         * modules/frexp-tests (Files): Likewise.
28730         * modules/frexpl-nolibm-tests (Files): Likewise.
28731         * modules/frexpl-tests (Files): Likewise.
28732         * modules/isnan-tests (Files): Likewise.
28733         * modules/isnand-nolibm-tests (Files): Likewise.
28734         * modules/isnand-tests (Files): Likewise.
28735         * modules/isnanf-nolibm-tests (Files): Likewise.
28736         * modules/isnanf-tests (Files): Likewise.
28737         * modules/isnanl-nolibm-tests (Files): Likewise.
28738         * modules/isnanl-tests (Files): Likewise.
28739         * modules/round-tests (Files): Likewise.
28740         * modules/roundf-tests (Files): Likewise.
28741         * modules/roundl-tests (Files): Likewise.
28742         * modules/ldexpl-tests (Files): Likewise.
28743         * modules/signbit-tests (Files): Likewise.
28744         * modules/snprintf-posix-tests (Files): Likewise.
28745         * modules/sprintf-posix-tests (Files): Likewise.
28746         * modules/strtod-tests (Files): Likewise.
28747         * modules/trunc-tests (Files): Likewise.
28748         * modules/truncf-tests (Files): Likewise.
28749         * modules/truncl-tests (Files): Likewise.
28750         * modules/vsnprintf-posix-tests (Files): Likewise.
28751         * modules/vsprintf-posix-tests (Files): Likewise.
28752         * modules/vasnprintf-posix-tests (Files): Likewise.
28753         * modules/vasprintf-posix-tests (Files): Likewise.
28754         * tests/test-ceilf1.c (main): Use it.
28755         * tests/test-ceill.c (main): Likewise.
28756         * tests/test-floorf1.c (main): Likewise.
28757         * tests/test-floorl.c (main): Likewise.
28758         * tests/test-frexp.c (main): Likewise.
28759         * tests/test-frexpl.c (main): Likewise.
28760         * tests/test-isnan.c (main): Likewise.
28761         * tests/test-isnand.h (main): Likewise.
28762         * tests/test-isnanf.h (main): Likewise.
28763         * tests/test-isnanl.h (main): Likewise.
28764         * tests/test-ldexpl.c (main): Likewise.
28765         * tests/test-round.c (main): Likewise.
28766         * tests/test-roundf.c (main): Likewise.
28767         * tests/test-roundl.c (main): Likewise.
28768         * tests/test-signbit.c (test_signbitf, test_signbitd)
28769         (test_signbitl): Likewise.
28770         * tests/test-snprintf-posix.h (test_function): Likewise.
28771         * tests/test-sprintf-posix.h (test_function): Likewise.
28772         * tests/test-strtod.c (main): Likewise.
28773         * tests/test-trunc1.c (main): Likewise.
28774         * tests/test-truncf1.c (main): Likewise.
28775         * tests/test-truncl.c (main): Likewise.
28776
28777         isnanl: work around icc bug
28778         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28779
28780 2010-11-03  Eric Blake  <eblake@redhat.com>
28781
28782         tests: fix compiler warnings
28783         * tests/test-getopt.h (test_getopt): Fix condition.
28784         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28785         * tests/test-pipe2.c (main): Likewise.
28786         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28787
28788         utimens: fix broken m4 test
28789         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28790
28791 2010-10-28  Bruno Haible  <bruno@clisp.org>
28792
28793         posix_spawn*, getdtablesize: Relax license.
28794         * modules/posix_spawn (License): Change to LGPLv2+.
28795         * modules/posix_spawnp (License): Likewise.
28796         * modules/posix_spawn-internal (License): Likewise.
28797         * modules/posix_spawnattr_init (License): Likewise.
28798         * modules/posix_spawnattr_getflags (License): Likewise.
28799         * modules/posix_spawnattr_setflags (License): Likewise.
28800         * modules/posix_spawnattr_getpgroup (License): Likewise.
28801         * modules/posix_spawnattr_setpgroup (License): Likewise.
28802         * modules/posix_spawnattr_getschedparam (License): Likewise.
28803         * modules/posix_spawnattr_setschedparam (License): Likewise.
28804         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28805         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28806         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28807         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28808         * modules/posix_spawnattr_getsigmask (License): Likewise.
28809         * modules/posix_spawnattr_setsigmask (License): Likewise.
28810         * modules/posix_spawnattr_destroy (License): Likewise.
28811         * modules/posix_spawn_file_actions_init (License): Likewise.
28812         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28813         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28814         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28815         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28816         * modules/getdtablesize (License): Likewise.
28817         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28818
28819 2010-10-26  Bruno Haible  <bruno@clisp.org>
28820
28821         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28822         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28823         Cygwin and mingw.
28824         Suggested by Eric Blake.
28825
28826 2010-10-26  Bruno Haible  <bruno@clisp.org>
28827
28828         stdio: Work around compilation error due to renameat() on Solaris 10.
28829         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28830         * lib/renameat.c: Don't include <unistd.h> here.
28831         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28832         Reported by Paul Eggert and Eric Blake.
28833
28834 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28835
28836         renameat: port to Solaris 10, which declares renameat in unistd.h
28837
28838         * lib/renameat.c: Include unistd.h before stdio.h, because
28839         Solaris 10 declares renameat in unistd.h.  Problem encountered
28840         when building GNU tar 1.24 on Solaris 10.
28841
28842 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28843
28844         fdopendir: fix C89 compilation
28845         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28846         compilers.
28847
28848 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28849
28850         inttostr: simplify by removing unnecessary redundancy
28851         * lib/anytostr.c: Don't include verify.h.
28852         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28853         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28854         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28855         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28856         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28857         Likewise.
28858         * modules/inttostr (Depends-on): Remove 'verify'.
28859
28860 2010-10-23  Bruno Haible  <bruno@clisp.org>
28861
28862         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28863         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28864         Reported by Eric Blake.
28865
28866 2010-10-23  Bruno Haible  <bruno@clisp.org>
28867
28868         Tests: Fix LOCALE_JA on MirBSD 10.
28869         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28870         to an UTF-8 locale.
28871         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28872         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28873         Reported by Eric Blake.
28874
28875 2010-10-21  Bruno Haible  <bruno@clisp.org>
28876
28877         nl_langinfo test: Avoid test failure on NetBSD 5.
28878         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28879         Reported by Eric Blake.
28880
28881 2010-10-21  Eric Blake  <eblake@redhat.com>
28882
28883         c-stack: work around libsigsegv 2.8 bug
28884         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28885         overflow on at least PowerPC64.
28886
28887 2010-10-17  Bruno Haible  <bruno@clisp.org>
28888
28889         userspec: Drop redundant file.
28890         * modules/userspec (Files): Remove lib/inttostr.h.
28891
28892 2010-10-17  Bruno Haible  <bruno@clisp.org>
28893
28894         nl_langinfo tests: Silence some warnings.
28895         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28896         Reported by Jim Meyering.
28897
28898 2010-10-17  Bruno Haible  <bruno@clisp.org>
28899
28900         Make use of GCC's attribute __alloc_size__.
28901         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28902         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28903         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28904         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28905         __alloc_size__.
28906         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28907         Suggested by Jim Meyering.
28908
28909 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28910
28911         bootstrap: anchor .gitignore entries.
28912         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28913         with...
28914         (insert_vc_ignore): ... this new function, which prepends `/' to
28915         all .gitignore entries before passing them to
28916         insert_sorted_if_absent.
28917
28918 2010-10-16  Bruno Haible  <bruno@clisp.org>
28919
28920         nextafter: Fix configure check.
28921         * modules/nextafter (configure.ac): Correct expected prototype.
28922
28923 2010-10-16  Bruno Haible  <bruno@clisp.org>
28924
28925         termios: Update documentation.
28926         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28927
28928 2010-10-16  Bruno Haible  <bruno@clisp.org>
28929
28930         tests: Make them compile with TinyCC.
28931         * tests/test-strstr.c (main): Remove parentheses around array
28932         initializer.
28933
28934 2010-10-15  Eric Blake  <eblake@redhat.com>
28935
28936         ignore-value: make header idempotent
28937         * lib/ignore-value.h: Add double-inclusion guards.
28938         Reported by Stefan Berger.
28939
28940 2010-10-15  Jim Meyering  <meyering@redhat.com>
28941
28942         GNUmakefile: handle "stable" target, not "major"
28943         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28944         lists in maint.mk and announce-gen.  Without this, "make stable"
28945         would fail to ensure that $(VERSION) is up to date.
28946
28947 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28948
28949         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28950         & co.
28951
28952 2010-10-14  Bruno Haible  <bruno@clisp.org>
28953
28954         vasnprintf: Don't set errno to 0.
28955         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28956         block that sets it to 0.
28957         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28958
28959 2010-10-14  Bruno Haible  <bruno@clisp.org>
28960
28961         socketlib: Fix.
28962         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28963         gl_PREREQ_SYS_H_WINSOCK2.
28964         Reported by Ian Beckwith <ianb@erislabs.net>.
28965
28966 2010-10-13  Jim Meyering  <meyering@redhat.com>
28967
28968         test-select-stdin.c: avoid warn_unused_result warnings
28969         * tests/test-select-stdin.c: Include "macros.h".
28970         ASSERT that read and fflush succeed.
28971
28972 2010-10-13  Jim Meyering  <meyering@redhat.com>
28973
28974         git-version-gen: do require git-VC'd files in cwd
28975         * build-aux/git-version-gen: Reject a git version string
28976         if there are no commits associated with the current directory.
28977         This avoids an unlikely false-positive (unrelated dir whose parent
28978         repository also contains a tag matching v*), as pointed out
28979         by Giuseppe Scrivano in
28980         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28981
28982 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28983
28984         argv-iter: omit nonconforming declaration
28985         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28986         enum arg_iter_err declaration, which doesn't conform to C99.
28987         Solaris 10 cc warns about this.
28988
28989 2010-10-13  Eric Blake  <eblake@redhat.com>
28990
28991         termios: fix compilation on mingw
28992         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28993         (gl_TERMIOS_H): Adjust it on mingw.
28994         * modules/termios (Makefile.am): Substitute new key.
28995         * lib/termios.in.h (includes): Make include_next conditional.
28996         * doc/posix-headers/termios.texi (termios.h): Update
28997         documentation.
28998         Reported by Daniel P. Berrange.
28999
29000 2010-10-13  Jim Meyering  <meyering@redhat.com>
29001
29002         git-version-gen: don't require that .git/ be in the current dir
29003         * build-aux/git-version-gen: Adjust this script so that it works
29004         when run from any working directory beneath the top-level .git/-
29005         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29006         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29007
29008         test-select: avoid warn_unused_result warnings
29009         * tests/test-select.c: Include "macros.h".
29010         ASSERT that each call to read, write, and pipe succeeds.
29011         While not technically required, also check each "close".
29012         * modules/select-tests (Files): Add tests/macros.h.
29013
29014         test-symlinkat: remove declaration of unused local
29015         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29016
29017         test-inttostr: avoid shadowing warnings
29018         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29019         and use malloc rather than the stack for the same reason as
29020         mentioned in the comment justifying the other allocation.
29021
29022 2010-10-11  Bruno Haible  <bruno@clisp.org>
29023
29024         stdlib: Allow multiple gnulib generated replacements to coexist.
29025         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29026         Reported by Sam Steingold <sds@gnu.org>.
29027
29028 2010-10-11  Jim Meyering  <meyering@redhat.com>
29029
29030         fix a documentation typo
29031         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29032
29033 2010-10-11  Eric Blake  <eblake@redhat.com>
29034
29035         futimens: work around Solaris 11 bug
29036         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29037         * tests/test-futimens.h (test_futimens): Enhance, rather than
29038         weaken test.
29039         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29040
29041 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29042
29043         Indentation.
29044         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29045         higher-level operators more to the left.
29046
29047 2010-10-11  Jim Meyering  <meyering@redhat.com>
29048
29049         test-futimens: avoid unwarranted test failure on Solaris 5.11
29050         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29051         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29052         because it tries to dereference the NULL name argument.
29053
29054 2010-10-11  Bruno Haible  <bruno@clisp.org>
29055
29056         Indentation.
29057         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29058         indentation.
29059
29060 2010-10-11  Jim Meyering  <meyering@redhat.com>
29061
29062         spawn.in.h: make indentation consistent with parentheses
29063         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29064         Make indentation consistent with parentheses.
29065
29066 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29067
29068         Fix mismatched parens in previous commit
29069         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29070         parens.
29071
29072 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29073
29074         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29075
29076         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29077         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
29078         * lib/malloca.c: Include "verify.h".
29079         (verify1): Remove, replacing with a verify call.
29080         * lib/relocwrapper.c (verify1): Likewise.
29081         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
29082         Likewise.
29083         * modules/malloca (Depends-on): Add 'verify'.
29084         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29085         * modules/vasnprintf (Depends-on): Add 'verify'.
29086         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29087         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29088         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29089         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29090         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29091         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29092         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29093
29094         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29095
29096         Formerly the style was sometimes 2*X - 1, because the C standard
29097         was wrongly thought to disallow ?: in integral constant expressions.
29098         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29099         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29100         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29101         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29102         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29103         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29104         verify that time_t cannot be floating.
29105
29106 2010-10-08  Eric Blake  <eblake@redhat.com>
29107
29108         time: enforce recent POSIX ruling that time_t is integral
29109         * lib/time.in.h (__time_t_must_be_integral): Detect any
29110         problematic systems, allowing the rest of gnulib to assume POSIX.
29111
29112 2010-10-08  Jim Meyering  <meyering@redhat.com>
29113
29114         fdopendir: fix a bug on systems lacking openat and /proc support
29115         OpenBSD 4.7 is one such system.  The most noticeable effect was
29116         failure of any application making nontrivial use of fts: rm, du,
29117         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29118           ./rm: traversal failed: `a': Bad file descriptor
29119         Debugging that, you see that even though FD 6 was closed just
29120         prior to the opendir call in fd_clone_opendir, its resulting
29121         dir->dd_fd was 8, rather than the expected value of 6:
29122
29123         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29124         93                close (fd);
29125         (gdb) n
29126         94                dir = fd_clone_opendir (dupfd);
29127         (gdb) n
29128         95                saved_errno = errno;
29129         (gdb) p dir->dd_fd
29130         $11 = 8
29131
29132         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29133         The problem is that on OpenBSD, fd_clone_opendir has to resort
29134         to using the old-style save/restore CWD mechanism, due to its
29135         lack of openat/proc support, and *that* would steal the FD (6)
29136         that opendir was supposed to use.
29137
29138         The fix is to squirrel away the desired FD so that save_cwd uses a
29139         different one, and then free the dest FD right before calling opendir.
29140         That guarantees opendir will use the required file descriptor.
29141
29142         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29143
29144 2010-10-08  Bruno Haible  <bruno@clisp.org>
29145
29146         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29147         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29148
29149 2010-10-08  Bruno Haible  <bruno@clisp.org>
29150
29151         nanosleep: Make replacement POSIX compliant.
29152         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29153         is out of range.
29154         Reported by Jim Meyering.
29155
29156 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29157
29158         bootstrap: add hook for altering gnulib.mk, for Bison
29159         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29160         the Bison bootstrapping process can rewrite file names and variables
29161         in this file before later parts of 'bootstrap' use the file.
29162         Bison wants to include lib/gnulib.mk from the top-level makefile,
29163         so it needs the file names in this file to be relative to the top
29164         level, not relative to lib; plus it needs variable names to be
29165         rewritten.
29166         (slurp): Use the new function.
29167
29168         bootstrap: reformat for readability
29169         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29170
29171 2010-10-08  Eric Blake  <eblake@redhat.com>
29172
29173         docs: update cygwin progress
29174         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29175         1.7.7.
29176         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29177         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29178         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29179         * doc/posix-functions/carg.texi (carg): Likewise.
29180         * doc/posix-functions/cargf.texi (cargf): Likewise.
29181         * doc/posix-functions/casin.texi (casin): Likewise.
29182         * doc/posix-functions/casinf.texi (casinf): Likewise.
29183         * doc/posix-functions/casinh.texi (casinh): Likewise.
29184         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29185         * doc/posix-functions/catan.texi (catan): Likewise.
29186         * doc/posix-functions/catanf.texi (catanf): Likewise.
29187         * doc/posix-functions/catanh.texi (catanh): Likewise.
29188         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29189         * doc/posix-functions/ccos.texi (ccos): Likewise.
29190         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29191         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29192         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29193         * doc/posix-functions/cexp.texi (cexp): Likewise.
29194         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29195         * doc/posix-functions/cimag.texi (cimag): Likewise.
29196         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29197         * doc/posix-functions/clog.texi (clog): Likewise.
29198         * doc/posix-functions/clogf.texi (clogf): Likewise.
29199         * doc/posix-functions/conj.texi (conj): Likewise.
29200         * doc/posix-functions/conjf.texi (conjf): Likewise.
29201         * doc/posix-functions/cpow.texi (cpow): Likewise.
29202         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29203         * doc/posix-functions/cproj.texi (cproj): Likewise.
29204         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29205         * doc/posix-functions/creal.texi (creal): Likewise.
29206         * doc/posix-functions/crealf.texi (crealf): Likewise.
29207         * doc/posix-functions/csin.texi (csin): Likewise.
29208         * doc/posix-functions/csinf.texi (csinf): Likewise.
29209         * doc/posix-functions/csinh.texi (csinh): Likewise.
29210         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29211         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29212         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29213         * doc/posix-functions/ctan.texi (ctan): Likewise.
29214         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29215         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29216         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29217         * doc/posix-headers/complex.texi (complex.h): Likewise.
29218
29219 2010-10-07  Jim Meyering  <meyering@redhat.com>
29220
29221         parse-datetime: avoid compilation failure on OpenBSD 4.7
29222         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29223         This works around a compilation failure on OpenBSD 4.7:
29224         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29225
29226 2010-10-07  Eric Blake  <eblake@redhat.com>
29227
29228         docs: update cygwin progress
29229         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29230         1.7.6.
29231         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29232         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29233         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29234         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29235         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29236         Likewise.
29237         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29238         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29239         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29240         Likewise.
29241         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29242         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29243         Likewise.
29244         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29245         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29246         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29247         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29248         Likewise.
29249         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29250         Likewise.
29251         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29252
29253         docs: update parse-datetime history
29254         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29255         documentation of this function's history and alternatives.
29256
29257         cygwin: use more robust version check
29258         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29259         exclude an eventual cygwin 1.9.1.
29260         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29261         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29262         (gl_FUNC_STRCASESTR): Likewise.
29263         Reported by Bruno Haible.
29264
29265 2010-10-06  Bruno Haible  <bruno@clisp.org>
29266
29267         string, sys_select: Avoid #including large headers unless necessary.
29268         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29269         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29270         OSF/1, BeOS, Haiku.
29271         Reported by Jim Meyering.
29272
29273 2010-10-05  Eric Blake  <eblake@redhat.com>
29274
29275         memmem, strstr, strcasestr: fix bug with long periodic needle
29276         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29277         periodic needle having false positive.
29278         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29279         and cygwin 1.7.7.
29280         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29281         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29282         (gl_FUNC_STRCASESTR): Likewise.
29283         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29284         * tests/test-memmem.c (main): Expose the bug.
29285         * tests/test-strcasestr.c (main): Likewise.
29286         * tests/test-strstr.c (main): Likewise.
29287         * tests/test-c-strcasestr.c (main): Likewise.
29288         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29289         * doc/posix-functions/strstr.texi (strstr): Likewise.
29290         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29291         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29292
29293 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29294
29295         parse-datetime: do some more renaming
29296         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29297         parse_datetime, not get_date.  Mention the renaming.
29298         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29299         in comments.
29300         * m4/bison.m4: Likewise.
29301
29302 2010-10-05  Eric Blake  <eblake@redhat.com>
29303
29304         parse-datetime: better name than get_date
29305         * NEWS: Reword the deprecation notice.
29306         * modules/get_date: Rename to modules/parse-datetime.
29307         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29308         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29309         * lib/get_date.y: Rename to lib/parse-datetime.y.
29310         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29311         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29312         * doc/getdate.texi: Provide fallback wrapper.
29313         * lib/getdate.h: Move guts, and wrap...
29314         * lib/parse-datetime.h: ...new file.
29315         * lib/parse-datetime.y (get_date): Rename...
29316         (parse_datetime): ...to this.
29317         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29318         (gl_PARSE_DATETIME): ...to this.
29319         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29320         documentation.
29321         * modules/getdate (Files): Provide fallback docs and header.
29322         (Notice, Depends-on): Update references.
29323         * tests/test-parse-datetime.c: Likewise.
29324         * DEPENDENCIES: Likewise.
29325         * MODULES.html.sh (Date and time <time.h>): Likewise.
29326         * doc/parse-datetime.texi (Date input formats)
29327         (Authors of parse_datetime): Likewise.
29328         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29329         (Include): Likewise.
29330         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29331         * gnulib-tool: Likewise.
29332         * m4/bison.m4 (gl_BISON): Likewise.
29333         Suggested by Bruno Haible.
29334
29335 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29336
29337         more ports to Solaris tr, which needs [] around ranges
29338         * gnulib-tool: Solaris tr needs [] around ranges.
29339         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29340         * tests/test-pipe-filter-gi1.c (main): Likewise.
29341         * tests/test-pipe-filter-ii1.c (main): Likewise.
29342
29343 2010-10-05  Eric Blake  <eblake@redhat.com>
29344
29345         bootstrap: fix Solaris regression
29346         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29347         around ranges.
29348         Reported by Pádraig Brady.
29349
29350         bootstrap: work with pkg-config
29351         * build-aux/bootstrap (check_versions): Also transliterate - in
29352         prerequisite name.
29353         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29354         prerequisites that were already found, to avoid confusion.
29355         Reported by Justin Clift.
29356
29357         faccessat: remove unused wrappers
29358         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29359         presence of these wrappers dragged in -lgen on Solaris.
29360         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29361
29362 2010-10-05  Jim Meyering  <meyering@redhat.com>
29363
29364         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29365         * Makefile (sc_pragma_columns): New syntax-check rule.
29366
29367 2010-10-04  Bruno Haible  <bruno@clisp.org>
29368
29369         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29370         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29371         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29372         Reported by Bruce Korb and Eric Blake.
29373
29374 2010-10-04  Bruno Haible  <bruno@clisp.org>
29375
29376         threadlib: Make option --with-libpth-prefix work.
29377         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29378         use $LIBPTH, not just -lpth.
29379
29380 2010-10-04  Bruno Haible  <bruno@clisp.org>
29381
29382         Avoid line length limitation from HP NonStop system header files.
29383         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29384         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29385         * lib/ctype.in.h: Likewise.
29386         * lib/dirent.in.h: Likewise.
29387         * lib/errno.in.h: Likewise.
29388         * lib/fcntl.in.h: Likewise.
29389         * lib/float.in.h: Likewise.
29390         * lib/getopt.in.h: Likewise.
29391         * lib/iconv.in.h: Likewise.
29392         * lib/inttypes.in.h: Likewise.
29393         * lib/langinfo.in.h: Likewise.
29394         * lib/locale.in.h: Likewise.
29395         * lib/math.in.h: Likewise.
29396         * lib/netdb.in.h: Likewise.
29397         * lib/netinet_in.in.h: Likewise.
29398         * lib/poll.in.h: Likewise.
29399         * lib/pthread.in.h: Likewise.
29400         * lib/pty.in.h: Likewise.
29401         * lib/sched.in.h: Likewise.
29402         * lib/se-selinux.in.h: Likewise.
29403         * lib/search.in.h: Likewise.
29404         * lib/signal.in.h: Likewise.
29405         * lib/spawn.in.h: Likewise.
29406         * lib/stdarg.in.h: Likewise.
29407         * lib/stddef.in.h: Likewise.
29408         * lib/stdint.in.h: Likewise.
29409         * lib/stdio.in.h: Likewise.
29410         * lib/stdlib.in.h: Likewise.
29411         * lib/string.in.h: Likewise.
29412         * lib/strings.in.h: Likewise.
29413         * lib/sys_file.in.h: Likewise.
29414         * lib/sys_ioctl.in.h: Likewise.
29415         * lib/sys_select.in.h: Likewise.
29416         * lib/sys_socket.in.h: Likewise.
29417         * lib/sys_stat.in.h: Likewise.
29418         * lib/sys_time.in.h: Likewise.
29419         * lib/sys_times.in.h: Likewise.
29420         * lib/sys_utsname.in.h: Likewise.
29421         * lib/sys_wait.in.h: Likewise.
29422         * lib/sysexits.in.h: Likewise.
29423         * lib/termios.in.h: Likewise.
29424         * lib/time.in.h: Likewise.
29425         * lib/unistd.in.h: Likewise.
29426         * lib/wchar.in.h: Likewise.
29427         * lib/wctype.in.h: Likewise.
29428         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29429         * modules/ctype (Makefile.am): Likewise.
29430         * modules/dirent (Makefile.am): Likewise.
29431         * modules/errno (Makefile.am): Likewise.
29432         * modules/fcntl-h (Makefile.am): Likewise.
29433         * modules/float (Makefile.am): Likewise.
29434         * modules/getopt-posix (Makefile.am): Likewise.
29435         * modules/iconv-h (Makefile.am): Likewise.
29436         * modules/inttypes (Makefile.am): Likewise.
29437         * modules/langinfo (Makefile.am): Likewise.
29438         * modules/locale (Makefile.am): Likewise.
29439         * modules/math (Makefile.am): Likewise.
29440         * modules/netdb (Makefile.am): Likewise.
29441         * modules/netinet_in (Makefile.am): Likewise.
29442         * modules/poll-h (Makefile.am): Likewise.
29443         * modules/pthread (Makefile.am): Likewise.
29444         * modules/pty (Makefile.am): Likewise.
29445         * modules/sched (Makefile.am): Likewise.
29446         * modules/search (Makefile.am): Likewise.
29447         * modules/selinux-h (Makefile.am): Likewise.
29448         * modules/signal (Makefile.am): Likewise.
29449         * modules/spawn (Makefile.am): Likewise.
29450         * modules/stdarg (Makefile.am): Likewise.
29451         * modules/stddef (Makefile.am): Likewise.
29452         * modules/stdint (Makefile.am): Likewise.
29453         * modules/stdio (Makefile.am): Likewise.
29454         * modules/stdlib (Makefile.am): Likewise.
29455         * modules/string (Makefile.am): Likewise.
29456         * modules/strings (Makefile.am): Likewise.
29457         * modules/sys_file (Makefile.am): Likewise.
29458         * modules/sys_ioctl (Makefile.am): Likewise.
29459         * modules/sys_select (Makefile.am): Likewise.
29460         * modules/sys_socket (Makefile.am): Likewise.
29461         * modules/sys_stat (Makefile.am): Likewise.
29462         * modules/sys_time (Makefile.am): Likewise.
29463         * modules/sys_times (Makefile.am): Likewise.
29464         * modules/sys_utsname (Makefile.am): Likewise.
29465         * modules/sys_wait (Makefile.am): Likewise.
29466         * modules/sysexits (Makefile.am): Likewise.
29467         * modules/termios (Makefile.am): Likewise.
29468         * modules/time (Makefile.am): Likewise.
29469         * modules/unistd (Makefile.am): Likewise.
29470         * modules/wchar (Makefile.am): Likewise.
29471         * modules/wctype (Makefile.am): Likewise.
29472
29473 2010-10-04  Bruno Haible  <bruno@clisp.org>
29474
29475         read-file tests: Avoid a test failure on NonStop Kernel.
29476         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29477         a regular file.
29478         Reported by Joachim Schmitz <schmitz@hp.com>.
29479
29480 2010-10-03  Bruno Haible  <bruno@clisp.org>
29481
29482         gnulib-tool: Fixes for --create-testdir with --libtool.
29483         * gnulib-tool (func_get_automake_snippet): Don't augment
29484         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29485         an executable.
29486         (func_create_testdir): Handle module 'alloca' like func_import.
29487         Reported by Bruce Korb <bruce.korb@gmail.com>.
29488
29489 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29490
29491         Avoid some lines longer than 80 characters.
29492         * lib/stdint.in.h: Break long comment lines.
29493         * lib/math.in.h: Likewise.
29494         (_GL_NUM_UINT_WORDS): New macro, for readability.
29495         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29496         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29497         * lib/stdlib.in.h: Likewise.
29498         * lib/spawn.in.h: Likewise.
29499         * lib/sys_socket.in.h: Update an URL.
29500         * lib/sys_stat.in.h: Break long line.
29501
29502 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29503
29504         Improve pmccabe2html.
29505         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29506         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29507         when the sources change. Remove the line in the HTML about "Used
29508         ranges" (which implied that there might be other unused ranges),
29509         rename "Resume" to "Summary" (easier to understand for more users).
29510         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29511         styles, and some unnecessary blank lines.
29512
29513 2010-10-03  Bruno Haible  <bruno@clisp.org>
29514             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29515
29516         acl: Add support for ACLs on NonStop Kernel.
29517         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29518         Check whether the function aclsort() exists.
29519         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29520         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29521         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29522         (acl_nontrivial [HAVE_ACLSORT]: New function.
29523         (file_has_acl): Implement for NonStop Kernel.
29524         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29525         (qset_acl): Implement for NonStop Kernel.
29526         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29527         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29528         (main): Implement for NonStop Kernel.
29529         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29530         Kernel. Handle this flavor.
29531         * tests/test-set-mode-acl.sh: Likewise.
29532         * tests/test-copy-acl.sh: Likewise.
29533         * tests/test-copy-file.sh: Likewise.
29534
29535 2010-10-03  Bruno Haible  <bruno@clisp.org>
29536
29537         Info about ACLs on NonStop Kernel.
29538         * doc/acl-resources.txt: Add info about NonStop Kernel.
29539         References by Joachim Schmitz <schmitz@hp.com>.
29540
29541 2010-10-02  Bruno Haible  <bruno@clisp.org>
29542
29543         Define missing EDQUOT on NonStop Kernel.
29544         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29545         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29546         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29547         missing.
29548         * doc/posix-headers/errno.texi: Mention the NSK bug.
29549         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29550         Reported by Joachim Schmitz <schmitz@hp.com>.
29551
29552 2010-10-02  Bruno Haible  <bruno@clisp.org>
29553
29554         Update doc for POSIX:2008.
29555         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29556         Update URL of POSIX specification.
29557
29558 2010-10-02  Bruno Haible  <bruno@clisp.org>
29559
29560         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29561         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29562         from gnulib, not from Automake.
29563
29564 2010-10-02  Bruno Haible  <bruno@clisp.org>
29565
29566         New module 'system-posix'.
29567         * modules/system-posix: New file.
29568         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29569         module is present.
29570         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29571         GNULIB_SYSTEM_POSIX.
29572         * modules/stdlib (Depends-on): Remove sys_wait.
29573         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29574         * doc/posix-functions/system.texi: Mention the new module.
29575         * doc/posix-headers/stdlib.texi: Likewise.
29576         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29577         define test_sys_wait_macros to a no-op.
29578         Reported by Sam Steingold <sds@gnu.org>.
29579
29580 2010-09-30  Bruno Haible  <bruno@clisp.org>
29581
29582         More renaming from 'getdate' to 'get_date'.
29583         * doc/get_date.texi: Renamed from doc/getdate.texi.
29584         * modules/get_date (Files): Update.
29585         * MODULES.html.sh (Date and time <time.h>): Update.
29586         * DEPENDENCIES: Update.
29587         * gnulib-tool: Update comment.
29588         * m4/bison.m4 (gl_BISON): Likewise.
29589         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29590
29591 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29592
29593         bootstrap: support ACLOCAL_FLAGS during aclocal
29594         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29595         can add additional -I dir for third-party .m4 files.
29596
29597 2010-09-30  Eric Blake  <eblake@redhat.com>
29598
29599         bootstrap: use glibtoolize on MacOS
29600         * build-aux/bootstrap (check_versions): Convert libtool into
29601         libtoolize.
29602         (tool search): Move libtool check earlier, and look for
29603         glibtoolize for MacOS.
29604         (gnulib_tool_options): Auto-add --libtool when appropriate.
29605         Reported by Justin Clift.
29606
29607         poll: fix typo that broke test on MacOS
29608         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29609         Reported by Justin Clift.
29610
29611         getdate: rename to get_date
29612         Note: getdate.h is not renamed, to minimize client impact.
29613         * modules/getdate: Mark obsolete.  Move old contents...
29614         * modules/get_date: ...to new module name.
29615         * modules/getdate-tests: Move...
29616         * modules/get_date-tests: ...here.
29617         * m4/getdate.m4: Move...
29618         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29619         * lib/getdate.y: Move...
29620         * lib/get_date.y: ...here.
29621         * tests/test-getdate.c: Move...
29622         * tests/test-get_date.c: ...here.
29623         * doc/posix-functions/getdate.texi (getdate): Update name.
29624         * NEWS: Mention the change.
29625
29626 2010-09-29  Bruno Haible  <bruno@clisp.org>
29627
29628         Separate the module 'waitpid' from the module 'sys_wait'.
29629         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29630         present.
29631         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29632         gl_MODULE_INDICATOR_FOR_TESTS.
29633         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29634         * modules/sys_wait (Depends-on): Remove waitpid.
29635         (Makefile.am): Substitute GNULIB_WAITPID.
29636         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29637         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29638         signature only if the 'waitpid' module is present.
29639         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29640         * NEWS: Mention the change.
29641         * modules/grantpt (Depends-on): Add waitpid.
29642         * modules/wait-process (Depends-on): Likewise.
29643
29644 2010-09-29  Bruno Haible  <bruno@clisp.org>
29645
29646         More tests for module 'sys_wait'.
29647         * modules/sys_wait-c++-tests: New file.
29648         * tests/test-sys_wait-c++.cc: New file.
29649         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29650         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29651
29652 2010-09-29  Bruno Haible  <bruno@clisp.org>
29653
29654         New module 'waitpid'.
29655         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29656         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29657         Don't include <process.h>.
29658         (waitpid): Declare only, using modern idiom.
29659         * m4/waitpid.m4: New file.
29660         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29661         * modules/waitpid: New file.
29662         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29663         (Makefile.am): Update.
29664         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29665
29666 2010-09-28  Bruno Haible  <bruno@clisp.org>
29667
29668         poll: Assume ANSI C.
29669         * lib/poll.c (poll): Use an ANSI C declaration.
29670
29671 2010-09-28  Bruno Haible  <bruno@clisp.org>
29672
29673         poll-h: Create poll.h on all platforms.
29674         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29675         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29676         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29677         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29678         (gl_REPLACE_POLL_H): Don't set POLL_H.
29679         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29680         * modules/poll-h (Depends-on): Add include_next.
29681         (Makefile.am): Create poll.h unconditionally. Substitute also
29682         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29683
29684 2010-09-28  Bruno Haible  <bruno@clisp.org>
29685
29686         Tests for module 'poll-h'.
29687         * modules/poll-h-c++-tests: New file.
29688         * tests/test-poll-h-c++.cc: New file.
29689
29690         Tests for module 'poll-h'.
29691         * modules/poll-h-tests: New file.
29692         * tests/test-poll-h.c: New file.
29693
29694 2010-09-28  Bruno Haible  <bruno@clisp.org>
29695
29696         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29697         * modules/poll-h (Depends-on): Add 'extensions'.
29698
29699 2010-09-28  Bruno Haible  <bruno@clisp.org>
29700
29701         New module 'poll-h'.
29702         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29703         (poll): Use modern idiom.
29704         * modules/poll-h: New file.
29705         * modules/poll (Files): Remove lib/poll.in.h.
29706         (Depends-on): Add poll-h.
29707         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29708         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29709         * m4/poll_h.m4: New file.
29710         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29711         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29712         and invoke gl_REPLACE_POLL_H.
29713         * lib/poll.c: Use common idiom.
29714         * tests/test-poll.c: Likewise.
29715         * doc/posix-headers/poll.texi: Mention the poll-h module.
29716         Suggested by Eric Blake.
29717
29718 2010-09-26  Bruno Haible  <bruno@clisp.org>
29719
29720         sys_wait: Implement WSTOPSIG.
29721         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29722         Reported by Simon Josefsson.
29723
29724 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29725
29726         stdlib, sys_wait: Avoid compilation error on mingw.
29727         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29728
29729 2010-09-26  Bruno Haible  <bruno@clisp.org>
29730
29731         stdlib tests: Avoid code duplication.
29732         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29733         * modules/sys_wait-tests (Files): Likewise.
29734         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29735         * tests/test-stdlib.c: Include test-sys_wait.h.
29736         (main): Invoke test_sys_wait_macros.
29737         * tests/test-sys_wait.c: Include test-sys_wait.h.
29738         (main): Invoke test_sys_wait_macros.
29739
29740 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29741
29742         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29743         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29744         sure Windows sockets are working before calling getaddrinfo.
29745         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29746         * doc/gnulib.texi (Windows sockets): Fix typo.
29747
29748 2010-09-25  Bruno Haible  <bruno@clisp.org>
29749
29750         Tests for module 'regex-quote'.
29751         * modules/regex-quote-tests: New file.
29752         * tests/test-regex-quote.c: New file.
29753
29754         New module 'regex-quote'.
29755         * lib/regex-quote.h: New file.
29756         * lib/regex-quote.c: New file.
29757         * modules/regex-quote: New file.
29758         Suggested by Reuben Thomas <rrt@sc3d.org>.
29759
29760 2010-09-24  Bruno Haible  <bruno@clisp.org>
29761
29762         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29763         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29764
29765 2010-09-23  Bruno Haible  <bruno@clisp.org>
29766
29767         setenv: Relax license.
29768         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29769         Blake.
29770         Requested by Eric Blake.
29771
29772 2010-09-22  Bruno Haible  <bruno@clisp.org>
29773
29774         termios: Relax license.
29775         * modules/termios (License): Change to LGPLv2+.
29776         Requested by Eric Blake.
29777
29778 2010-09-22  Bruno Haible  <bruno@clisp.org>
29779
29780         threadlib: Allow the package to change the default to 'no'.
29781         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29782         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29783         Reported by Paul Eggert.
29784
29785 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29786             Bruno Haible  <bruno@clisp.org>
29787
29788         Fix endless loop in mbmemcasecoll.
29789         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29790         byte.
29791         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29792
29793 2010-09-22  Bruno Haible  <bruno@clisp.org>
29794
29795         Tests for module 'memcoll'.
29796         * modules/memcoll-tests: New file.
29797         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29798
29799         memcoll, xmemcoll: Clarify size vs. length.
29800         * modules/memcoll.c (memcoll0): Clarify specification.
29801         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29802         passed to collate_error.
29803
29804 2010-09-22  Bruno Haible  <bruno@clisp.org>
29805
29806         Tests for module 'memcasecmp'.
29807         * modules/memcasecmp-tests: New file.
29808         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29809
29810 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29811
29812         * lib/pthread.in.h: Add split double-inclusion guard, and include
29813         system <pthread.h> if there is one.  Use @@-style as in other
29814         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29815         pthread.h doesn't.
29816         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29817         (pthread_mutexattr_settype, pthread_mutex_trylock):
29818         New static inline functions, if there's no system <pthread.h>.
29819         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29820         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29821         Approximate with mutexes if the system lacks spinlocks, as in
29822         MacOS.
29823         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29824         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29825         @@-style.  Check for spinlocks separately.
29826         (gl_PTHREAD_DEFAULTS): New macro.
29827         * modules/pthread: Redo to use a more typical style for in.h files.
29828
29829 2010-09-21  Eric Blake  <eblake@redhat.com>
29830
29831         net_if: enhance tests
29832         * tests/test-net_if.c (main): Move signature checks earlier.
29833         Print failures to stderr.
29834         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29835         Document the bug that we do not yet fix.
29836
29837 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29838
29839         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29840         about gnulib, not GSS.
29841
29842 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29843
29844         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29845         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29846         for Emacs.
29847         * build-aux/pmccabe2html: Make Makefile.am example code more
29848         cut-and-paste friendly.
29849
29850 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29851
29852         * tests/test-net_if.c: New file.
29853         * modules/net_if-tests: New file.
29854
29855 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29856
29857         pthread: add pthread_spin_destroy
29858         * lib/pthread.in.h (pthread_spin_destroy): New function.
29859
29860 2010-09-19  Bruno Haible  <bruno@clisp.org>
29861
29862         gnulib-tool: Fix --help output.
29863         * gnulib-tool (func_usage): Fix help message.
29864         Reported by Reuben Thomas <rrt@sc3d.org>.
29865
29866 2010-09-18  Jim Meyering  <meyering@redhat.com>
29867
29868         maint.mk: avoid unexpanded \n in two diagnostics
29869         * top/maint.mk (sc_prohibit_always_true_header_tests):
29870         Don't use a literal \n in a halt=... assignment.  It would not be
29871         expanded, and the two \n bytes would appear in the diagnostic output
29872         rather than the desired newline.  Use halt=$$(printf ... instead.
29873         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29874
29875 2010-09-18  Bruno Haible  <bruno@clisp.org>
29876
29877         netinet_in: Doc tweak.
29878         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29879         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29880
29881 2010-09-18  Jim Meyering  <meyering@redhat.com>
29882
29883         init.sh: correct an outdated comment
29884         * tests/init.sh (create_exe_shims_):  s/function/alias/
29885
29886         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29887         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29888         a file named "*.exe" is removed between the glob expansion and the
29889         processing of that oddly named file.
29890
29891 2010-09-17  Eric Blake  <eblake@redhat.com>
29892
29893         mirbsd: add some more support
29894         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29895         in BSD family.
29896         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29897         devices as OpenBSD.
29898         * m4/host-os.m4 (mirbsd): Add MirBSD.
29899
29900         tests: fix unportable assumption on sys/wait.h
29901         * tests/test-sys_wait.c (main): Relax test.
29902         * tests/test-stdlib.c (main): Likewise.
29903
29904         init.sh: accommodate directory with no .exes
29905         * tests/init.sh: Accomodate directory containing only scripts.
29906
29907         tests: avoid compiler warning
29908         * tests/test-stdlib.c (main): Use the variable.
29909
29910         fdutimens, fdutimensat: update signature, again
29911         * lib/utimens.h (gl_futimens): Delete, and move signature...
29912         (fdutimens): ...here.
29913         (fdutimensat): Rearrange signature.
29914         (lutimensat): Rename variable for clarity.
29915         * lib/fdutimensat.c (fdutimensat): Update signature.
29916         * lib/utimens.c (fdutimens): Likewise.
29917         (gl_futimens): Delete.
29918         (utimens, lutimens): Update callers.
29919         * lib/futimens.c (futimens): Likewise.
29920         * tests/test-fdutimensat.c: Likewise.
29921         * tests/test-utimens.c: Likewise.
29922         * tests/test-futimens.h: Update comment.
29923         * NEWS: Mention this.
29924         Suggested by Paul Eggert.
29925
29926 2010-09-17  Bruno Haible  <bruno@clisp.org>
29927
29928         Take over the maintenance of some older macros from Autoconf.
29929         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29930         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29931         GNU Autoconf.
29932         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29933         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29934
29935 2010-09-17  Eric Blake  <eblake@redhat.com>
29936
29937         fdutimensat: drop atflag validation
29938         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29939         with valid fd, to close a race scenario where futimens is
29940         unsupported and FILE was replaced by a symlink.
29941         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29942         accordingly.
29943         Suggested by Paul Eggert.
29944
29945 2010-09-16  Bruno Haible  <bruno@clisp.org>
29946
29947         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29948         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29949
29950 2010-09-16  Bruno Haible  <bruno@clisp.org>
29951
29952         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29953         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29954         login_tty exists.
29955         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29956
29957 2010-09-16  Bruno Haible  <bruno@clisp.org>
29958
29959         login_tty: Make the replacement code work on BSD systems.
29960         * lib/login_tty.c: Include <sys/ioctl.h>.
29961         (login_tty): Use ioctl TIOCSCTTY when available.
29962         * modules/login_tty (Depends-on): Add sys_ioctl.
29963         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29964
29965 2010-09-16  Bruno Haible  <bruno@clisp.org>
29966
29967         login_tty: Stricter unit test.
29968         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29969         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29970         and tcgetsid() after login_tty.
29971         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29972
29973 2010-09-16  Bruno Haible  <bruno@clisp.org>
29974
29975         New module 'tcgetsid'.
29976         * lib/tcgetsid.c: New file.
29977         * m4/tcgetsid.m4: New file.
29978         * modules/tcgetsid: New file.
29979         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29980         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29981         GNULIB_TCGETSID, HAVE_TCGETSID.
29982         * lib/termios.in.h: Include <sys/types.h>.
29983         (tcgetsid): New declaration.
29984         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29985         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29986         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29987         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29988
29989 2010-09-16  Bruno Haible  <bruno@clisp.org>
29990
29991         Tests for module 'termios'.
29992         * modules/termios-c++-tests: New file.
29993         * modules/termios-tests: New file.
29994         * tests/test-termios-c++.cc: New file.
29995         * tests/test-termios.c: New file.
29996
29997         New module 'termios'.
29998         * modules/termios: New file.
29999         * lib/termios.in.h: New file.
30000         * m4/termios_h.m4: New file.
30001         * doc/posix-headers/termios.texi: Mention the new module.
30002
30003 2010-09-16  Eric Blake  <eblake@redhat.com>
30004
30005         fdutimensat: add an atflag parameter
30006         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30007         * lib/utimens.h (fdutimensat): Update prototype.
30008         * tests/test-fdutimensat.c: Adjust test to match.
30009         * NEWS: Document the change.
30010         Suggested by Paul Eggert.
30011
30012 2010-09-16  Bruno Haible  <bruno@clisp.org>
30013
30014         Fix typos in comments.
30015         * lib/striconveh.h: Fix typo in comment.
30016         * lib/login_tty.c (login_tty): Likewise.
30017
30018 2010-09-15  Bruno Haible  <bruno@clisp.org>
30019
30020         stdlib: clarify MirBSD WEXITSTATUS bug
30021         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30022         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30023
30024 2010-09-15  Eric Blake  <eblake@redhat.com>
30025
30026         stdlib: work around MirBSD WEXITSTATUS bug
30027         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30028         * modules/stdlib (Depends-on): Add sys_wait.
30029         * tests/test-sys_wait.c (main): Enhance test.
30030         * tests/test-stdlib.c (main): Likewise.
30031         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30032
30033         docs: mention MacOS issue with WEXITSTATUS(constant)
30034         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30035         issue.
30036         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30037
30038         strnlen: add tests
30039         * modules/strnlen-tests: New file.
30040         * tests/test-strnlen.c: Likewise.
30041
30042 2010-09-14  Bruno Haible  <bruno@clisp.org>
30043
30044         unistr/base: Avoid link errors when module 'libunistring' is also used.
30045         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30046         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30047         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30048         Declare also when HAVE_LIBUNISTRING is set.
30049         Reported by Pádraig Brady <P@draigbrady.com>.
30050
30051 2010-09-14  Eric Blake  <eblake@redhat.com>
30052
30053         test-rawmemchr: make more robust
30054         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30055         (Depends-on, configure.ac): Add needed prerequisites to use it.
30056         * modules/memchr-tests (Files, Depends-on, configure.ac):
30057         Likewise, to avoid implicit reliance on memchr module prereqs.
30058         * tests/test-memchr.c (main): Ensure proper masking.
30059         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30060         reads.
30061
30062         memchr: detect glibc Alpha bug
30063         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30064         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30065         Alpha.
30066         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30067         * tests/test-memchr.c (main): Enhance test.
30068         Reported by Nelson H. F. Beebe.
30069
30070 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30071
30072         fts, getcwd, glob: audit for dirfd returning -1
30073         * lib/fts.c (opendir): Remove #define; no longer used.
30074         (opendirat): New arg PDIR_FD.  All callers changed.
30075         (fts_build, _opendir2): Use new opendirat to avoid the need for
30076         dirfd, or for checking whether dirfd returns a negative value.
30077         Don't use opendir; always use openat followed by fdopendir.
30078         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
30079         it.
30080         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
30081         returns -1 here.
30082         * modules/fts (Depends-on): Remove dirfd.
30083         * modules/getcwd (Depends-on): Likewise.
30084
30085 2010-09-13  Eric Blake  <eblake@redhat.com>
30086
30087         float: fix broken MirBSD header
30088         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30089         * doc/posix-headers/float.texi (float.h): Document it.
30090
30091 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30092
30093         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30094         * lib/fts.c (opendirat): New arg extra_flags.
30095         (__opendir2): Use it to avoid following symlinks when opening
30096         a directory, if symlinks are not supposed to be followed.  See
30097         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30098
30099         fdopendir: preserve argument fd before returning
30100         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30101         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30102         (fdopendir): Use them, arranging for FD to be open to the same
30103         directory that it was when it started.  (It might be temporarily
30104         closed while fdopendir is running, so this not thread- or
30105         signal-safe.)  Be careful to do the right thing even when file
30106         descriptors are scarce and dup fails with errno == EMFILE.  See
30107         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30108
30109 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30110
30111         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30112         * NEWS: Document change.
30113         * m4/regex.m4: Disable test for regoff_t size.
30114
30115 2010-09-13  Jim Meyering  <meyering@redhat.com>
30116
30117         fts: don't operate on an invalid file descriptor after failed dup
30118         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30119         negative file descriptor.
30120
30121 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30122
30123         savedir: add streamsavedir, deprecate fdsavedir
30124         * NEWS: Mention deprecation of fdsavedir.
30125         * lib/savedir.c (streamsavedir): New extern function, whose name
30126         ends in "savedir" to be consistent with the others.  This differs
30127         from savedirstream in that it doesn't close its argument.  The
30128         next version of GNU tar will use this instead of fdsavedir, to
30129         avoid some race conditions and conserve file descriptors.
30130         (savedirstream): Reimplement as a wrapper around streamsavedir.
30131         (fdsavedir): Add a comment deprecating this function.  As far as
30132         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30133         * lib/savedir.h (streamsavedir): New decl.
30134         (fdsavedir): Add a comment deprecating this.
30135
30136 2010-09-10  Bruno Haible  <bruno@clisp.org>
30137
30138         langinfo: Fix last commit.
30139         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30140         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30141         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30142
30143 2010-09-10  Bruno Haible  <bruno@clisp.org>
30144
30145         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30146         * lib/progreloc.c (O_EXEC): Define fallback.
30147
30148 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30149
30150         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30151         * NEWS: Document recent changes to fcntl-h.
30152         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30153         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30154         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30155         Similarly for O_SEARCH; this last was already true, but not documented.
30156         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30157         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30158         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30159         Likewise.
30160         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30161         is zero, not whether it is defined.
30162         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30163         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30164         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30165
30166 2010-09-10  Bruno Haible  <bruno@clisp.org>
30167
30168         langinfo, nl_langinfo: Fix for IRIX 5.3.
30169         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30170         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30171         HAVE_LANGINFO_YESEXPR.
30172         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30173         HAVE_LANGINFO_YESEXPR.
30174         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30175         HAVE_LANGINFO_T_FMT_AMPM is 0.
30176         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30177         HAVE_LANGINFO_YESEXPR is 0.
30178         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30179         NOEXPR.
30180         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30181         * doc/posix-functions/nl_langinfo.texi: Likewise.
30182         Reported by Eric Blake.
30183
30184 2010-09-10  Bruno Haible  <bruno@clisp.org>
30185
30186         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30187         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30188         on FreeBSD 8.0 and OpenBSD 4.6.
30189         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30190         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30191         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30192         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30193         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30194         ac_includes_default.
30195         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30196
30197 2010-09-09  Eric Blake  <eblake@redhat.com>
30198
30199         strsignal: work around NetBSD bug
30200         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30201         * lib/string.in.h (includes): Likewise.
30202         * doc/posix-functions/strsignal.texi (strsignal): Document the
30203         bug.
30204         Reported by Nelson H. F. Beebe.
30205
30206         gnulib-tool: work with NetBSD /bin/sh
30207         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30208         (func_get_description, func_get_comment, func_get_status)
30209         (func_get_notice, func_get_applicability, func_get_filelist)
30210         (func_get_dependencies, func_get_autoconf_early_snippet)
30211         (func_get_autoconf_snippet, func_get_automake_snippet)
30212         (func_get_include_directive, func_get_link_directive)
30213         (func_get_license, func_get_maintainer, func_import): Avoid
30214         shell syntax errors from parsing syntax extensions.
30215
30216 2010-09-09  Bruno Haible  <bruno@clisp.org>
30217
30218         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30219         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30220         a reliable way to determine whether the 'alias' command works.
30221
30222 2010-09-08  Jim Meyering  <meyering@redhat.com>
30223
30224         init.sh: penalize a set-x-impaired shell; don't disqualify it
30225         * tests/init.sh: Too many shells corrupt application stderr when
30226         you set -x, so we can't afford to disqualify them, since at least
30227         on Irix-6.5, that would disqualify all bourne shells.
30228         Instead, use a two-pass approach.
30229         On the first pass, try to find a shell that meets the stricter
30230         condition that set -x does not corrupt stderr.
30231         If no shell meets the stricter condition, retest each candidate
30232         shell, but without that extra condition.  Finally, when
30233         VERBOSE=yes is requested and set -x might cause trouble, simply
30234         issue a warning and refrain from enabling debug output.
30235
30236 2010-09-08  Eric Blake  <eblake@redhat.com>
30237
30238         unsetenv: fix OpenBSD bug
30239         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30240         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30241         documentation.
30242         Reported by Jim Meyering.
30243
30244         strtod: work around IRIX 6.5 bug
30245         * lib/strtod.c (strtod): Reparse number on shorter string if
30246         exponent parse was invalid.
30247         * tests/test-strtod.c (main): Add check for "0x1p 2".
30248         Reported by Tom G. Christensen.
30249
30250         getopt: optimize previous patch
30251         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30252         empty variable.  Speed up awk script.
30253         Reported by Paolo Bonzini.
30254
30255 2010-09-08  Jim Meyering  <meyering@redhat.com>
30256
30257         test.sh: disqualify shells for which set -x corrupts stderr
30258         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30259         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30260         appear in stderr output.  For example, this command:
30261             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30262         prints "P=1" on those two systems:
30263
30264 2010-09-08  Bruno Haible  <bruno@clisp.org>
30265
30266         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30267         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30268         commands, because some shells ignore redirections when there is an
30269         error in the command lookup.
30270         Reported by Eric Blake.
30271
30272 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30273
30274         * lib/regex.h: Fix a mention of `regex_compile' (should be
30275         `re_compile_pattern').
30276         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30277         (re_set_registers): Correct name of parameter in comment.
30278
30279         * doc/regex.texi: Add documentation for missing syntax flags.
30280         Remove commented-out documentation of defunct syntax option
30281         RE_NO_EMPTY_ALTS.
30282         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30283         Add documentation of re_set_registers.
30284         Document trick to re-use a pattern buffer by setting fastmap manually.
30285         Update documentation of struct re_pattern_buffer per public members.
30286         Uncomment documentation of equivalence class operators and
30287         collating symbol operators, since they are now implemented,
30288         Explain leftmost-longest matching in relation to alternatives.
30289         Tidy documentation of substring matching.
30290         Remove POSIX documentation, which is done better in
30291         glibc, and refer the reader there. Keep BSD API documentation, as
30292         that is not readily available elsewhere.
30293
30294 2010-09-07  Eric Blake  <eblake@redhat.com>
30295
30296         getopt: handle POSIXLY_CORRECT set but not exported
30297         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30298         export state of POSIXLY_CORRECT, due to bash set -o posix.
30299         Reported by Dustin J. Mitchell.
30300
30301 2010-09-05  Bruno Haible  <bruno@clisp.org>
30302
30303         gnulib-tool: Highlight the changed options.
30304         * gnulib-tool (func_usage): Display the --import, --add-import,
30305         --remove-import explanations in bold font.
30306
30307 2010-09-06  Karl Berry  <karl@gnu.org>
30308
30309         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30310
30311 2010-09-05  Bruno Haible  <bruno@clisp.org>
30312
30313         uniwidth/width: Update comment.
30314         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30315         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30316
30317 2010-09-05  Bruno Haible  <bruno@clisp.org>
30318
30319         isinf, isnan: Relax license.
30320         * modules/isinf (License): Change from GPL to LGPL, with consent from
30321         Ben Pfaff.
30322         * modules/isnan (License): Likewise.
30323         Requested by Ludovic Courtès.
30324
30325 2010-09-04  Bruno Haible  <bruno@clisp.org>
30326
30327         gnulib-tool: Help migration from --import to --add-import or --update.
30328         * gnulib-tool: Emit a verbose error message when --import is used
30329         without any module name.
30330
30331 2010-09-04  Bruno Haible  <bruno@clisp.org>
30332
30333         Update doc about gnulib-tool.
30334         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30335         'gnulib-tool --update' in more detail.
30336         Reported by Eric Blake.
30337
30338 2010-09-04  Bruno Haible  <bruno@clisp.org>
30339
30340         gnulib-tool: Change --import. New options --add/remove-import.
30341         * gnulib-tool: New options --add-import, --remove-import.
30342         (func_usage): Document them.
30343         (have_associative): Define always.
30344         (func_import): In import mode, don't merge the specified settings with
30345         the cached settings. Implement remove-import mode.
30346         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30347         Explain when to use them versus --import.
30348         (Simple update): Use --add-import instead of --import.
30349         * NEWS: Mention the change.
30350
30351 2010-09-04  Bruno Haible  <bruno@clisp.org>
30352
30353         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30354         separate gnulib.mk.
30355
30356 2010-09-04  Bruno Haible  <bruno@clisp.org>
30357
30358         gnulib-tool: Don't talk about CVS any more.
30359         * gnulib-tool (func_usage, func_import): Write "version control"
30360         instead of CVS.
30361
30362 2010-09-04  Jim Meyering  <meyering@redhat.com>
30363
30364         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30365         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30366         false positives (whose names may be ill-chosen) when searching
30367         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30368         would cause a false-positive.
30369
30370         avoid coreutils "make distcheck" failure
30371         Coreutils tests with an absolute build directory name that contains
30372         a space.  Not quoting this directory name caused a failure.
30373         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30374         * tests/test-vc-list-files-cvs.sh: Likewise.
30375
30376 2010-09-04  Bruno Haible  <bruno@clisp.org>
30377
30378         gnulib-tool: Avoid error when run in a package without Makefile.am.
30379         * gnulib-tool: When collecting the m4dirs in a package that does not
30380         have a Makefile.am, eliminate those directories that contain no
30381         gnulib-cache.m4. Fix expression that counts these directories.
30382
30383 2010-09-04  Bruno Haible  <bruno@clisp.org>
30384
30385         update-copyright test: Improve output when perl is missing or too old.
30386         * tests/test-update-copyright.sh: Move test of Perl version down after
30387         the test whether Perl exists. Provide an explanation relating Perl's
30388         error message to Automake's SKIP: message.
30389
30390 2010-09-04  Bruno Haible  <bruno@clisp.org>
30391
30392         Don't augment PATH in TESTS_ENVIRONMENT.
30393         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30394         set abs_aux_dir instead of augmenting PATH.
30395         * modules/vc-list-files-tests (Makefile.am): Likewise.
30396         * tests/test-update-copyright.sh: Augment PATH here.
30397         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30398         path_prepend_.
30399         * tests/test-vc-list-files-git.sh: Likewise.
30400
30401 2010-09-04  Jim Meyering  <meyering@redhat.com>
30402
30403         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30404         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30405
30406 2010-09-04  Bruno Haible  <bruno@clisp.org>
30407
30408         strdup: Fix compilation error in C++ mode.
30409         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30410         the macro.
30411
30412 2010-09-04  Bruno Haible  <bruno@clisp.org>
30413
30414         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30415         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30416         macro into a function.
30417         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30418
30419 2010-09-04  Bruno Haible  <bruno@clisp.org>
30420
30421         Set PATH_SEPARATOR the same way autoconf does.
30422         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30423         the value of PATH_SEPARATOR the same way autoconf-generated configure
30424         scripts do.
30425         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30426         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30427
30428 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30429
30430         Set PATH_SEPARATOR the same way autoconf does.
30431         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30432         the same way autoconf-generated configure scripts do.
30433         * posix-modules: Likewise.
30434
30435 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30436
30437         hash: fix safe_hasher const typo
30438         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30439         const; otherwise, there is a type error later.
30440
30441 2010-09-02  Jim Meyering  <meyering@redhat.com>
30442
30443         test-update-copyright.sh: require perl 5.8.0
30444         * tests/test-update-copyright.sh: Require 5.8.0,
30445         which Tom G. Christensen has confirmed is adequate,
30446         while 5.6.1 is not.
30447
30448 2010-09-02  Eric Blake  <eblake@redhat.com>
30449
30450         tests: init.sh improvements for re-exec'ing with zsh
30451         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30452         -vx through shell re-exec.
30453         Reported by Tom G. Christensen.
30454
30455         wctype: fix typo in previous commit
30456         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30457         Reported by Ludovic Courtès.
30458
30459 2010-09-02  Jim Meyering  <meyering@redhat.com>
30460
30461         test-update-copyright.sh: skip test if Perl is too old
30462         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30463         Reported by Tom G. Christensen.
30464
30465 2010-09-02  Bruno Haible  <bruno@clisp.org>
30466
30467         wctype: Avoid compilation error on IRIX 6.5.30.
30468         * lib/wctype.in.h (iswblank): Declare with a replacement if
30469         REPLACE_ISWBLANK is set.
30470         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30471         declared. Set REPLACE_ISWBLANK.
30472         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30473         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30474         * doc/posix-headers/wctype.texi: Likewise.
30475         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30476
30477 2010-09-01  Bruno Haible  <bruno@clisp.org>
30478
30479         New module 'socketlib'.
30480         * modules/socketlib: New file.
30481         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30482         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30483         * modules/sockets (Depends-on): Add socketlib.
30484         Suggested by Sam Steingold <sds@gnu.org>.
30485
30486 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30487
30488         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30489
30490         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30491         when one needs search access to a directory but not read access.
30492         On systems where it is available, it works in some cases where
30493         O_RDONLY does not, namely on directories that are searchable but
30494         not readable, and which need only to be searchable.  If O_SEARCH
30495         is not available, fall back to the traditional method of using
30496         O_RDONLY.
30497
30498         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30499         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30500         when opening a directory that needs only to be searchable.
30501         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30502         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30503         * lib/openat-proc.c (openat_proc_name): Likewise.
30504         * lib/openat.c (openat_needs_fchdir): Likewise.
30505         * lib/save-cwd.c (save_cwd): Likewise.
30506         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30507
30508 2010-08-28  Bruno Haible  <bruno@clisp.org>
30509
30510         New module 'host-cpu-c-abi'.
30511         * modules/host-cpu-c-abi: New file.
30512         * m4/host-cpu-c-abi.m4: New file, based on part of
30513         clisp/src/m4/general.m4.
30514         Requested by Sam Steingold <sds@gnu.org>.
30515
30516 2010-08-31  Eric Blake  <eblake@redhat.com>
30517         and Jim Meyering  <meyering@redhat.com>
30518
30519         hash: factor, and guard against misbehaving hasher function
30520         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30521         of table->hasher's return value.  Also protect against a hash value
30522         so large that adding it to table->bucket results in a NULL pointer.
30523         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30524         Use it in place of open-coded check-and-abort.
30525
30526 2010-08-30  Bruno Haible  <bruno@clisp.org>
30527
30528         hash: silence spurious clang warning
30529         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30530         Reported by Eric Blake.
30531
30532 2010-08-30  Eric Blake  <eblake@redhat.com>
30533
30534         strstr, memmem, strcasestr: avoid leaked shell message
30535         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30536         FreeBSD.
30537         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30538         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30539
30540         tests: silence clang warning
30541         * tests/test-malloca.c (do_allocation): Avoid dead store.
30542
30543 2010-08-29  Bruno Haible  <bruno@clisp.org>
30544
30545         gettext: Fix recent mistake.
30546         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30547
30548 2010-08-29  Bruno Haible  <bruno@clisp.org>
30549
30550         selinux-h: Offer a --without-selinux option.
30551         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30552         --without-selinux was specified, skip all tests and define
30553         HAVE_SELINUX_SELINUX_H to 0.
30554         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30555         set LIB_SELINUX to empty.
30556         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30557         gl_LIBSELINUX. If --without-selinux was specified, replace
30558         selinux/context.h.
30559         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30560
30561 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30562             Bruno Haible  <bruno@clisp.org>
30563
30564         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30565         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30566         of HAVE_REALLOC.
30567         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30568         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30569         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30570         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30571
30572 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30573             Bruno Haible  <bruno@clisp.org>
30574
30575         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30576         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30577         HAVE_CALLOC.
30578         * lib/xmalloc.c: Update accordingly.
30579         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30580         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30581         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30582
30583 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30584             Bruno Haible  <bruno@clisp.org>
30585
30586         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30587         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30588         HAVE_MALLOC.
30589         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30590         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30591         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30592
30593 2010-08-29  Bruno Haible  <bruno@clisp.org>
30594
30595         Update modules list.
30596         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30597         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30598         (String handling <string.h>): Add astrxfrm.
30599         (File system functions): Add readlinkat.
30600
30601 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30602
30603         Tests for module 'realloc-gnu'.
30604         * modules/realloc-gnu-tests: New file.
30605         * tests/test-realloc-gnu.c: New file.
30606
30607         Tests for module 'calloc-gnu'.
30608         * modules/calloc-gnu-tests: New file.
30609         * tests/test-calloc-gnu.c: New file.
30610
30611         Tests for module 'malloc-gnu'.
30612         * modules/malloc-gnu-tests: New file.
30613         * tests/test-malloc-gnu.c: New file.
30614
30615 2010-08-28  Bruno Haible  <bruno@clisp.org>
30616
30617         Rename module 'realloc' -> 'realloc-gnu'.
30618         * modules/realloc-gnu: New file, copied from modules/realloc.
30619         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30620         obsolete.
30621         * modules/mgetgroups (Depends-on): Update.
30622         * doc/posix-functions/realloc.texi: Update.
30623         * NEWS: Mention the change.
30624
30625         Rename module 'calloc' -> 'calloc-gnu'.
30626         * modules/calloc-gnu: New file, copied from modules/calloc.
30627         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30628         obsolete.
30629         * doc/posix-functions/calloc.texi: Update.
30630         * NEWS: Mention the change.
30631
30632         Rename module 'malloc' -> 'malloc-gnu'.
30633         * modules/malloc-gnu: New file, copied from modules/malloc.
30634         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30635         obsolete.
30636         * modules/argp (Depends-on): Update.
30637         * modules/regex (Depends-on): Update.
30638         * doc/posix-functions/malloc.texi: Update.
30639         * NEWS: Mention the change.
30640
30641 2010-08-28  Eric Blake  <eblake@redhat.com>
30642
30643         pread, pwrite: add missing dependency
30644         * modules/pread (Depends-on): Add extensions.
30645         * modules/pwrite (Depends-on): Likewise.
30646
30647 2010-08-28  Bruno Haible  <bruno@clisp.org>
30648
30649         unistr/u*-strchr: Fix tests dependencies.
30650         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30651         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30652         Reported by Ian Beckwith <ianb@erislabs.net>.
30653
30654 2010-08-28  Bruno Haible  <bruno@clisp.org>
30655
30656         read-file: Don't occupy too much unused memory.
30657         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30658
30659 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30660             Eric Blake  <eblake@redhat.com>
30661             Bruno Haible  <bruno@clisp.org>
30662
30663         read-file: Avoid memory reallocations with regular files.
30664         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30665         (fread_file): With regular files, use the remaining length as the
30666         initial buffer size.  Check against overflow.
30667         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30668         sys_stat.
30669
30670 2010-08-28  Bruno Haible  <bruno@clisp.org>
30671
30672         ftello: Relax license.
30673         * modules/ftello (License): Relax to LGPLv2+.
30674         Reported by Eric Blake.
30675
30676 2010-08-28  Bruno Haible  <bruno@clisp.org>
30677
30678         Avoid relocwrapper link errors due to gnulib replacement functions.
30679         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30680         function.
30681         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30682
30683 2010-08-28  Bruno Haible  <bruno@clisp.org>
30684
30685         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30686         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30687         defined.
30688         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30689         Suggested by Eric Blake.
30690
30691 2010-08-28  Bruno Haible  <bruno@clisp.org>
30692
30693         sys_socket, netdb: Ensure socklen_t gets defined.
30694         * modules/sys_socket (Depends-on): Add socklen.
30695         * modules/netdb (Depends-on): Likewise.
30696         * modules/getaddrinfo (Depends-on): Remove socklen.
30697         * modules/getsockopt (Depends-on): Likewise.
30698         * modules/setsockopt (Depends-on): Likewise.
30699         * tests/test-sys_socket.c: Check that socklen_t is defined.
30700         * tests/test-netdb.c: Likewise.
30701         * m4/socklen.m4: Update comments.
30702         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30703
30704 2010-08-27  Eric Blake  <eblake@redhat.com>
30705
30706         login_tty: add missing dependency
30707         * modules/login_tty (Depends-on): Add pty.
30708
30709 2010-08-26  Eric Blake  <eblake@redhat.com>
30710
30711         lib-symbol-versions: fix m4 quoting
30712         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30713         format for AC_LINK_IFELSE.
30714
30715         glob: fix compile test
30716         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30717
30718         btowc: fix missing file
30719         * modules/btowc (Files): Also ship locale-fr.m4.
30720
30721         lseek: fix link test
30722         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30723         AC_LINK_IFELSE.
30724
30725         include_next: silence autoconf 2.68 warning
30726         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30727         AC_COMPILE_IFELSE as special.
30728         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30729         autoconf < 2.68.
30730
30731         acl: fix compilation test
30732         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30733         AC_COMPILE_IFELSE.
30734
30735 2010-08-26  Bruno Haible  <bruno@clisp.org>
30736
30737         Modernize AC_TRY_RUN invocations.
30738         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30739         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30740         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30741         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30742         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30743         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30744         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30745         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30746         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30747         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30748         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30749         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30750         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30751         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30752         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30753         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30754         gl_MBRLEN_NUL_RETVAL): Likewise.
30755         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30756         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30757         Likewise.
30758         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30759         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30760         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30761         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30762         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30763         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30764         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30765         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30766         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30767         Likewise.
30768         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30769         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30770         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30771         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30772         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30773         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30774         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30775         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30776         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30777         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30778
30779 2010-08-26  Bruno Haible  <bruno@clisp.org>
30780
30781         Modernize AC_TRY_LINK invocations.
30782         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30783         AC_TRY_LINK.
30784         * m4/argp.m4 (gl_ARGP): Likewise.
30785         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30786         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30787         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30788         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30789         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30790         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30791         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30792         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30793         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30794         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30795         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30796         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30797         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30798         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30799         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30800         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30801         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30802         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30803         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30804         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30805         Likewise.
30806         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30807         Likewise.
30808         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30809         Likewise.
30810         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30811         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30812         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30813         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30814         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30815         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30816         * m4/servent.m4 (gl_SERVENT): Likewise.
30817         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30818         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30819         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30820         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30821         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30822         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30823         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30824         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30825         * modules/tsearch-tests (configure.ac): Likewise.
30826
30827 2010-08-26  Bruno Haible  <bruno@clisp.org>
30828
30829         Modernize AC_TRY_COMPILE invocations.
30830         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30831         AC_TRY_COMPILE.
30832         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30833         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30834         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30835         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30836         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30837         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30838         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30839         * m4/lock.m4 (gl_LOCK): Likewise.
30840         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30841         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30842         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30843         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30844         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30845         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30846         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30847         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30848         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30849         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30850         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30851         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30852         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30853         extraneous semicolon.
30854
30855 2010-08-26  Jim Meyering  <meyering@redhat.com>
30856
30857         stat-time: relax license LGPL
30858         * modules/stat-time (License): Change from GPL to LGPL,
30859         with consent from all contributors, for use in libguile.
30860         Requested by Ludovic Courtès.
30861
30862 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30863
30864         poll: return immediately on POLLHUP.
30865         * lib/poll.c (poll): Always set timeout before wait_timeout is
30866         computed.
30867
30868 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30869
30870         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30871         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30872         rmdir ("dir/.//"), unlinkat.
30873
30874 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30875
30876         stdbool: avoid spurious failure with modern xlc
30877         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30878
30879 2010-08-24  Bruno Haible  <bruno@clisp.org>
30880
30881         getloadavg: simplify code
30882         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30883         gl_have_func. Update comments.
30884
30885 2010-08-24  Eric Blake  <eblake@redhat.com>
30886
30887         getloadavg: don't define SVR4 on cygwin
30888         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30889         only define SVR4 when -lkvm is required.
30890         Reported by Yaakov Selkowitz.
30891
30892 2010-08-24  Bruno Haible  <bruno@clisp.org>
30893
30894         priv-set: fix comment
30895         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30896
30897 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30898
30899         priv-set: fix comments
30900         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30901         to match code, as suggested by David Bartley in:
30902         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30903
30904 2010-08-23  Eric Blake  <eblake@redhat.com>
30905
30906         stdbool: avoid rejecting clang
30907         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30908         * tests/test-stdbool.c: Enable more tests if using the system
30909         <stdbool.h> instead of the gnulib replacement.
30910         (main): Move xlc bug test to a runtime test for all compilers.
30911         Reported by Anders Kaseorg.
30912
30913         argz: fix shell quoting issue
30914         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30915         Reported by Charles Wilson.
30916
30917 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30918             Erik Faye-Lund <kusmabite@gmail.com>
30919
30920         poll, select: handle ERROR_BROKEN_PIPE.
30921         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30922         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30923         * lib/select.c (win32_compute_revents): Do not mark a pipe
30924         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30925
30926 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30927
30928         fts: allow compilation with C++
30929         * lib/fts_.h: Specify extern "C" linkage with C++.
30930
30931 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30932
30933         Fix gnulib-tool sed script de-commentation for AIX sed.
30934         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30935         sed.
30936
30937 2010-08-17  Eric Blake  <eblake@redhat.com>
30938
30939         test-stddef: test for (some) offsetof bugs
30940         * tests/test-stddef.c: Enhance test to ensure correct type of
30941         offsetof.
30942         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30943         that we are not fixing at this time.
30944
30945 2010-08-15  Bruno Haible  <bruno@clisp.org>
30946
30947         stpncpy: Allow stpncpy to be defined as a macro.
30948         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30949         if it's already correctly declared.
30950         * lib/string.in.h (stpncpy): Undefine before redefining.
30951         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30952
30953 2010-08-14  Bruno Haible  <bruno@clisp.org>
30954
30955         Rename module 'memxfrm' to 'amemxfrm'.
30956         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30957         (amemxfrm): Renamed from memxfrm.
30958         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30959         (amemxfrm): Renamed from memxfrm.
30960         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30961         * NEWS: Mention the change.
30962         * MODULES.html.sh (String handling <string.h>): Update.
30963         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30964         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30965         * lib/unicase/u16-casexfrm.c: Likewise.
30966         * lib/unicase/u32-casexfrm.c: Likewise.
30967         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30968         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30969         * lib/uninorm/u16-normxfrm.c: Likewise.
30970         * lib/uninorm/u32-normxfrm.c: Likewise.
30971         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30972         memxfrm.
30973         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30974         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30975         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30976         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30977         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30978         Suggested by Paul Eggert.
30979
30980 2010-08-14  Bruno Haible  <bruno@clisp.org>
30981
30982         Tests for module 'astrxfrm'.
30983         * modules/astrxfrm-tests: New file.
30984         * tests/test-astrxfrm.c: New file.
30985
30986         New module 'astrxfrm'.
30987         * lib/astrxfrm.h: New file.
30988         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30989         * modules/astrxfrm: New file.
30990
30991 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30992
30993         regex: Tweak doc.
30994         * doc/regex.texi (Overview): Don't mention regex.c.
30995         (GNU Regular Expression Compiling): Likewise.
30996         (Match-end-of-line Operator): Mention 'not_eol'.
30997
30998 2010-08-14  Brian Gough  <bjg@gnu.org>
30999             Bruno Haible  <bruno@clisp.org>
31000
31001         git-merge-changelog: add doc relating to use with bzr and hg.
31002         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31003
31004 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31005
31006         pthread: fix pthread.h creation for srcdir != builddir
31007         * modules/pthread (Makefile.am): Fix the rule to work also in a
31008         non-srcdir build.
31009
31010 2010-08-13  Karl Berry  <karl@gnu.org>
31011
31012         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31013         * doc/posix-*/*: force line break before @url of POSIX
31014         specifications.
31015         Suggested by Werner Lemberg.
31016
31017 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31018
31019         strtod: fix const diagnostic
31020         * lib/strtod.c (strtod): Don't assign const char * to char *,
31021         as this elicits a warning from GCC when warnings are enabled.
31022
31023 2010-08-10  Pádraig Brady <P@draigbrady.com>
31024         and Eric Blake  <eblake@redhat.com>
31025
31026         copy-acl: ignore ENOTSUP on HP-UX
31027         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31028         so that it is available for HP-UX.
31029         * lib/copy-acl.c (qcopy_acl): Use it.
31030         Reported by Patrick M. Callahan.
31031
31032 2010-08-10  Eric Blake  <eblake@redhat.com>
31033
31034         open, chown: relax license
31035         * modules/open (License): Change to LGPLv2+, with consent by all
31036         authors, for use in augeas.
31037         * modules/chown (License): Likewise.
31038         * modules/lchown (Likewise): Likewise.
31039         Requested by Adam Stokes.
31040
31041 2010-08-09  Karl Berry  <karl@gnu.org>
31042
31043         * build-aux/ar-lib: new file, import from Automake.
31044         * config/srclist.txt: autocheck for updates.
31045
31046 2010-08-09  Eric Blake  <eblake@redhat.com>
31047
31048         readlinkat: adjust client modules
31049         * modules/areadlinkat (Depends-on): Use readlinkat, not
31050         symlinkat.
31051         * modules/areadlinkat-with-size (Depends-on): Likewise.
31052
31053         mknod: be more vocal about danger of running tests as root
31054         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31055         root, since that is just asking for problems.
31056         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31057
31058         readlinkat: split into its own module
31059         * modules/symlinkat: Split readlinkat...
31060         * modules/readlinkat: ...into separate module.
31061         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31062         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31063         * lib/symlinkat.c (readlinkat): Move...
31064         * lib/readlinkat.c: ...into new file.
31065         * modules/symlinkat-tests: Split readlinkat test...
31066         * modules/readlinkat-tests: ...into separate module.
31067         * tests/test-symlinkat.c: Split...
31068         * tests/test-readlinkat.c: ...into new file.
31069         * NEWS: Document the split.
31070         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31071         * lib/unistd.in.h (readlinkat): Likewise.
31072         Suggested by Bruno Haible.
31073
31074 2010-08-08  Bruno Haible  <bruno@clisp.org>
31075
31076         memxfrm: Speed up.
31077         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
31078         that usually only one call to strxfrm is necessary for each string
31079         part.
31080         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31081
31082 2010-08-07  Karl Berry  <karl@gnu.org>
31083
31084         * doc/posix-headers/limits.texi,
31085         * doc/posix-functions/malloc.texi,
31086         * doc/posix-functions/strsignal.texi: missing @item.
31087         * doc/ld-version-script.texi: spurious leading i.
31088         * doc/regex.texi (Interval Operators): no commas inside @var.
31089
31090 2010-08-01  Bruno Haible  <bruno@clisp.org>
31091
31092         Integrate the regex documentation.
31093         * doc/gnulib.texi: Define 'cn' index.
31094         (Regular expressions): New a chapter that includes regex.texi and
31095         regexprops-generic.texi.
31096         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31097         syntax.
31098
31099         Whitespace cleanup.
31100         * doc/regex.texi: Remove trailing spaces.
31101
31102         Add regex documentation.
31103         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31104         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31105         Written by Kathy A. Hargreaves and Karl Berry.
31106
31107 2010-08-01  Bruno Haible  <bruno@clisp.org>
31108
31109         link: Update documentation.
31110         * doc/posix-functions/link.texi: Update regarding Solaris.
31111
31112 2010-07-31  Bruno Haible  <bruno@clisp.org>
31113
31114         Update modules list.
31115         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31116         (String handling <string.h>): Add memcmp2, memxfrm.
31117         (Container data structures): Add xlist, xsublist, xoset.
31118         (Core language properties): Add alignof, unused-parameter.
31119         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31120         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31121         (Unibyte characters <ctype.h>): New section.
31122         (String handling <string.h>): New section.
31123         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31124         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31125         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31126         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31127         tan, tanh, tanl, y0, y1, yn.
31128         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31129         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31130         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31131         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31132         unlockpt, vdprintf, vdprintf-posix.
31133         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31134         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31135         xconcat-filename.
31136         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31137         getdtablesize, pipe2, pipe2-safer.
31138         (Security): New section.
31139         (Networking functions): Add accept4.
31140         (Signal handling): Add sigpipe.
31141         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31142         mbmemcasecoll.
31143         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31144         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31145         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31146         pipe-filter-ii.
31147         (Misc): Add argp-version-etc, login_tty, parse-duration.
31148
31149 2010-07-31  Bruno Haible  <bruno@clisp.org>
31150
31151         Improve doc in MODULES.html.
31152         * modules/linkat (Description): Add the word "function".
31153         * modules/mkfifo (Description): Likewise.
31154         * modules/mknod (Description): Likewise.
31155         * modules/remove (Description): Likewise.
31156         * modules/renameat (Description): Likewise.
31157         * modules/stat (Description): Likewise.
31158         * modules/symlink (Description): Likewise.
31159         * modules/unlink (Description): Likewise.
31160
31161 2010-07-31  Bruno Haible  <bruno@clisp.org>
31162
31163         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31164         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31165         option --enable/disable-c++ instead of --enable/disable-cxx.
31166         * NEWS: Mention the change.
31167
31168 2010-07-31  Bruno Haible  <bruno@clisp.org>
31169
31170         readlink, areadlink: Relax test a bit.
31171         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31172         alternative to ENOTDIR.
31173         * tests/test-areadlink.h (test_areadlink): Likewise.
31174         Reported by Rainer Tammer.
31175
31176 2010-07-31  Bruno Haible  <bruno@clisp.org>
31177
31178         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31179         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31180         character, perform the search using U_STRCHR.
31181         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31182         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31183         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31184         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31185         Suggested by Paolo Bonzini.
31186
31187 2010-07-31  Bruno Haible  <bruno@clisp.org>
31188
31189         unistr/u*-strstr: Fix dependencies.
31190         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31191         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31192         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31193
31194 2010-07-31  Bruno Haible  <bruno@clisp.org>
31195
31196         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31197         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31198         the beginning of the loop.
31199         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31200         cases in 'switch' statement.
31201
31202         unistr/u8-strchr: Fix several bugs.
31203         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31204         the string. When not found, return NULL, not a pointer near the end.
31205
31206         More tests for unistr/u8-strchr.
31207         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31208         that the function does not read past the first occurrence of the byte
31209         being searched.
31210         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31211         * tests/unistr/test-u16-strchr.c (main): New function.
31212         * tests/unistr/test-u32-strchr.c (main): New function.
31213
31214 2010-07-31  Bruno Haible  <bruno@clisp.org>
31215
31216         posix-modules: Ignore backup files of documentation files.
31217         * posix-modules: grep only through files named *.texi.
31218
31219 2010-07-31  Bruno Haible  <bruno@clisp.org>
31220
31221         symlinkat: Fix documentation.
31222         * doc/posix-functions/readlinkat.texi: Fix module name.
31223
31224 2010-07-31  Bruno Haible  <bruno@clisp.org>
31225
31226         fchownat: Replace also when chown has the trailing slash bug.
31227         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31228         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31229         introduced on 2010-04-10.
31230         Reported by Rainer Tammer.
31231
31232 2010-07-31  Bruno Haible  <bruno@clisp.org>
31233
31234         linkat: Work around AIX 7.1 bug.
31235         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31236         whether linkat handles trailing slash correctly. If not, replace linkat
31237         and define LINKAT_TRAILING_SLASH_BUG.
31238         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31239         check whether (fd1,file1) points to a directory if file1 or file2 ends
31240         in a slash. Code taken from lib/link.c.
31241         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31242         Reported by Rainer Tammer.
31243
31244 2010-07-31  Bruno Haible  <bruno@clisp.org>
31245
31246         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31247         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31248         This disables an xlc optimization that was causing wrong test results.
31249         Reported by Rainer Tammer.
31250
31251 2010-07-31  Bruno Haible  <bruno@clisp.org>
31252
31253         iconv: Work around AIX 6.1..7.1 bug.
31254         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31255         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31256         cross-compiling, guess no on all versions of AIX.
31257         Reported by Rainer Tammer.
31258
31259 2010-07-31  Bruno Haible  <bruno@clisp.org>
31260
31261         readlink: Relax test a bit.
31262         * tests/test-readlink.h (test_readlink): Allow different errno value
31263         when readlink is called with a file name that ends in / and refers to
31264         a file.
31265         Suggested by Eric Blake.
31266         Reported by Rainer Tammer.
31267
31268 2010-07-31  Bruno Haible  <bruno@clisp.org>
31269
31270         copysign: Does not require -lm on glibc systems.
31271         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31272         gl_COMMON_DOUBLE_MATHFUNC.
31273         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31274
31275 2010-07-31  Bruno Haible  <bruno@clisp.org>
31276
31277         duplocale: Work around AIX 7.1 bug.
31278         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31279         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31280         * lib/duplocale.c (rpl_duplocale): Update comment.
31281         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31282         Reported by Rainer Tammer.
31283
31284 2010-07-30  Bruno Haible  <bruno@clisp.org>
31285
31286         dirfd: Avoid link error on AIX 7.1.
31287         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31288         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31289         exist, set REPLACE_DIRFD.
31290         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31291         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31292         * doc/posix-functions/dirfd.texi: Update.
31293         Reported by Rainer Tammer.
31294
31295 2010-07-30  Eric Blake  <eblake@redhat.com>
31296
31297         strtod: next round of AIX fixes
31298         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31299         exponent.
31300         * tests/test-strtod.c (main): Enhance tests.
31301         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31302         Reported by Rainer Tammer.
31303
31304         futimens: fix configure check
31305         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31306         Reported by Bruno Haible.
31307
31308 2010-07-30  Bruno Haible  <bruno@clisp.org>
31309
31310         getline: Update regarding AIX.
31311         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31312         Reported by Rainer Tammer.
31313
31314 2010-07-30  Bruno Haible  <bruno@clisp.org>
31315
31316         wcwidth: Drop replacement on AIX 7.
31317         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31318         AIX 7.
31319         Reported by Rainer Tammer.
31320
31321 2010-07-30  Bruno Haible  <bruno@clisp.org>
31322
31323         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31324         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31325         a 'char *'.
31326         Reported by Rainer Tammer.
31327
31328 2010-07-30  Bruno Haible  <bruno@clisp.org>
31329
31330         unlink: Update regarding AIX.
31331         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31332         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31333         Reported by Rainer Tammer.
31334
31335 2010-07-30  Bruno Haible  <bruno@clisp.org>
31336
31337         symlink: Update regarding AIX.
31338         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31339         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31340         Reported by Rainer Tammer.
31341
31342 2010-07-30  Bruno Haible  <bruno@clisp.org>
31343
31344         strndup: Update regarding AIX.
31345         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31346         AIX 7.
31347         Reported by Rainer Tammer.
31348
31349 2010-07-30  Bruno Haible  <bruno@clisp.org>
31350
31351         stat: Update regarding AIX.
31352         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31353         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31354         Reported by Rainer Tammer.
31355
31356 2010-07-30  Bruno Haible  <bruno@clisp.org>
31357
31358         truncl: Fix autoconf test.
31359         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31360         whether truncl works.
31361         Reported by Rainer Tammer.
31362
31363 2010-07-30  Bruno Haible  <bruno@clisp.org>
31364
31365         round: Update regarding AIX.
31366         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31367         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31368         Reported by Rainer Tammer.
31369
31370 2010-07-30  Bruno Haible  <bruno@clisp.org>
31371
31372         rename: Update regarding AIX.
31373         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31374         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31375         Reported by Rainer Tammer.
31376
31377 2010-07-30  Bruno Haible  <bruno@clisp.org>
31378
31379         printf.m4: Update regarding AIX.
31380         * m4/printf.m4: Update comments regarding AIX.
31381         Reported by Rainer Tammer.
31382
31383 2010-07-30  Bruno Haible  <bruno@clisp.org>
31384
31385         iconv: Update regarding AIX.
31386         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31387         AIX 7.
31388         Reported by Rainer Tammer.
31389
31390 2010-07-30  Bruno Haible  <bruno@clisp.org>
31391
31392         getopt: Update regarding AIX.
31393         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31394         no on AIX.
31395         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31396         Reported by Rainer Tammer.
31397
31398 2010-07-30  Bruno Haible  <bruno@clisp.org>
31399
31400         ldexpl; Update regarding AIX.
31401         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31402         on AIX 7.
31403         Reported by Rainer Tammer.
31404
31405 2010-07-30  Bruno Haible  <bruno@clisp.org>
31406
31407         frexpl: Update regarding AIX.
31408         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31409         on AIX 7.
31410         Reported by Rainer Tammer.
31411
31412 2010-07-30  Bruno Haible  <bruno@clisp.org>
31413
31414         open, fopen: Update regarding AIX.
31415         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31416         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31417         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31418         * doc/posix-functions/fopen.texi: Likewise.
31419         Reported by Rainer Tammer.
31420
31421 2010-07-30  Bruno Haible  <bruno@clisp.org>
31422
31423         chown: Update doc regarding AIX.
31424         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31425         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31426         Reported by Rainer Tammer.
31427
31428 2010-07-30  Eric Blake  <eblake@redhat.com>
31429
31430         strtod: fix bug in replacement function on AIX
31431         * lib/strtod.c (strtod): Special case broken "0x" parse in
31432         underlying strtod.
31433         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31434         * doc/posix-functions/strtod.texi (strtod): Likewise.
31435         Reported by Rainer Tammer.
31436
31437 2010-07-30  Bruno Haible  <bruno@clisp.org>
31438
31439         mbrlen: Fix cross-compilation guess for AIX.
31440         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31441         guess. Leftover from 2008-12-22.
31442
31443 2010-07-30  Bruno Haible  <bruno@clisp.org>
31444
31445         mbrtowc: Fix cross-compilation guess for AIX.
31446         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31447         guess. Leftover from 2008-12-21.
31448
31449 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31450
31451         init.sh: work around trap limitation of some shells
31452         * tests/init.sh (setup_): Move exit trap outside of shell function.
31453
31454 2010-07-29  Eric Blake  <eblake@redhat.com>
31455
31456         strtod: aid debugging
31457         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31458         understanding why strtod is rejected.
31459
31460 2010-07-28  Bruno Haible  <bruno@clisp.org>
31461
31462         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31463         * lib/unistr/u8-chr.c: Include <string.h>.
31464         * tests/unistr/test-u8-chr.c: Likewise.
31465         * tests/unistr/test-u16-chr.c: Likewise.
31466         * tests/unistr/test-u32-chr.c: Likewise.
31467         * tests/unistr/test-u8-strchr.c: Likewise.
31468         * tests/unistr/test-u16-strchr.c: Likewise.
31469         * tests/unistr/test-u32-strchr.c: Likewise.
31470         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31471         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31472         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31473         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31474
31475 2010-07-28  Bruno Haible  <bruno@clisp.org>
31476
31477         Use spaces for indentation, not tabs.
31478         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31479
31480 2010-07-27  Bruno Haible  <bruno@clisp.org>
31481
31482         mbspcasecmp: Fix function specification.
31483         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31484         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31485         Reported by Eric Blake <eblake@redhat.com>.
31486
31487 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31488
31489         timespec: use cast and not conditional, as truncation isn't possible
31490         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31491         instead of a conditional.  Comment about the situation in more detail.
31492         This undoes most of the 2009-10-29 patch.
31493
31494 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31495
31496         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31497         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31498         * lib/unistr/u8-strchr.c: Likewise.
31499         * modules/unistr/u8-chr: Depend on memchr.
31500
31501         unistr/u*-strchr: add tests
31502         * modules/unistr/u8-strchr-tests: New file.
31503         * modules/unistr/u16-strchr-tests: New file.
31504         * modules/unistr/u32-strchr-tests: New file.
31505         * tests/unistr/test-strchr.h: New file.
31506         * tests/unistr/test-u8-strchr.c: New file.
31507         * tests/unistr/test-u16-strchr.c: New file.
31508         * tests/unistr/test-u32-strchr.c: New file.
31509
31510         unistr/u*-chr: test multibyte sequences more
31511         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31512         test vector.
31513         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31514         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31515         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31516
31517         unistr/u*-chr: test multibyte sequences
31518         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31519
31520         unistr/u*-chr: prepare for multibyte tests
31521         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31522         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31523         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31524         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31525         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31526         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31527
31528 2010-07-18  Bruno Haible  <bruno@clisp.org>
31529
31530         unistr/u8-strchr: Optimize non-ASCII argument case.
31531         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31532         because the first byte often matches anyway.
31533         Reported by Pádraig Brady <P@draigbrady.com>.
31534
31535 2010-07-15  Karl Berry  <karl@gnu.org>
31536
31537         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31538
31539 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31540
31541         getcwd: on Solaris, work better if ancestors are inaccessible
31542         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31543         buffer and size, try again with a large buffer.  This works better
31544         on Solaris, since its getcwd succeeds even if the path to the root
31545         is inaccessible, and this is helpful in common cases such as .zfs
31546         hidden directories.  Problem reported by J Chapman Flack in
31547         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31548         Use system getcwd if it's declared, not merely if it's partly
31549         working; use the partly-working test only to avoid needless effort
31550         if the system getcwd fails.
31551         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31552         comment that was already obsolete and is now even more obsolete.
31553         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31554         now might call strdup.
31555
31556 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31557
31558         pthread: Add enough so that coreutils/src/sort.c compiles.
31559         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31560         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31561         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31562         Include <sys/types.h>, in case it defines pthread_t.
31563         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31564         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31565         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31566         (pthread_rwlockattr_t, pthread_spinlock_t):
31567         New typedefs, if HAVE_PTHREAD_T is not defined.
31568         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31569         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31570         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31571         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31572         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31573         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31574         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31575         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31576         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31577         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31578         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31579         New macros.
31580         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31581         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31582         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31583         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31584         (pthread_spin_unlock): New dummy functions.
31585         (pthread_create): Return EAGAIN; don't set errno.
31586         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31587         require AC_C_INLINE.
31588         * modules/pthread (Depends-on): Add sched, time.
31589         (pthread.h): Use AM_V_GEN.
31590
31591 2010-07-13  Bruno Haible  <bruno@clisp.org>
31592
31593         striconveh: Don't malloc memory if the result buffer is sufficient.
31594         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31595         buffer if its size is sufficient.
31596         Reported by Ludovic Courtès <ludo@gnu.org>.
31597
31598 2010-07-13  Bruno Haible  <bruno@clisp.org>
31599
31600         strtod: Add safety check.
31601         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31602
31603 2010-07-12  Bruno Haible  <bruno@clisp.org>
31604
31605         Unify tests that set gl_cv_func_ldexpl_no_libm.
31606         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31607         gl_FUNC_LDEXPL.
31608         (gl_FUNC_LDEXPL): Invoke it.
31609         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31610
31611 2010-07-12  Bruno Haible  <bruno@clisp.org>
31612
31613         Unify tests that set gl_cv_func_ldexp_no_libm.
31614         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31615         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31616         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31617         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31618         * modules/strtod (Files): Add m4/ldexp.m4.
31619
31620 2010-07-12  Bruno Haible  <bruno@clisp.org>
31621
31622         Unify tests that set gl_cv_func_frexpl_no_libm.
31623         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31624         gl_FUNC_FREXPL_NO_LIBM.
31625         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31626         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31627
31628 2010-07-12  Bruno Haible  <bruno@clisp.org>
31629
31630         Unify tests that set gl_cv_func_frexp_no_libm.
31631         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31632         gl_FUNC_FREXP_NO_LIBM.
31633         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31634         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31635
31636 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31637
31638         memcoll: clarify sizes versus lengths, document better, and tweak perf
31639         * lib/memcoll.c (strcoll_loop, memcoll0):
31640         Improve quality of descriptive comments.  Name variables
31641         consistently as to whether they are lengths (which do not include
31642         terminating null) versus sizes (which do).
31643         * lib/xmemcoll.c (xmemcoll0): Likewise.
31644         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31645         returned when s1size == 0; this is easier to compile and saves
31646         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31647
31648 2010-07-12  Bruno Haible  <bruno@clisp.org>
31649
31650         Tests for module '_Exit'.
31651         * modules/_Exit-tests: New file.
31652         * tests/test-_Exit.sh: New file.
31653         * tests/test-_Exit.c: New file.
31654
31655         New module '_Exit'.
31656         * lib/stdlib.in.h (__attribute__): New macro.
31657         (_Exit): New declaration.
31658         * lib/_Exit.c: New file.
31659         * m4/_Exit.m4: New file.
31660         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31661         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31662         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31663         * modules/_Exit: New file.
31664         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31665         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31666
31667 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31668
31669         strtod: make it more-accurate typically, and don't require libm
31670         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31671         Include limits.h.  Don't include string.h.
31672         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31673         (locale_isspace): New function, so that no casts are needed to
31674         check whether *s is a space.
31675         (ldexp): Provide an unused dummy if not available.
31676         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31677         (strtod): Use them.  This implementation prefers to use the
31678         underlying strtod if available, falling back on our own code
31679         only to fix known bugs.  This is more likely to produce an
31680         accurate result.  Also, it avoids the use of libm functions.
31681         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31682         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31683         was absent, but it caused a test failure with coreutils.
31684         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31685         with libm.
31686         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31687         * modules/strtod-tests (Makefile.am): Likewise.
31688
31689 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31690             Bruno Haible  <bruno@clisp.org>
31691
31692         unistr/u8-strchr: Optimize ASCII argument case.
31693         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31694
31695 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31696
31697         (x)memcoll: minor tweaks
31698         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31699         is after the type that it qualifies.
31700         (memcoll0): Likewise.
31701         * lib/memcoll.h (memcoll0): Likewise.
31702         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31703         * lib/xmemcoll.h (xmemcoll0): Likewise.
31704         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31705         differs from memcoll in that the NUL byte is part of the argument.
31706         Omit the abort-checks, as performance is a real issue here.  Plus,
31707         the checks were wrong anyway (an off-by-one error).  Omit local
31708         variable 'diff', as it's a bit clearer that way.
31709         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31710         no longer needed.
31711
31712 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31713
31714         (x)memcoll: speedup when input is known to be NUL delimited
31715         * lib/memcoll.c: Include stdlib.
31716         (memcoll0): New function.
31717         (strcoll_loop): New function, refactored for use in both memcoll
31718         and memcoll0.
31719         * lib/memcoll.h (memcoll0): Add prototype.
31720         * lib/xmemcoll.c (xmemcoll0): New function.
31721         (collate_error): New function, refactored for use in both xmemcoll
31722         and xmemcoll0.
31723         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31724         * m4/memcoll.m4: add inline invocation.
31725
31726 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31727
31728         * build-aux/bootstrap: Remove any local translations
31729         from the translation project synchronization directory,
31730         so that local only translations are not distributed.
31731
31732 2010-07-04  Bruno Haible  <bruno@clisp.org>
31733
31734         fsusage: Clarify which code applies to which platforms.
31735         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31736         platform.
31737         * lib/fsusage.c (get_fs_usage): Likewise.
31738
31739 2010-07-04  Bruno Haible  <bruno@clisp.org>
31740
31741         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31742         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31743         Reported by Martin Lambers <marlam@marlam.de>.
31744
31745 2010-07-04  Jim Meyering  <meyering@redhat.com>
31746
31747         hash: once again explicitly disallow insertion of NULL
31748         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31749         inserting a NULL pointer cannot work with these functions.
31750         Add a comment with details.
31751         This reverts part of the 2010-07-01 commit, 5bef1a35
31752         "hash: extend module to deal with non-pointer keys".
31753
31754 2010-07-01  Bruno Haible  <bruno@clisp.org>
31755
31756         stdbool: Update doc.
31757         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31758         Info from Christian Weisgerber <naddy@mips.inka.de>.
31759
31760 2010-07-01  Jim Meyering  <meyering@redhat.com>
31761
31762         hash: extend module to deal with non-pointer keys
31763         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31764         but that allows insertion of non-pointer entries.
31765         Do not disallow an ENTRY value of NULL.
31766         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31767         * lib/hash.h (hash_insert0): Declare.
31768
31769 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31770
31771         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31772         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31773         not present (i.e. with autoconf 2.59 and when using gettextize, not
31774         gnulib), require AC_GNU_SOURCE instead.
31775
31776 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31777
31778         idpriv-drop: Fix tests.
31779         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31780         not to the test-idpriv-droptemp program.
31781
31782 2010-06-29  Bruno Haible  <bruno@clisp.org>
31783
31784         string: Fix syntax error with g++ 2.96.
31785         * lib/string.in.h (__pure__): Remove definition.
31786         (_GL_ATTRIBUTE_PURE): New macro.
31787         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31788         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31789         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31790
31791 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31792
31793         unitypes: Fix bug introduced on 2010-05-18.
31794         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31795
31796 2010-06-22  Eric Blake  <eblake@redhat.com>
31797
31798         memmem: slight optimization
31799         * lib/str-two-way.h (critical_factorization): Update comments.
31800         Reduce work during factorization phase.
31801         Reported by Carlos Bueno <carlos@bueno.org>.
31802
31803 2010-06-21  Bruno Haible  <bruno@clisp.org>
31804
31805         Fix HAVE_CALLOC_POSIX misnomer.
31806         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31807         !HAVE_CALLOC_POSIX.
31808         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31809         HAVE_CALLOC_POSIX.
31810         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31811         instead of HAVE_CALLOC_POSIX.
31812         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31813         HAVE_CALLOC_POSIX.
31814
31815         Use modern idiom for calloc() replacement.
31816         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31817         AC_FUNC_CALLOC.
31818         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31819         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31820         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31821         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31822         (gl_REPLACE_CALLOC): New macro.
31823
31824 2010-06-21  Bruno Haible  <bruno@clisp.org>
31825
31826         Fix HAVE_REALLOC_POSIX misnomer.
31827         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31828         !HAVE_REALLOC_POSIX.
31829         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31830         HAVE_REALLOC_POSIX.
31831         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31832         instead of HAVE_REALLOC_POSIX.
31833         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31834         HAVE_REALLOC_POSIX.
31835
31836         Use modern idiom for realloc() replacement.
31837         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31838         AC_FUNC_REALLOC.
31839         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31840         Autoconf's AC_FUNC_REALLOC.
31841         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31842         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31843         (gl_REPLACE_REALLOC): New macro.
31844         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31845
31846 2010-06-21  Bruno Haible  <bruno@clisp.org>
31847
31848         Fix HAVE_MALLOC_POSIX misnomer.
31849         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31850         !HAVE_MALLOC_POSIX.
31851         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31852         HAVE_MALLOC_POSIX.
31853         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31854         instead of HAVE_MALLOC_POSIX.
31855         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31856         HAVE_MALLOC_POSIX.
31857
31858         Use modern idiom for malloc() replacement.
31859         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31860         AC_FUNC_MALLOC.
31861         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31862         Autoconf's AC_FUNC_MALLOC.
31863         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31864         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31865         (gl_REPLACE_MALLOC): New macro.
31866         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31867
31868 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31869
31870         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31871         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31872         This macro takes 3 arguments, not 4.
31873
31874 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31875
31876         ipv6: fix detection under mingw
31877         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31878         in6_addr.
31879
31880 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31881
31882         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31883         that strtod() works when cross-compiling to a glibc version known
31884         to work.
31885
31886 2010-06-15  Bruno Haible  <bruno@clisp.org>
31887
31888         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31889
31890 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31891
31892         select: Correct timeout.
31893         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31894
31895 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31896
31897         git-version-gen: init shell var to avoid env var influence
31898         * build-aux/git-version-gen (v): Init shell var to empty.
31899
31900 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31901
31902         priv-set: Don't assume that priv.h exists merely because getppriv does.
31903         See Jan Andersen's bug report about AIX 5L in
31904         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31905         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31906         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31907         * lib/priv-set.h: Likewise.
31908         * tests/test-priv-set.c: Likewise.
31909
31910 2010-06-13  Bruno Haible  <bruno@clisp.org>
31911
31912         relocatable: Make it easier to test whether to install wrappers.
31913         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31914         RELOCATABLE_VIA_WRAPPER.
31915
31916 2010-06-13  Bruno Haible  <bruno@clisp.org>
31917
31918         gnulib-tool: Display specified modules and dependencies differently.
31919         * gnulib-tool (func_show_module_list): New function.
31920         (func_import, func_create_testdir): Invoke it.
31921         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31922
31923 2010-06-13  Bruno Haible  <bruno@clisp.org>
31924
31925         gnulib-tool: Align code of func_import and func_create_testdir.
31926         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31927         specified_modules.
31928
31929 2010-06-12  Jim Meyering  <meyering@redhat.com>
31930
31931         test-inttostr: avoid spurious failure on Solaris 9
31932         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31933         to accept "%ju".  Reported by Bruno Haible.
31934
31935 2010-06-11  Jim Meyering  <meyering@redhat.com>
31936
31937         test-sys_socket: mark variables as used more readably
31938         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31939         as "used" explicitly via (void) statement casts.  This is more
31940         readable than using them in an artificial return expression.
31941         Suggestion from Bruno Haible.
31942
31943 2010-06-11  Bruno Haible  <bruno@clisp.org>
31944
31945         Avoid some more warnings from "gcc -Wwrite-strings".
31946         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31947         to 'const char *'.
31948         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31949         * tests/test-c-strcasestr.c (main): Likewise.
31950         * tests/test-mbscasestr1.c (main): Likewise.
31951         * tests/test-mbscasestr2.c (main): Likewise.
31952         * tests/test-memmem.c (main): Likewise.
31953         * tests/test-strstr.c (main): Likewise.
31954         * tests/test-strcasestr.c (main): Likewise.
31955
31956 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31957
31958         init.sh: change framework_failure_ to fail with status 99, not 1
31959         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31960         automake's parallel-tests rule that this is an unexpected failure,
31961         even if the test is listed in XFAIL_TESTS.
31962
31963 2010-06-11  Jim Meyering  <meyering@redhat.com>
31964
31965         test-inttostr: avoid warnings about 4-6KB literal strings
31966         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31967         Include "macros.h", for its definition of ASSERT.
31968         (CK): s/assert/ASSERT/
31969         * modules/inttostr-tests (Files): Add macros.h.
31970
31971         init.sh: don't use $ME_ or skip_ before they are defined
31972         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31973         their first uses.  Also hoist their companions: warn_, fail_,
31974         framework_failure_, $stderr_fileno.  Prompted by a patch from
31975         Stefano Lattarini.
31976
31977         test-sys_socket: avoid set-but-not-used warnings from gcc
31978         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31979         avoid warning about set-but-not-used variables.
31980
31981         test-xvasprintf: avoid 'const' discard warnings
31982         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31983         "const" when assigning from literal strings.
31984         (test_xasprintf): Add "void" in function argument list to placate
31985         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31986
31987         tests: avoid compilation warnings in argmatch and exclude tests...
31988         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31989         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31990         Since it always exits, declare with the "noreturn" attribute.
31991         * tests/test-argmatch.c: Likewise.
31992
31993         tests: avoid 'const' discard warnings in mbsstr tests
31994         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31995         * tests/test-mbsstr2.c (main): Likewise.
31996
31997         test-verify: avoid warning from gcc's -Wmissing-declarations
31998         * tests/test-verify.c (function): Declare to be static.
31999
32000         test-inttostr.c: include <string.h> for use of strcmp
32001         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32002
32003         test-linkat: avoid failed assertion on "other" architectures
32004         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32005         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32006         sparc: https://bugs.launchpad.net/bugs/591968
32007
32008 2010-06-11  Jim Meyering  <meyering@redhat.com>
32009
32010         printf.m4: avoid autoconf's "Expanded Before Required" warning
32011         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32012         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32013         autoconf warning.
32014
32015 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32016
32017         Replacement header templates are now named with ".in", not "_".
32018         * doc/gnulib-intro.texi: Correct.
32019
32020 2010-06-10  Jim Meyering  <meyering@redhat.com>
32021
32022         inttostr-tests: depend on snprintf, not snprintf-posix
32023         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32024         snprintf-posix, to avoid this aclocal failure:
32025           missing file gnulib-tests/vasnprintf.c
32026           configure.ac:45: error: expected source file, required through \
32027           AC_LIBSOURCES, not found
32028
32029 2010-06-10  Jim Meyering  <meyering@redhat.com>
32030
32031         inttostr: add a new function, inttostr, and tests
32032         The namesake function was not available.  The existence of the
32033         template file, inttostr.c makes its addition nontrivial.
32034         * lib/anytostr.c: Rename from inttostr.c.
32035         (anytostr): Rename from inttostr.
32036         * lib/inttostr.c: New file.
32037         * modules/inttostr (Files): Add anytostr.c.
32038         (Makefile.am): Set lib_SOURCES instead of ...
32039         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32040         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32041         * lib/offtostr.c: Likewise.
32042         * lib/uinttostr.c: Likewise.
32043         * lib/umaxtostr.c: Likewise.
32044         * modules/inttostr-tests: New file.
32045         * tests/test-inttostr.c: New file.  Test these functions.
32046
32047 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32048             Bruno Haible  <bruno@clisp.org>
32049
32050         Add "Extending Gnulib" chapter to manual.
32051         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32052         chapter.
32053         (Extending Gnulib): New chapter.
32054         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32055         chapter.
32056
32057 2010-06-09  Bruno Haible  <bruno@clisp.org>
32058
32059         Avoid relocwrapper link errors due to gnulib replacement functions.
32060         * lib/areadlink.c: Use the system's malloc, realloc functions.
32061         (areadlink): Set errno to ENOMEM explicitly.
32062         * modules/areadlink (Depends-on): Remove malloc-posix.
32063         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32064
32065 2010-06-09  Bruno Haible  <bruno@clisp.org>
32066
32067         Avoid relocwrapper link errors due to gnulib replacement functions.
32068         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32069         * lib/malloca.c: Likewise.
32070         * lib/relocatable.c: Likewise.
32071         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32072         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32073         * lib/setenv.c: Use the system's malloc, realloc functions.
32074         * lib/strerror.c: Use the system's sprintf function.
32075         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32076
32077 2010-06-04  Bruno Haible  <bruno@clisp.org>
32078
32079         Prefer documented low-level autoconf macro names.
32080         * m4/lib-link.m4: Use m4_translit instead of translit.
32081         * m4/environ.m4: Likewise.
32082         * m4/mathfunc.m4: Likewise.
32083         * m4/onceonly.m4: Likewise.
32084         * m4/stdint.m4: Likewise.
32085         Suggested by Eric Blake.
32086
32087 2010-06-04  Martin Lambers  <marlam@marlam.de>
32088             Bruno Haible  <bruno@clisp.org>
32089
32090         havelib: Allow library names with '+' characters.
32091         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32092         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32093
32094 2010-06-09  Bruno Haible  <bruno@clisp.org>
32095
32096         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32097         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32098         realloc failed.
32099
32100 2010-06-08  Peter Simons  <simons@cryp.to>
32101
32102         maint.mk: make the news-check rule more configurable
32103         * top/maint.mk (news-check-lines-spec): New variable.
32104         (news-check): Use "sed -n 1,10p" in place of "head".
32105
32106 2010-06-07  Jim Meyering  <meyering@redhat.com>
32107
32108         do-release-commit-and-tag: fix typo in --help
32109         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32110
32111         regex: avoid new dead-code warning with gcc-4.6.0
32112         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32113         if-block containing a while-loop.  It's been unused for at least
32114         5 years.
32115
32116 2010-06-05  Bruno Haible  <bruno@clisp.org>
32117
32118         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32119         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32120
32121 2010-06-04  Bruno Haible  <bruno@clisp.org>
32122
32123         Update to GNU gettext 0.18.1.
32124         * modules/gettext (configure.ac): Require gettext infrastructure from
32125         version 0.18.1.
32126
32127 2010-06-03  Bruno Haible  <bruno@clisp.org>
32128
32129         Don't use AC_LIBOBJ with file names in subdirectories.
32130         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32131         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32132         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32133         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32134         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32135         gl_LIBUNISTRING_LIBSOURCE.
32136         (Makefile.am): Augment lib_SOURCES here, conditionally.
32137         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32138
32139 2010-06-03  Bruno Haible  <bruno@clisp.org>
32140
32141         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32142         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32143         expansion does not end with a newline.
32144         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32145         unnecessary newline.
32146
32147 2010-06-03  Bruno Haible  <bruno@clisp.org>
32148
32149         Reduce dependencies.
32150         * tests/test-quotearg.h: New file, extracted from
32151         tests/test-quotearg.c.
32152         * tests/test-quotearg-simple.c: New file, extracted from
32153         tests/test-quotearg.c.
32154         * tests/test-quotearg.c: Don't include <ctype.h>.
32155         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32156         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32157         use_quote_double_quotes, use_quotearg_colon): Moved to
32158         tests/test-quotearg.h.
32159         (results_g, flag_results, custom_quotes, custom_results): Moved
32160         to tests/test-quotearg-simple.c.
32161         (main): Moved the part that does not depend on gettext to
32162         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32163         performed.
32164         * modules/quotearg-simple: New file.
32165         * modules/quotearg-simple-tests: New file.
32166         * modules/quotearg (Depends-on): Add quotearg-simple.
32167         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32168         (Files): Add tests/test-quotearg.h.
32169         Reported by Paolo Bonzini.
32170
32171 2010-06-03  Bruno Haible  <bruno@clisp.org>
32172
32173         Reduce dependencies.
32174         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32175
32176 2010-06-03  Bruno Haible  <bruno@clisp.org>
32177
32178         time: Undefine more broken macros.
32179         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32180         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32181         Reported by Eric Blake.
32182
32183 2010-06-03  Bruno Haible  <bruno@clisp.org>
32184
32185         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32186         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32187         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32188         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32189         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32190         Reported by Ludovic Courtès <ludo@gnu.org>.
32191
32192 2010-06-02  Eric Blake  <eblake@redhat.com>
32193
32194         time: work with mingw + pthreads-win32 library
32195         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32196         if timespec is defined only in pthread.h.
32197         * modules/time (Makefile.am): Substitute it.
32198         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32199         <pthread.h>, when needed.
32200         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32201         from the library.
32202
32203 2010-05-31  Bruno Haible  <bruno@clisp.org>
32204
32205         Avoid expanding two macros in the wrong order.
32206         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32207         gl_LIBUNISTRING if it is defined.
32208         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32209         autoconf >= 2.64.
32210         Reported by Ludovic Courtès <ludo@gnu.org>.
32211
32212 2010-05-27  Jim Meyering  <meyering@redhat.com>
32213
32214         maint.mk: also prohibit "#undef" of always-defined symbols
32215         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32216         Allow more than one space before the symbol name.
32217         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32218         the regexp uses alternation.
32219
32220 2010-05-26  Eric Blake  <eblake@redhat.com>
32221
32222         maint.mk: avoid echo -e
32223         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32224         Convert all uses of echo -* to printf.
32225         Reported by Matthias Bolte.
32226
32227 2010-05-25  Bruno Haible  <bruno@clisp.org>
32228
32229         Update to GNU gettext 0.18, part 2.
32230         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32231         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32232
32233 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32234
32235         Add missing include in test-pwrite.c.
32236         * tests/test-pwrite.c: Include string.h, for strcmp.
32237
32238 2010-05-24  Bruno Haible  <bruno@clisp.org>
32239
32240         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32241
32242 2010-05-24  Bruno Haible  <bruno@clisp.org>
32243
32244         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32245         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32246         iconveh_error argument.
32247         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32248         U_STRCONV_TO_LOCALE.
32249         * lib/unistr/u16-strcoll.c: Likewise.
32250         * lib/unistr/u32-strcoll.c: Likewise.
32251         * modules/unistr/u8-strcoll (Depends-on): Add
32252         uniconv/u8-strconv-to-enc, localcharset. Remove
32253         uniconv/u8-strconv-to-locale.
32254         (configure.ac): Bump version number.
32255         * modules/unistr/u16-strcoll (Depends-on): Add
32256         uniconv/u16-strconv-to-enc, localcharset. Remove
32257         uniconv/u16-strconv-to-locale.
32258         (configure.ac): Bump version number.
32259         * modules/unistr/u32-strcoll (Depends-on): Add
32260         uniconv/u32-strconv-to-enc, localcharset. Remove
32261         uniconv/u32-strconv-to-locale.
32262         (configure.ac): Bump version number.
32263
32264 2010-05-24  Bruno Haible  <bruno@clisp.org>
32265
32266         Avoid a test failure on NetBSD 5.0.
32267         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32268         an iconv() bug.
32269
32270 2010-05-24  Bruno Haible  <bruno@clisp.org>
32271
32272         Adjust #include directive style.
32273         * modules/regex (Includes): Recommend to write <regex.h>.
32274
32275 2010-05-24  Bruno Haible  <bruno@clisp.org>
32276
32277         regex: Don't require alloca.
32278         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32279         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32280         only inside if (0).
32281
32282 2010-05-23  Jim Meyering  <meyering@redhat.com>
32283
32284         test-renameat.c: include <sys/stat.h>
32285         * tests/test-renameat.c: Include <sys/stat.h>; required for
32286         definition of S_IS* macros.
32287
32288 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32289
32290         Update maintainer documentation for 'relocatable-prog' module.
32291         * doc/relocatable-maint.texi: Update.
32292         Comments by Bruno Haible.
32293
32294 2010-05-23  Bruno Haible  <bruno@clisp.org>
32295
32296         git-merge-changelog: Enable --split-merged-entry by default.
32297         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32298         (usage): Don't mention this option any more.
32299         Reported by Ralf Wildenhues.
32300
32301 2010-05-23  Jim Meyering  <meyering@redhat.com>
32302
32303         test-pwrite: do not leave behind a test file named "out"
32304         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32305         The trivial-looking use of init.sh is really necessary.
32306         It ensures that the temporary file, "out", is created in
32307         a temporary directory, and removed upon termination.
32308         * tests/test-pwrite.sh: Re-add file.
32309         * modules/pwrite-tests: Reference it.
32310
32311 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32312
32313         Fix output redirection buglet in init.sh.
32314         * tests/init.sh: Fix redirection of stderr.
32315
32316 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32317
32318         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32319
32320 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32321
32322         * modules/valgrind-tests: New file.
32323         * m4/valgrind-tests.m4: New file.
32324         * doc/valgrind-tests.texi: New file.
32325         * doc/gnulib.texi (Running self-tests under valgrind): New
32326         section.
32327
32328 2010-05-19  Bruno Haible  <bruno@clisp.org>
32329
32330         Clean up dead code in recent commit.
32331         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32332         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32333         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32334         Suggested by Paolo Bonzini.
32335
32336 2010-05-19  Bruno Haible  <bruno@clisp.org>
32337
32338         Avoid valgrind error reports from libunistring.
32339         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32340         * modules/libunistring (Files): Add it.
32341         * modules/libunistring-optional (Files): Likewise.
32342
32343 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32344             Bruno Haible  <bruno@clisp.org>
32345
32346         New module 'libunistring-optional'.
32347         * modules/libunistring-optional: New file.
32348         * m4/libunistring-base.m4: New file.
32349         * m4/libunistring-optional.m4: New file.
32350         * lib/unicase.in.h: Renamed from lib/unicase.h.
32351         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32352         * lib/unictype.in.h: Renamed from lib/unictype.h.
32353         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32354         * lib/uniname.in.h: Renamed from lib/uniname.h.
32355         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32356         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32357         * lib/unistr.in.h: Renamed from lib/unistr.h.
32358         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32359         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32360         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32361         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32362         gl_LIBUNISTRING. If the library was found, determine the installed
32363         version and set LIBUNISTRING_VERSION.
32364         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32365         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32366         handle a configuration option --with-included-libunistring.
32367         * modules/libunistring (Files): Add m4/absolute-header.m4.
32368         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32369         Add m4/libunistring-base.m4.
32370         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32371         (Makefile.am): Build unicase.h from unicase.in.h.
32372         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32373         Add m4/libunistring-base.m4.
32374         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32375         (Makefile.am): Build uniconv.h from uniconv.in.h.
32376         * modules/unictype/base (Files): Use unictype.in.h instead of
32377         unictype.h. Add m4/libunistring-base.m4.
32378         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32379         (Makefile.am): Build unictype.h from unictype.in.h.
32380         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32381         Add m4/libunistring-base.m4.
32382         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32383         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32384         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32385         Add m4/libunistring-base.m4.
32386         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32387         (Makefile.am): Build uniname.h from uniname.in.h.
32388         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32389         Add m4/libunistring-base.m4.
32390         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32391         (Makefile.am): Build uninorm.h from uninorm.in.h.
32392         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32393         unistdio.h. Add m4/libunistring-base.m4.
32394         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32395         (Makefile.am): Build unistdio.h from unistdio.in.h.
32396         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32397         Add m4/libunistring-base.m4.
32398         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32399         (Makefile.am): Build unistr.h from unistr.in.h.
32400         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32401         Add m4/libunistring-base.m4.
32402         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32403         (Makefile.am): Build unitypes.h from unitypes.in.h.
32404         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32405         Add m4/libunistring-base.m4.
32406         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32407         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32408         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32409         uniwidth.h. Add m4/libunistring-base.m4.
32410         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32411         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32412         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32413         instead of augmenting lib_SOURCES.
32414         * modules/unicase/empty-suffix-context: Likewise.
32415         * modules/unicase/locale-language: Likewise.
32416         * modules/unicase/tolower: Likewise.
32417         * modules/unicase/totitle: Likewise.
32418         * modules/unicase/toupper: Likewise.
32419         * modules/unicase/u8-casecmp: Likewise.
32420         * modules/unicase/u8-casecoll: Likewise.
32421         * modules/unicase/u8-casefold: Likewise.
32422         * modules/unicase/u8-casexfrm: Likewise.
32423         * modules/unicase/u8-ct-casefold: Likewise.
32424         * modules/unicase/u8-ct-tolower: Likewise.
32425         * modules/unicase/u8-ct-totitle: Likewise.
32426         * modules/unicase/u8-ct-toupper: Likewise.
32427         * modules/unicase/u8-is-cased: Likewise.
32428         * modules/unicase/u8-is-casefolded: Likewise.
32429         * modules/unicase/u8-is-lowercase: Likewise.
32430         * modules/unicase/u8-is-titlecase: Likewise.
32431         * modules/unicase/u8-is-uppercase: Likewise.
32432         * modules/unicase/u8-prefix-context: Likewise.
32433         * modules/unicase/u8-suffix-context: Likewise.
32434         * modules/unicase/u8-tolower: Likewise.
32435         * modules/unicase/u8-totitle: Likewise.
32436         * modules/unicase/u8-toupper: Likewise.
32437         * modules/unicase/u16-casecmp: Likewise.
32438         * modules/unicase/u16-casecoll: Likewise.
32439         * modules/unicase/u16-casefold: Likewise.
32440         * modules/unicase/u16-casexfrm: Likewise.
32441         * modules/unicase/u16-ct-casefold: Likewise.
32442         * modules/unicase/u16-ct-tolower: Likewise.
32443         * modules/unicase/u16-ct-totitle: Likewise.
32444         * modules/unicase/u16-ct-toupper: Likewise.
32445         * modules/unicase/u16-is-cased: Likewise.
32446         * modules/unicase/u16-is-casefolded: Likewise.
32447         * modules/unicase/u16-is-lowercase: Likewise.
32448         * modules/unicase/u16-is-titlecase: Likewise.
32449         * modules/unicase/u16-is-uppercase: Likewise.
32450         * modules/unicase/u16-prefix-context: Likewise.
32451         * modules/unicase/u16-suffix-context: Likewise.
32452         * modules/unicase/u16-tolower: Likewise.
32453         * modules/unicase/u16-totitle: Likewise.
32454         * modules/unicase/u16-toupper: Likewise.
32455         * modules/unicase/u32-casecmp: Likewise.
32456         * modules/unicase/u32-casecoll: Likewise.
32457         * modules/unicase/u32-casefold: Likewise.
32458         * modules/unicase/u32-casexfrm: Likewise.
32459         * modules/unicase/u32-ct-casefold: Likewise.
32460         * modules/unicase/u32-ct-tolower: Likewise.
32461         * modules/unicase/u32-ct-totitle: Likewise.
32462         * modules/unicase/u32-ct-toupper: Likewise.
32463         * modules/unicase/u32-is-cased: Likewise.
32464         * modules/unicase/u32-is-casefolded: Likewise.
32465         * modules/unicase/u32-is-lowercase: Likewise.
32466         * modules/unicase/u32-is-titlecase: Likewise.
32467         * modules/unicase/u32-is-uppercase: Likewise.
32468         * modules/unicase/u32-prefix-context: Likewise.
32469         * modules/unicase/u32-suffix-context: Likewise.
32470         * modules/unicase/u32-tolower: Likewise.
32471         * modules/unicase/u32-totitle: Likewise.
32472         * modules/unicase/u32-toupper: Likewise.
32473         * modules/unicase/ulc-casecmp: Likewise.
32474         * modules/unicase/ulc-casecoll: Likewise.
32475         * modules/unicase/ulc-casexfrm: Likewise.
32476         * modules/uniconv/u8-conv-from-enc: Likewise.
32477         * modules/uniconv/u8-conv-to-enc: Likewise.
32478         * modules/uniconv/u8-strconv-from-enc: Likewise.
32479         * modules/uniconv/u8-strconv-from-locale: Likewise.
32480         * modules/uniconv/u8-strconv-to-enc: Likewise.
32481         * modules/uniconv/u8-strconv-to-locale: Likewise.
32482         * modules/uniconv/u16-conv-from-enc: Likewise.
32483         * modules/uniconv/u16-conv-to-enc: Likewise.
32484         * modules/uniconv/u16-strconv-from-enc: Likewise.
32485         * modules/uniconv/u16-strconv-from-locale: Likewise.
32486         * modules/uniconv/u16-strconv-to-enc: Likewise.
32487         * modules/uniconv/u16-strconv-to-locale: Likewise.
32488         * modules/uniconv/u32-conv-from-enc: Likewise.
32489         * modules/uniconv/u32-conv-to-enc: Likewise.
32490         * modules/uniconv/u32-strconv-from-enc: Likewise.
32491         * modules/uniconv/u32-strconv-from-locale: Likewise.
32492         * modules/uniconv/u32-strconv-to-enc: Likewise.
32493         * modules/uniconv/u32-strconv-to-locale: Likewise.
32494         * modules/unictype/bidicategory-byname: Likewise.
32495         * modules/unictype/bidicategory-name: Likewise.
32496         * modules/unictype/bidicategory-of: Likewise.
32497         * modules/unictype/bidicategory-test: Likewise.
32498         * modules/unictype/block-list: Likewise.
32499         * modules/unictype/block-test: Likewise.
32500         * modules/unictype/category-C: Likewise.
32501         * modules/unictype/category-Cc: Likewise.
32502         * modules/unictype/category-Cf: Likewise.
32503         * modules/unictype/category-Cn: Likewise.
32504         * modules/unictype/category-Co: Likewise.
32505         * modules/unictype/category-Cs: Likewise.
32506         * modules/unictype/category-L: Likewise.
32507         * modules/unictype/category-Ll: Likewise.
32508         * modules/unictype/category-Lm: Likewise.
32509         * modules/unictype/category-Lo: Likewise.
32510         * modules/unictype/category-Lt: Likewise.
32511         * modules/unictype/category-Lu: Likewise.
32512         * modules/unictype/category-M: Likewise.
32513         * modules/unictype/category-Mc: Likewise.
32514         * modules/unictype/category-Me: Likewise.
32515         * modules/unictype/category-Mn: Likewise.
32516         * modules/unictype/category-N: Likewise.
32517         * modules/unictype/category-Nd: Likewise.
32518         * modules/unictype/category-Nl: Likewise.
32519         * modules/unictype/category-No: Likewise.
32520         * modules/unictype/category-P: Likewise.
32521         * modules/unictype/category-Pc: Likewise.
32522         * modules/unictype/category-Pd: Likewise.
32523         * modules/unictype/category-Pe: Likewise.
32524         * modules/unictype/category-Pf: Likewise.
32525         * modules/unictype/category-Pi: Likewise.
32526         * modules/unictype/category-Po: Likewise.
32527         * modules/unictype/category-Ps: Likewise.
32528         * modules/unictype/category-S: Likewise.
32529         * modules/unictype/category-Sc: Likewise.
32530         * modules/unictype/category-Sk: Likewise.
32531         * modules/unictype/category-Sm: Likewise.
32532         * modules/unictype/category-So: Likewise.
32533         * modules/unictype/category-Z: Likewise.
32534         * modules/unictype/category-Zl: Likewise.
32535         * modules/unictype/category-Zp: Likewise.
32536         * modules/unictype/category-Zs: Likewise.
32537         * modules/unictype/category-and: Likewise.
32538         * modules/unictype/category-and-not: Likewise.
32539         * modules/unictype/category-byname: Likewise.
32540         * modules/unictype/category-name: Likewise.
32541         * modules/unictype/category-none: Likewise.
32542         * modules/unictype/category-of: Likewise.
32543         * modules/unictype/category-or: Likewise.
32544         * modules/unictype/category-test: Likewise.
32545         * modules/unictype/combining-class: Likewise.
32546         * modules/unictype/ctype-alnum: Likewise.
32547         * modules/unictype/ctype-alpha: Likewise.
32548         * modules/unictype/ctype-blank: Likewise.
32549         * modules/unictype/ctype-cntrl: Likewise.
32550         * modules/unictype/ctype-digit: Likewise.
32551         * modules/unictype/ctype-graph: Likewise.
32552         * modules/unictype/ctype-lower: Likewise.
32553         * modules/unictype/ctype-print: Likewise.
32554         * modules/unictype/ctype-punct: Likewise.
32555         * modules/unictype/ctype-space: Likewise.
32556         * modules/unictype/ctype-upper: Likewise.
32557         * modules/unictype/ctype-xdigit: Likewise.
32558         * modules/unictype/decimal-digit: Likewise.
32559         * modules/unictype/digit: Likewise.
32560         * modules/unictype/mirror: Likewise.
32561         * modules/unictype/numeric: Likewise.
32562         * modules/unictype/property-alphabetic: Likewise.
32563         * modules/unictype/property-ascii-hex-digit: Likewise.
32564         * modules/unictype/property-bidi-arabic-digit: Likewise.
32565         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32566         * modules/unictype/property-bidi-block-separator: Likewise.
32567         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32568         * modules/unictype/property-bidi-common-separator: Likewise.
32569         * modules/unictype/property-bidi-control: Likewise.
32570         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32571         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32572         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32573         * modules/unictype/property-bidi-european-digit: Likewise.
32574         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32575         * modules/unictype/property-bidi-left-to-right: Likewise.
32576         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32577         * modules/unictype/property-bidi-other-neutral: Likewise.
32578         * modules/unictype/property-bidi-pdf: Likewise.
32579         * modules/unictype/property-bidi-segment-separator: Likewise.
32580         * modules/unictype/property-bidi-whitespace: Likewise.
32581         * modules/unictype/property-byname: Likewise.
32582         * modules/unictype/property-combining: Likewise.
32583         * modules/unictype/property-composite: Likewise.
32584         * modules/unictype/property-currency-symbol: Likewise.
32585         * modules/unictype/property-dash: Likewise.
32586         * modules/unictype/property-decimal-digit: Likewise.
32587         * modules/unictype/property-default-ignorable-code-point: Likewise.
32588         * modules/unictype/property-deprecated: Likewise.
32589         * modules/unictype/property-diacritic: Likewise.
32590         * modules/unictype/property-extender: Likewise.
32591         * modules/unictype/property-format-control: Likewise.
32592         * modules/unictype/property-grapheme-base: Likewise.
32593         * modules/unictype/property-grapheme-extend: Likewise.
32594         * modules/unictype/property-grapheme-link: Likewise.
32595         * modules/unictype/property-hex-digit: Likewise.
32596         * modules/unictype/property-hyphen: Likewise.
32597         * modules/unictype/property-id-continue: Likewise.
32598         * modules/unictype/property-id-start: Likewise.
32599         * modules/unictype/property-ideographic: Likewise.
32600         * modules/unictype/property-ids-binary-operator: Likewise.
32601         * modules/unictype/property-ids-trinary-operator: Likewise.
32602         * modules/unictype/property-ignorable-control: Likewise.
32603         * modules/unictype/property-iso-control: Likewise.
32604         * modules/unictype/property-join-control: Likewise.
32605         * modules/unictype/property-left-of-pair: Likewise.
32606         * modules/unictype/property-line-separator: Likewise.
32607         * modules/unictype/property-logical-order-exception: Likewise.
32608         * modules/unictype/property-lowercase: Likewise.
32609         * modules/unictype/property-math: Likewise.
32610         * modules/unictype/property-non-break: Likewise.
32611         * modules/unictype/property-not-a-character: Likewise.
32612         * modules/unictype/property-numeric: Likewise.
32613         * modules/unictype/property-other-alphabetic: Likewise.
32614         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32615         * modules/unictype/property-other-grapheme-extend: Likewise.
32616         * modules/unictype/property-other-id-continue: Likewise.
32617         * modules/unictype/property-other-id-start: Likewise.
32618         * modules/unictype/property-other-lowercase: Likewise.
32619         * modules/unictype/property-other-math: Likewise.
32620         * modules/unictype/property-other-uppercase: Likewise.
32621         * modules/unictype/property-paired-punctuation: Likewise.
32622         * modules/unictype/property-paragraph-separator: Likewise.
32623         * modules/unictype/property-pattern-syntax: Likewise.
32624         * modules/unictype/property-pattern-white-space: Likewise.
32625         * modules/unictype/property-private-use: Likewise.
32626         * modules/unictype/property-punctuation: Likewise.
32627         * modules/unictype/property-quotation-mark: Likewise.
32628         * modules/unictype/property-radical: Likewise.
32629         * modules/unictype/property-sentence-terminal: Likewise.
32630         * modules/unictype/property-soft-dotted: Likewise.
32631         * modules/unictype/property-space: Likewise.
32632         * modules/unictype/property-terminal-punctuation: Likewise.
32633         * modules/unictype/property-test: Likewise.
32634         * modules/unictype/property-titlecase: Likewise.
32635         * modules/unictype/property-unassigned-code-value: Likewise.
32636         * modules/unictype/property-unified-ideograph: Likewise.
32637         * modules/unictype/property-uppercase: Likewise.
32638         * modules/unictype/property-variation-selector: Likewise.
32639         * modules/unictype/property-white-space: Likewise.
32640         * modules/unictype/property-xid-continue: Likewise.
32641         * modules/unictype/property-xid-start: Likewise.
32642         * modules/unictype/property-zero-width: Likewise.
32643         * modules/unictype/scripts: Likewise.
32644         * modules/unictype/syntax-c-ident: Likewise.
32645         * modules/unictype/syntax-c-whitespace: Likewise.
32646         * modules/unictype/syntax-java-ident: Likewise.
32647         * modules/unictype/syntax-java-whitespace: Likewise.
32648         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32649         * modules/unilbrk/u8-width-linebreaks: Likewise.
32650         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32651         * modules/unilbrk/u16-width-linebreaks: Likewise.
32652         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32653         * modules/unilbrk/u32-width-linebreaks: Likewise.
32654         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32655         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32656         * modules/uniname/uniname: Likewise.
32657         * modules/uninorm/canonical-decomposition: Likewise.
32658         * modules/uninorm/composition: Likewise.
32659         * modules/uninorm/decomposing-form: Likewise.
32660         * modules/uninorm/decomposition: Likewise.
32661         * modules/uninorm/filter: Likewise.
32662         * modules/uninorm/nfc: Likewise.
32663         * modules/uninorm/nfd: Likewise.
32664         * modules/uninorm/nfkc: Likewise.
32665         * modules/uninorm/nfkd: Likewise.
32666         * modules/uninorm/u8-normalize: Likewise.
32667         * modules/uninorm/u8-normcmp: Likewise.
32668         * modules/uninorm/u8-normcoll: Likewise.
32669         * modules/uninorm/u8-normxfrm: Likewise.
32670         * modules/uninorm/u16-normalize: Likewise.
32671         * modules/uninorm/u16-normcmp: Likewise.
32672         * modules/uninorm/u16-normcoll: Likewise.
32673         * modules/uninorm/u16-normxfrm: Likewise.
32674         * modules/uninorm/u32-normalize: Likewise.
32675         * modules/uninorm/u32-normcmp: Likewise.
32676         * modules/uninorm/u32-normcoll: Likewise.
32677         * modules/uninorm/u32-normxfrm: Likewise.
32678         * modules/unistdio/u8-asnprintf: Likewise.
32679         * modules/unistdio/u8-asprintf: Likewise.
32680         * modules/unistdio/u8-snprintf: Likewise.
32681         * modules/unistdio/u8-sprintf: Likewise.
32682         * modules/unistdio/u8-u8-asnprintf: Likewise.
32683         * modules/unistdio/u8-u8-asprintf: Likewise.
32684         * modules/unistdio/u8-u8-snprintf: Likewise.
32685         * modules/unistdio/u8-u8-sprintf: Likewise.
32686         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32687         * modules/unistdio/u8-u8-vasprintf: Likewise.
32688         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32689         * modules/unistdio/u8-u8-vsprintf: Likewise.
32690         * modules/unistdio/u8-vasnprintf: Likewise.
32691         * modules/unistdio/u8-vasprintf: Likewise.
32692         * modules/unistdio/u8-vsnprintf: Likewise.
32693         * modules/unistdio/u8-vsprintf: Likewise.
32694         * modules/unistdio/u16-asnprintf: Likewise.
32695         * modules/unistdio/u16-asprintf: Likewise.
32696         * modules/unistdio/u16-snprintf: Likewise.
32697         * modules/unistdio/u16-sprintf: Likewise.
32698         * modules/unistdio/u16-u16-asnprintf: Likewise.
32699         * modules/unistdio/u16-u16-asprintf: Likewise.
32700         * modules/unistdio/u16-u16-snprintf: Likewise.
32701         * modules/unistdio/u16-u16-sprintf: Likewise.
32702         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32703         * modules/unistdio/u16-u16-vasprintf: Likewise.
32704         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32705         * modules/unistdio/u16-u16-vsprintf: Likewise.
32706         * modules/unistdio/u16-vasnprintf: Likewise.
32707         * modules/unistdio/u16-vasprintf: Likewise.
32708         * modules/unistdio/u16-vsnprintf: Likewise.
32709         * modules/unistdio/u16-vsprintf: Likewise.
32710         * modules/unistdio/u32-asnprintf: Likewise.
32711         * modules/unistdio/u32-asprintf: Likewise.
32712         * modules/unistdio/u32-snprintf: Likewise.
32713         * modules/unistdio/u32-sprintf: Likewise.
32714         * modules/unistdio/u32-u32-asnprintf: Likewise.
32715         * modules/unistdio/u32-u32-asprintf: Likewise.
32716         * modules/unistdio/u32-u32-snprintf: Likewise.
32717         * modules/unistdio/u32-u32-sprintf: Likewise.
32718         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32719         * modules/unistdio/u32-u32-vasprintf: Likewise.
32720         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32721         * modules/unistdio/u32-u32-vsprintf: Likewise.
32722         * modules/unistdio/u32-vasnprintf: Likewise.
32723         * modules/unistdio/u32-vasprintf: Likewise.
32724         * modules/unistdio/u32-vsnprintf: Likewise.
32725         * modules/unistdio/u32-vsprintf: Likewise.
32726         * modules/unistdio/ulc-asnprintf: Likewise.
32727         * modules/unistdio/ulc-asprintf: Likewise.
32728         * modules/unistdio/ulc-fprintf: Likewise.
32729         * modules/unistdio/ulc-snprintf: Likewise.
32730         * modules/unistdio/ulc-sprintf: Likewise.
32731         * modules/unistdio/ulc-vasnprintf: Likewise.
32732         * modules/unistdio/ulc-vasprintf: Likewise.
32733         * modules/unistdio/ulc-vfprintf: Likewise.
32734         * modules/unistdio/ulc-vsnprintf: Likewise.
32735         * modules/unistdio/ulc-vsprintf: Likewise.
32736         * modules/unistr/u8-check: Likewise.
32737         * modules/unistr/u8-chr: Likewise.
32738         * modules/unistr/u8-cmp: Likewise.
32739         * modules/unistr/u8-cmp2: Likewise.
32740         * modules/unistr/u8-cpy: Likewise.
32741         * modules/unistr/u8-cpy-alloc: Likewise.
32742         * modules/unistr/u8-endswith: Likewise.
32743         * modules/unistr/u8-mblen: Likewise.
32744         * modules/unistr/u8-mbsnlen: Likewise.
32745         * modules/unistr/u8-mbtouc: Likewise.
32746         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32747         * modules/unistr/u8-mbtoucr: Likewise.
32748         * modules/unistr/u8-move: Likewise.
32749         * modules/unistr/u8-next: Likewise.
32750         * modules/unistr/u8-prev: Likewise.
32751         * modules/unistr/u8-set: Likewise.
32752         * modules/unistr/u8-startswith: Likewise.
32753         * modules/unistr/u8-stpcpy: Likewise.
32754         * modules/unistr/u8-stpncpy: Likewise.
32755         * modules/unistr/u8-strcat: Likewise.
32756         * modules/unistr/u8-strchr: Likewise.
32757         * modules/unistr/u8-strcmp: Likewise.
32758         * modules/unistr/u8-strcoll: Likewise.
32759         * modules/unistr/u8-strcpy: Likewise.
32760         * modules/unistr/u8-strcspn: Likewise.
32761         * modules/unistr/u8-strdup: Likewise.
32762         * modules/unistr/u8-strlen: Likewise.
32763         * modules/unistr/u8-strmblen: Likewise.
32764         * modules/unistr/u8-strmbtouc: Likewise.
32765         * modules/unistr/u8-strncat: Likewise.
32766         * modules/unistr/u8-strncmp: Likewise.
32767         * modules/unistr/u8-strncpy: Likewise.
32768         * modules/unistr/u8-strnlen: Likewise.
32769         * modules/unistr/u8-strpbrk: Likewise.
32770         * modules/unistr/u8-strrchr: Likewise.
32771         * modules/unistr/u8-strspn: Likewise.
32772         * modules/unistr/u8-strstr: Likewise.
32773         * modules/unistr/u8-strtok: Likewise.
32774         * modules/unistr/u8-to-u16: Likewise.
32775         * modules/unistr/u8-to-u32: Likewise.
32776         * modules/unistr/u8-uctomb: Likewise.
32777         * modules/unistr/u16-check: Likewise.
32778         * modules/unistr/u16-chr: Likewise.
32779         * modules/unistr/u16-cmp: Likewise.
32780         * modules/unistr/u16-cmp2: Likewise.
32781         * modules/unistr/u16-cpy: Likewise.
32782         * modules/unistr/u16-cpy-alloc: Likewise.
32783         * modules/unistr/u16-endswith: Likewise.
32784         * modules/unistr/u16-mblen: Likewise.
32785         * modules/unistr/u16-mbsnlen: Likewise.
32786         * modules/unistr/u16-mbtouc: Likewise.
32787         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32788         * modules/unistr/u16-mbtoucr: Likewise.
32789         * modules/unistr/u16-move: Likewise.
32790         * modules/unistr/u16-next: Likewise.
32791         * modules/unistr/u16-prev: Likewise.
32792         * modules/unistr/u16-set: Likewise.
32793         * modules/unistr/u16-startswith: Likewise.
32794         * modules/unistr/u16-stpcpy: Likewise.
32795         * modules/unistr/u16-stpncpy: Likewise.
32796         * modules/unistr/u16-strcat: Likewise.
32797         * modules/unistr/u16-strchr: Likewise.
32798         * modules/unistr/u16-strcmp: Likewise.
32799         * modules/unistr/u16-strcoll: Likewise.
32800         * modules/unistr/u16-strcpy: Likewise.
32801         * modules/unistr/u16-strcspn: Likewise.
32802         * modules/unistr/u16-strdup: Likewise.
32803         * modules/unistr/u16-strlen: Likewise.
32804         * modules/unistr/u16-strmblen: Likewise.
32805         * modules/unistr/u16-strmbtouc: Likewise.
32806         * modules/unistr/u16-strncat: Likewise.
32807         * modules/unistr/u16-strncmp: Likewise.
32808         * modules/unistr/u16-strncpy: Likewise.
32809         * modules/unistr/u16-strnlen: Likewise.
32810         * modules/unistr/u16-strpbrk: Likewise.
32811         * modules/unistr/u16-strrchr: Likewise.
32812         * modules/unistr/u16-strspn: Likewise.
32813         * modules/unistr/u16-strstr: Likewise.
32814         * modules/unistr/u16-strtok: Likewise.
32815         * modules/unistr/u16-to-u32: Likewise.
32816         * modules/unistr/u16-to-u8: Likewise.
32817         * modules/unistr/u16-uctomb: Likewise.
32818         * modules/unistr/u32-check: Likewise.
32819         * modules/unistr/u32-chr: Likewise.
32820         * modules/unistr/u32-cmp: Likewise.
32821         * modules/unistr/u32-cmp2: Likewise.
32822         * modules/unistr/u32-cpy: Likewise.
32823         * modules/unistr/u32-cpy-alloc: Likewise.
32824         * modules/unistr/u32-endswith: Likewise.
32825         * modules/unistr/u32-mblen: Likewise.
32826         * modules/unistr/u32-mbsnlen: Likewise.
32827         * modules/unistr/u32-mbtouc: Likewise.
32828         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32829         * modules/unistr/u32-mbtoucr: Likewise.
32830         * modules/unistr/u32-move: Likewise.
32831         * modules/unistr/u32-next: Likewise.
32832         * modules/unistr/u32-prev: Likewise.
32833         * modules/unistr/u32-set: Likewise.
32834         * modules/unistr/u32-startswith: Likewise.
32835         * modules/unistr/u32-stpcpy: Likewise.
32836         * modules/unistr/u32-stpncpy: Likewise.
32837         * modules/unistr/u32-strcat: Likewise.
32838         * modules/unistr/u32-strchr: Likewise.
32839         * modules/unistr/u32-strcmp: Likewise.
32840         * modules/unistr/u32-strcoll: Likewise.
32841         * modules/unistr/u32-strcpy: Likewise.
32842         * modules/unistr/u32-strcspn: Likewise.
32843         * modules/unistr/u32-strdup: Likewise.
32844         * modules/unistr/u32-strlen: Likewise.
32845         * modules/unistr/u32-strmblen: Likewise.
32846         * modules/unistr/u32-strmbtouc: Likewise.
32847         * modules/unistr/u32-strncat: Likewise.
32848         * modules/unistr/u32-strncmp: Likewise.
32849         * modules/unistr/u32-strncpy: Likewise.
32850         * modules/unistr/u32-strnlen: Likewise.
32851         * modules/unistr/u32-strpbrk: Likewise.
32852         * modules/unistr/u32-strrchr: Likewise.
32853         * modules/unistr/u32-strspn: Likewise.
32854         * modules/unistr/u32-strstr: Likewise.
32855         * modules/unistr/u32-strtok: Likewise.
32856         * modules/unistr/u32-to-u16: Likewise.
32857         * modules/unistr/u32-to-u8: Likewise.
32858         * modules/unistr/u32-uctomb: Likewise.
32859         * modules/uniwbrk/u8-wordbreaks: Likewise.
32860         * modules/uniwbrk/u16-wordbreaks: Likewise.
32861         * modules/uniwbrk/u32-wordbreaks: Likewise.
32862         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32863         * modules/uniwbrk/wordbreak-property: Likewise.
32864         * modules/uniwidth/u8-strwidth: Likewise.
32865         * modules/uniwidth/u8-width: Likewise.
32866         * modules/uniwidth/u16-strwidth: Likewise.
32867         * modules/uniwidth/u16-width: Likewise.
32868         * modules/uniwidth/u32-strwidth: Likewise.
32869         * modules/uniwidth/u32-width: Likewise.
32870         * modules/uniwidth/width: Likewise.
32871         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32872         with $(LIBUNISTRING).
32873         * modules/unicase/ignorable-tests: Likewise.
32874         * modules/unicase/locale-language-tests: Likewise.
32875         * modules/unicase/tolower-tests: Likewise.
32876         * modules/unicase/totitle-tests: Likewise.
32877         * modules/unicase/toupper-tests: Likewise.
32878         * modules/unicase/u8-casecmp-tests: Likewise.
32879         * modules/unicase/u8-casecoll-tests: Likewise.
32880         * modules/unicase/u8-casefold-tests: Likewise.
32881         * modules/unicase/u8-is-cased-tests: Likewise.
32882         * modules/unicase/u8-is-casefolded-tests: Likewise.
32883         * modules/unicase/u8-is-lowercase-tests: Likewise.
32884         * modules/unicase/u8-is-titlecase-tests: Likewise.
32885         * modules/unicase/u8-is-uppercase-tests: Likewise.
32886         * modules/unicase/u8-tolower-tests: Likewise.
32887         * modules/unicase/u8-totitle-tests: Likewise.
32888         * modules/unicase/u8-toupper-tests: Likewise.
32889         * modules/unicase/u16-casecmp-tests: Likewise.
32890         * modules/unicase/u16-casecoll-tests: Likewise.
32891         * modules/unicase/u16-casefold-tests: Likewise.
32892         * modules/unicase/u16-is-cased-tests: Likewise.
32893         * modules/unicase/u16-is-casefolded-tests: Likewise.
32894         * modules/unicase/u16-is-lowercase-tests: Likewise.
32895         * modules/unicase/u16-is-titlecase-tests: Likewise.
32896         * modules/unicase/u16-is-uppercase-tests: Likewise.
32897         * modules/unicase/u16-tolower-tests: Likewise.
32898         * modules/unicase/u16-totitle-tests: Likewise.
32899         * modules/unicase/u16-toupper-tests: Likewise.
32900         * modules/unicase/u32-casecmp-tests: Likewise.
32901         * modules/unicase/u32-casecoll-tests: Likewise.
32902         * modules/unicase/u32-casefold-tests: Likewise.
32903         * modules/unicase/u32-is-cased-tests: Likewise.
32904         * modules/unicase/u32-is-casefolded-tests: Likewise.
32905         * modules/unicase/u32-is-lowercase-tests: Likewise.
32906         * modules/unicase/u32-is-titlecase-tests: Likewise.
32907         * modules/unicase/u32-is-uppercase-tests: Likewise.
32908         * modules/unicase/u32-tolower-tests: Likewise.
32909         * modules/unicase/u32-totitle-tests: Likewise.
32910         * modules/unicase/u32-toupper-tests: Likewise.
32911         * modules/unicase/ulc-casecmp-tests: Likewise.
32912         * modules/unicase/ulc-casecoll-tests: Likewise.
32913         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32914         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32915         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32916         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32917         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32918         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32919         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32920         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32921         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32922         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32923         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32924         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32925         * modules/unictype/bidicategory-byname-tests: Likewise.
32926         * modules/unictype/bidicategory-name-tests: Likewise.
32927         * modules/unictype/bidicategory-of-tests: Likewise.
32928         * modules/unictype/bidicategory-test-tests: Likewise.
32929         * modules/unictype/block-list-tests: Likewise.
32930         * modules/unictype/block-of-tests: Likewise.
32931         * modules/unictype/block-test-tests: Likewise.
32932         * modules/unictype/category-C-tests: Likewise.
32933         * modules/unictype/category-Cc-tests: Likewise.
32934         * modules/unictype/category-Cf-tests: Likewise.
32935         * modules/unictype/category-Cn-tests: Likewise.
32936         * modules/unictype/category-Co-tests: Likewise.
32937         * modules/unictype/category-Cs-tests: Likewise.
32938         * modules/unictype/category-L-tests: Likewise.
32939         * modules/unictype/category-Ll-tests: Likewise.
32940         * modules/unictype/category-Lm-tests: Likewise.
32941         * modules/unictype/category-Lo-tests: Likewise.
32942         * modules/unictype/category-Lt-tests: Likewise.
32943         * modules/unictype/category-Lu-tests: Likewise.
32944         * modules/unictype/category-M-tests: Likewise.
32945         * modules/unictype/category-Mc-tests: Likewise.
32946         * modules/unictype/category-Me-tests: Likewise.
32947         * modules/unictype/category-Mn-tests: Likewise.
32948         * modules/unictype/category-N-tests: Likewise.
32949         * modules/unictype/category-Nd-tests: Likewise.
32950         * modules/unictype/category-Nl-tests: Likewise.
32951         * modules/unictype/category-No-tests: Likewise.
32952         * modules/unictype/category-P-tests: Likewise.
32953         * modules/unictype/category-Pc-tests: Likewise.
32954         * modules/unictype/category-Pd-tests: Likewise.
32955         * modules/unictype/category-Pe-tests: Likewise.
32956         * modules/unictype/category-Pf-tests: Likewise.
32957         * modules/unictype/category-Pi-tests: Likewise.
32958         * modules/unictype/category-Po-tests: Likewise.
32959         * modules/unictype/category-Ps-tests: Likewise.
32960         * modules/unictype/category-S-tests: Likewise.
32961         * modules/unictype/category-Sc-tests: Likewise.
32962         * modules/unictype/category-Sk-tests: Likewise.
32963         * modules/unictype/category-Sm-tests: Likewise.
32964         * modules/unictype/category-So-tests: Likewise.
32965         * modules/unictype/category-Z-tests: Likewise.
32966         * modules/unictype/category-Zl-tests: Likewise.
32967         * modules/unictype/category-Zp-tests: Likewise.
32968         * modules/unictype/category-Zs-tests: Likewise.
32969         * modules/unictype/category-and-not-tests: Likewise.
32970         * modules/unictype/category-and-tests: Likewise.
32971         * modules/unictype/category-byname-tests: Likewise.
32972         * modules/unictype/category-name-tests: Likewise.
32973         * modules/unictype/category-none-tests: Likewise.
32974         * modules/unictype/category-of-tests: Likewise.
32975         * modules/unictype/category-or-tests: Likewise.
32976         * modules/unictype/category-test-withtable-tests: Likewise.
32977         * modules/unictype/combining-class-tests: Likewise.
32978         * modules/unictype/ctype-alnum-tests: Likewise.
32979         * modules/unictype/ctype-alpha-tests: Likewise.
32980         * modules/unictype/ctype-blank-tests: Likewise.
32981         * modules/unictype/ctype-cntrl-tests: Likewise.
32982         * modules/unictype/ctype-digit-tests: Likewise.
32983         * modules/unictype/ctype-graph-tests: Likewise.
32984         * modules/unictype/ctype-lower-tests: Likewise.
32985         * modules/unictype/ctype-print-tests: Likewise.
32986         * modules/unictype/ctype-punct-tests: Likewise.
32987         * modules/unictype/ctype-space-tests: Likewise.
32988         * modules/unictype/ctype-upper-tests: Likewise.
32989         * modules/unictype/ctype-xdigit-tests: Likewise.
32990         * modules/unictype/decimal-digit-tests: Likewise.
32991         * modules/unictype/digit-tests: Likewise.
32992         * modules/unictype/mirror-tests: Likewise.
32993         * modules/unictype/numeric-tests: Likewise.
32994         * modules/unictype/property-alphabetic-tests: Likewise.
32995         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32996         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32997         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32998         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32999         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33000         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33001         * modules/unictype/property-bidi-control-tests: Likewise.
33002         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33003         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33004         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33005         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33006         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33007         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33008         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33009         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33010         * modules/unictype/property-bidi-pdf-tests: Likewise.
33011         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33012         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33013         * modules/unictype/property-byname-tests: Likewise.
33014         * modules/unictype/property-combining-tests: Likewise.
33015         * modules/unictype/property-composite-tests: Likewise.
33016         * modules/unictype/property-currency-symbol-tests: Likewise.
33017         * modules/unictype/property-dash-tests: Likewise.
33018         * modules/unictype/property-decimal-digit-tests: Likewise.
33019         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33020         * modules/unictype/property-deprecated-tests: Likewise.
33021         * modules/unictype/property-diacritic-tests: Likewise.
33022         * modules/unictype/property-extender-tests: Likewise.
33023         * modules/unictype/property-format-control-tests: Likewise.
33024         * modules/unictype/property-grapheme-base-tests: Likewise.
33025         * modules/unictype/property-grapheme-extend-tests: Likewise.
33026         * modules/unictype/property-grapheme-link-tests: Likewise.
33027         * modules/unictype/property-hex-digit-tests: Likewise.
33028         * modules/unictype/property-hyphen-tests: Likewise.
33029         * modules/unictype/property-id-continue-tests: Likewise.
33030         * modules/unictype/property-id-start-tests: Likewise.
33031         * modules/unictype/property-ideographic-tests: Likewise.
33032         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33033         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33034         * modules/unictype/property-ignorable-control-tests: Likewise.
33035         * modules/unictype/property-iso-control-tests: Likewise.
33036         * modules/unictype/property-join-control-tests: Likewise.
33037         * modules/unictype/property-left-of-pair-tests: Likewise.
33038         * modules/unictype/property-line-separator-tests: Likewise.
33039         * modules/unictype/property-logical-order-exception-tests: Likewise.
33040         * modules/unictype/property-lowercase-tests: Likewise.
33041         * modules/unictype/property-math-tests: Likewise.
33042         * modules/unictype/property-non-break-tests: Likewise.
33043         * modules/unictype/property-not-a-character-tests: Likewise.
33044         * modules/unictype/property-numeric-tests: Likewise.
33045         * modules/unictype/property-other-alphabetic-tests: Likewise.
33046         * modules/unictype/property-other-default-ignorable-code-point-tests:
33047         Likewise.
33048         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33049         * modules/unictype/property-other-id-continue-tests: Likewise.
33050         * modules/unictype/property-other-id-start-tests: Likewise.
33051         * modules/unictype/property-other-lowercase-tests: Likewise.
33052         * modules/unictype/property-other-math-tests: Likewise.
33053         * modules/unictype/property-other-uppercase-tests: Likewise.
33054         * modules/unictype/property-paired-punctuation-tests: Likewise.
33055         * modules/unictype/property-paragraph-separator-tests: Likewise.
33056         * modules/unictype/property-pattern-syntax-tests: Likewise.
33057         * modules/unictype/property-pattern-white-space-tests: Likewise.
33058         * modules/unictype/property-private-use-tests: Likewise.
33059         * modules/unictype/property-punctuation-tests: Likewise.
33060         * modules/unictype/property-quotation-mark-tests: Likewise.
33061         * modules/unictype/property-radical-tests: Likewise.
33062         * modules/unictype/property-sentence-terminal-tests: Likewise.
33063         * modules/unictype/property-soft-dotted-tests: Likewise.
33064         * modules/unictype/property-space-tests: Likewise.
33065         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33066         * modules/unictype/property-test-tests: Likewise.
33067         * modules/unictype/property-titlecase-tests: Likewise.
33068         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33069         * modules/unictype/property-unified-ideograph-tests: Likewise.
33070         * modules/unictype/property-uppercase-tests: Likewise.
33071         * modules/unictype/property-variation-selector-tests: Likewise.
33072         * modules/unictype/property-white-space-tests: Likewise.
33073         * modules/unictype/property-xid-continue-tests: Likewise.
33074         * modules/unictype/property-xid-start-tests: Likewise.
33075         * modules/unictype/property-zero-width-tests: Likewise.
33076         * modules/unictype/scripts-tests: Likewise.
33077         * modules/unictype/syntax-c-ident-tests: Likewise.
33078         * modules/unictype/syntax-c-whitespace-tests: Likewise.
33079         * modules/unictype/syntax-java-ident-tests: Likewise.
33080         * modules/unictype/syntax-java-whitespace-tests: Likewise.
33081         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
33082         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33083         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33084         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33085         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33086         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33087         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33088         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33089         * modules/uniname/uniname-tests: Likewise.
33090         * modules/uninorm/canonical-decomposition-tests: Likewise.
33091         * modules/uninorm/compat-decomposition-tests: Likewise.
33092         * modules/uninorm/composition-tests: Likewise.
33093         * modules/uninorm/decomposing-form-tests: Likewise.
33094         * modules/uninorm/decomposition-tests: Likewise.
33095         * modules/uninorm/filter-tests: Likewise.
33096         * modules/uninorm/nfc-tests: Likewise.
33097         * modules/uninorm/nfd-tests: Likewise.
33098         * modules/uninorm/nfkc-tests: Likewise.
33099         * modules/uninorm/nfkd-tests: Likewise.
33100         * modules/uninorm/u8-normcmp-tests: Likewise.
33101         * modules/uninorm/u8-normcoll-tests: Likewise.
33102         * modules/uninorm/u16-normcmp-tests: Likewise.
33103         * modules/uninorm/u16-normcoll-tests: Likewise.
33104         * modules/uninorm/u32-normcmp-tests: Likewise.
33105         * modules/uninorm/u32-normcoll-tests: Likewise.
33106         * modules/unistdio/u8-asnprintf-tests: Likewise.
33107         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33108         * modules/unistdio/u8-vasprintf-tests: Likewise.
33109         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33110         * modules/unistdio/u8-vsprintf-tests: Likewise.
33111         * modules/unistdio/u16-asnprintf-tests: Likewise.
33112         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33113         * modules/unistdio/u16-vasprintf-tests: Likewise.
33114         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33115         * modules/unistdio/u16-vsprintf-tests: Likewise.
33116         * modules/unistdio/u32-asnprintf-tests: Likewise.
33117         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33118         * modules/unistdio/u32-vasprintf-tests: Likewise.
33119         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33120         * modules/unistdio/u32-vsprintf-tests: Likewise.
33121         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33122         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33123         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33124         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33125         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33126         * modules/unistr/u8-check-tests: Likewise.
33127         * modules/unistr/u8-chr-tests: Likewise.
33128         * modules/unistr/u8-cmp-tests: Likewise.
33129         * modules/unistr/u8-cmp2-tests: Likewise.
33130         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33131         * modules/unistr/u8-cpy-tests: Likewise.
33132         * modules/unistr/u8-mblen-tests: Likewise.
33133         * modules/unistr/u8-mbsnlen-tests: Likewise.
33134         * modules/unistr/u8-mbtouc-tests: Likewise.
33135         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33136         * modules/unistr/u8-mbtoucr-tests: Likewise.
33137         * modules/unistr/u8-move-tests: Likewise.
33138         * modules/unistr/u8-next-tests: Likewise.
33139         * modules/unistr/u8-prev-tests: Likewise.
33140         * modules/unistr/u8-set-tests: Likewise.
33141         * modules/unistr/u8-stpcpy-tests: Likewise.
33142         * modules/unistr/u8-stpncpy-tests: Likewise.
33143         * modules/unistr/u8-strcat-tests: Likewise.
33144         * modules/unistr/u8-strcmp-tests: Likewise.
33145         * modules/unistr/u8-strcoll-tests: Likewise.
33146         * modules/unistr/u8-strcpy-tests: Likewise.
33147         * modules/unistr/u8-strdup-tests: Likewise.
33148         * modules/unistr/u8-strlen-tests: Likewise.
33149         * modules/unistr/u8-strmblen-tests: Likewise.
33150         * modules/unistr/u8-strmbtouc-tests: Likewise.
33151         * modules/unistr/u8-strncat-tests: Likewise.
33152         * modules/unistr/u8-strncmp-tests: Likewise.
33153         * modules/unistr/u8-strncpy-tests: Likewise.
33154         * modules/unistr/u8-strnlen-tests: Likewise.
33155         * modules/unistr/u8-to-u16-tests: Likewise.
33156         * modules/unistr/u8-to-u32-tests: Likewise.
33157         * modules/unistr/u8-uctomb-tests: Likewise.
33158         * modules/unistr/u16-check-tests: Likewise.
33159         * modules/unistr/u16-chr-tests: Likewise.
33160         * modules/unistr/u16-cmp-tests: Likewise.
33161         * modules/unistr/u16-cmp2-tests: Likewise.
33162         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33163         * modules/unistr/u16-cpy-tests: Likewise.
33164         * modules/unistr/u16-mblen-tests: Likewise.
33165         * modules/unistr/u16-mbsnlen-tests: Likewise.
33166         * modules/unistr/u16-mbtouc-tests: Likewise.
33167         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33168         * modules/unistr/u16-mbtoucr-tests: Likewise.
33169         * modules/unistr/u16-move-tests: Likewise.
33170         * modules/unistr/u16-next-tests: Likewise.
33171         * modules/unistr/u16-prev-tests: Likewise.
33172         * modules/unistr/u16-set-tests: Likewise.
33173         * modules/unistr/u16-stpcpy-tests: Likewise.
33174         * modules/unistr/u16-stpncpy-tests: Likewise.
33175         * modules/unistr/u16-strcat-tests: Likewise.
33176         * modules/unistr/u16-strcmp-tests: Likewise.
33177         * modules/unistr/u16-strcoll-tests: Likewise.
33178         * modules/unistr/u16-strcpy-tests: Likewise.
33179         * modules/unistr/u16-strdup-tests: Likewise.
33180         * modules/unistr/u16-strlen-tests: Likewise.
33181         * modules/unistr/u16-strmblen-tests: Likewise.
33182         * modules/unistr/u16-strmbtouc-tests: Likewise.
33183         * modules/unistr/u16-strncat-tests: Likewise.
33184         * modules/unistr/u16-strncmp-tests: Likewise.
33185         * modules/unistr/u16-strncpy-tests: Likewise.
33186         * modules/unistr/u16-strnlen-tests: Likewise.
33187         * modules/unistr/u16-to-u32-tests: Likewise.
33188         * modules/unistr/u16-to-u8-tests: Likewise.
33189         * modules/unistr/u16-uctomb-tests: Likewise.
33190         * modules/unistr/u32-check-tests: Likewise.
33191         * modules/unistr/u32-chr-tests: Likewise.
33192         * modules/unistr/u32-cmp-tests: Likewise.
33193         * modules/unistr/u32-cmp2-tests: Likewise.
33194         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33195         * modules/unistr/u32-cpy-tests: Likewise.
33196         * modules/unistr/u32-mblen-tests: Likewise.
33197         * modules/unistr/u32-mbsnlen-tests: Likewise.
33198         * modules/unistr/u32-mbtouc-tests: Likewise.
33199         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33200         * modules/unistr/u32-mbtoucr-tests: Likewise.
33201         * modules/unistr/u32-move-tests: Likewise.
33202         * modules/unistr/u32-next-tests: Likewise.
33203         * modules/unistr/u32-prev-tests: Likewise.
33204         * modules/unistr/u32-set-tests: Likewise.
33205         * modules/unistr/u32-stpcpy-tests: Likewise.
33206         * modules/unistr/u32-stpncpy-tests: Likewise.
33207         * modules/unistr/u32-strcat-tests: Likewise.
33208         * modules/unistr/u32-strcmp-tests: Likewise.
33209         * modules/unistr/u32-strcoll-tests: Likewise.
33210         * modules/unistr/u32-strcpy-tests: Likewise.
33211         * modules/unistr/u32-strdup-tests: Likewise.
33212         * modules/unistr/u32-strlen-tests: Likewise.
33213         * modules/unistr/u32-strmblen-tests: Likewise.
33214         * modules/unistr/u32-strmbtouc-tests: Likewise.
33215         * modules/unistr/u32-strncat-tests: Likewise.
33216         * modules/unistr/u32-strncmp-tests: Likewise.
33217         * modules/unistr/u32-strncpy-tests: Likewise.
33218         * modules/unistr/u32-strnlen-tests: Likewise.
33219         * modules/unistr/u32-to-u16-tests: Likewise.
33220         * modules/unistr/u32-to-u8-tests: Likewise.
33221         * modules/unistr/u32-uctomb-tests: Likewise.
33222         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33223         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33224         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33225         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33226         * modules/uniwidth/u8-strwidth-tests: Likewise.
33227         * modules/uniwidth/u8-width-tests: Likewise.
33228         * modules/uniwidth/u16-strwidth-tests: Likewise.
33229         * modules/uniwidth/u16-width-tests: Likewise.
33230         * modules/uniwidth/u32-strwidth-tests: Likewise.
33231         * modules/uniwidth/u32-width-tests: Likewise.
33232         * modules/uniwidth/width-tests: Likewise.
33233
33234 2010-05-18  Richard Jones  <rjones@redhat.com>
33235
33236         doc: users.txt: list hivex
33237         * users.txt: Add hivex.
33238
33239 2010-05-18  Richard Jones  <rjones@redhat.com>
33240
33241         doc: users.txt: list febootstrap
33242         * users.txt: Add febootstrap.
33243
33244 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33245
33246         bootstrap: fix an error when gnulib is not used as a git submodule
33247         * build-aux/bootstrap (gnulib_path): If its length is zero then
33248         assign "gnulib" to it.
33249         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33250
33251 2010-05-16  Bruno Haible  <bruno@clisp.org>
33252
33253         Avoid autoconf warnings about AM_ICONV.
33254         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33255         2.64.
33256
33257 2010-05-16  Bruno Haible  <bruno@clisp.org>
33258
33259         absolute-header: Make the macro usable in more situations.
33260         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33261         from gl_ABSOLUTE_HEADER.
33262         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33263
33264 2010-05-16  James Youngman  <jay@gnu.org>
33265
33266         doc: update users.txt
33267         * users.txt: Add CSSC.
33268
33269 2010-05-16  Jim Meyering  <meyering@redhat.com>
33270
33271         init.sh: fix an error in the previous change; add more comments
33272         * tests/init.sh: Compare exit code in loop against 9, not 2.
33273         Patch by Bruno Haible.
33274         Make the two tests more similar by adding an empty "then" clause.
33275         Add comments.
33276
33277         init.sh: avoid unnecessary shell re-exec
33278         * tests/init.sh: Improve the re-exec-required check to first test the
33279         current shell.  If it passes the test, do not search for a shell that
33280         does pass, and do not re-exec.  This test is particularly contorted to
33281         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33282         of $(...) evokes a syntax error and causes immediate shell exit with
33283         status 2.  Bruno Haible reported that the re-exec made it impossible
33284         to single-step through any init.sh-using script.
33285
33286 2010-05-16  Bruno Haible  <bruno@clisp.org>
33287
33288         Fix collision between gnulib's and libintl's printf replacements.
33289         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33290         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33291         (printf): When using GNU C, map the __printf__ function to rpl_printf
33292         via __asm__. When not using GNU C, define rpl_printf instead of
33293         __printf__.
33294         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33295         commit.
33296         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33297         commit.
33298         * m4/asm-underscore.m4: New file.
33299         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33300         * modules/stdio (Files): Add m4/asm-underscore.m4.
33301         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33302         Reported by Ben Pfaff.
33303
33304 2010-05-16  Bruno Haible  <bruno@clisp.org>
33305
33306         verify: Avoid skipping the test on openSUSE 11.0.
33307         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33308
33309 2010-05-13  Bruno Haible  <bruno@clisp.org>
33310
33311         Avoid useless warnings from G++.
33312         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33313         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33314         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33315
33316 2010-05-11  Jim Meyering  <meyering@redhat.com>
33317
33318         maint.mk: tweak preceding change
33319         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33320         regexps tighter by anchoring at EOL, and make the new group "shy"
33321         for slightly decreased overhead.
33322
33323 2010-05-11  Eric Blake  <eblake@redhat.com>
33324
33325         maint.mk: gnulib doesn't guarantee NSIG
33326         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33327
33328 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33329
33330         test-pwrite.c: Remove unused variable declaration.
33331         * tests/test-pwrite.c (main): Remove read_buf declaration.
33332
33333         Remove useless test-pwrite.sh file.
33334         * tests/test-pwrite.sh: Delete file.
33335         * modules/pwrite-tests: Remove references.
33336         Reported by Bruno Haible.
33337
33338 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33339
33340         init.sh: fix a typo
33341         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33342
33343 2010-05-10  Jim Meyering  <meyering@redhat.com>
33344
33345         maint.mk: avoid using a temporary file in the always-defined-macros check
33346         * top/maint.mk (.re-defmac): Remove rule.
33347         (gl_trap_): Remove definition.
33348         (sc_prohibit_always-defined_macros): Rewrite not to create and
33349         depend on a temporary file.  Instead, depend on GNU grep's ability
33350         to read a list of regular expressions from stdin when given "-f -".
33351
33352 2010-05-09  Bruno Haible  <bruno@clisp.org>
33353
33354         Update to GNU gettext 0.18, part 1.
33355         * m4/gettext.m4: Update to GNU gettext 0.18.
33356         * m4/intl.m4: Likewise.
33357         * m4/po.m4: Likewise.
33358         * modules/gettext (Files): Add m4/fcntl-o.m4.
33359         (configure.ac): Require gettext infrastructure from version 0.18.
33360
33361 2010-05-09  Jim Meyering  <meyering@redhat.com>
33362
33363         init.sh: enable MALLOC_PERTURB_
33364         * tests/init.sh: Enable glibc's malloc-perturbing option.
33365
33366         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33367         With my recent change in init.sh from the two-line form:
33368             -#   : ${srcdir=.}
33369             -#   . "$srcdir/init.sh"; path_prepend_ .
33370             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33371         I noticed that using the one-line form would cause this test
33372         to fail with a false-positive, or to stop working altogether,
33373         depending on whether help-version changed or all the tests did.
33374         * top/maint.mk (_hv_regex): Remove this definition.
33375         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33376         (_hv_regex_strong): Use a stronger regex to check for conformance.
33377         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33378         Give a separate diagnostic for lack of conforming use.
33379
33380         maint.mk: prohibit definition of symbols defined by gnulib
33381         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33382         definition of symbols defined by gnulib.
33383
33384 2010-05-09  Bruno Haible  <bruno@clisp.org>
33385
33386         acl: Avoid test failure on Cygwin-hosted mingw.
33387         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33388
33389 2010-05-09  Bruno Haible  <bruno@clisp.org>
33390
33391         error: Use system's fcntl function.
33392         * lib/error.c (fcntl): Undefine.
33393
33394 2010-05-09  Jim Meyering  <meyering@redhat.com>
33395
33396         verify: adjust formatting to be more consistent
33397         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33398         argument-list '('s, and after one comma.
33399
33400 2010-05-09  Bruno Haible  <bruno@clisp.org>
33401
33402         error: More reliable output on mingw.
33403         * lib/error.c: Include <windows.h>.
33404         (is_open): New function.
33405         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33406         defined.
33407
33408 2010-05-09  Bruno Haible  <bruno@clisp.org>
33409
33410         vasnprintf: Fix syntax errors in libintl build on mingw.
33411         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33412         pad_ourselves and prec_ourselves after use.
33413
33414 2010-05-08  Bruno Haible  <bruno@clisp.org>
33415
33416         * lib/config.charset: Update comments for Cygwin 1.7.
33417         * lib/localcharset.c: Likewise.
33418
33419 2010-05-07  Jim Meyering  <meyering@redhat.com>
33420
33421         init.sh: improve comments
33422         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33423         . "${srcdir=.}/init.sh"; path_prepend_ .
33424         Add a note about path_prepend_ and the alternative of using
33425         TESTS_ENVIRONMENT.
33426
33427 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33428
33429         exclude: Unescape hashed patterns in wildcard mode.
33430         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33431         to the hash list.
33432         * tests/test-exclude8.sh: New test case.
33433         * modules/exclude-tests: Add new test.
33434
33435 2010-05-05  Eric Blake  <eblake@redhat.com>
33436
33437         verify: automate tests
33438         * modules/verify-tests: New module.
33439         * tests/test-verify.sh: New file.
33440         * tests/test-verify.c: Guard each negative test with a unique id.
33441         Also avoid warning about unused left hand of comma expressions.
33442
33443 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33444
33445         Further improvements to verify.h, suggested by Eric Blake.
33446         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33447         the GL_* versions, to avoid collision with OpenGL.
33448         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33449         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33450         than testing merely whether it's defined.
33451
33452         Modify verify.h to pacify gcc -Wredundant_decls.
33453         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33454         These use the prefix "GL_" since they're likely to be useful elsewhere.
33455         We may need to break them out into a different .h file.
33456         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33457         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33458         of verify_function__.
33459
33460 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33461
33462         Tests for module pwrite.
33463         * modules/pwrite-tests: New file.
33464         * tests/test-pwrite.sh: New file.
33465         * tests/test-pwrite.c: New file.
33466
33467         New module pwrite.
33468         * lib/unistd.in.h (pwrite): New declaration.
33469         * lib/pwrite.c: New file, from glibc with modifications.
33470         * m4/pwrite.m4: New file.
33471         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33472         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33473         REPLACE_PWRITE.
33474         * modules/pwrite: New file.
33475         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33476         REPLACE_PWRITE.
33477         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33478         * doc/posix-functions/pwrite.texi: Mention the new module.
33479
33480 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33481
33482         pread: Update documentation.
33483         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33484
33485 2010-05-04  Eric Blake  <eblake@redhat.com>
33486
33487         docs: update cygwin progress
33488         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33489         this bug.
33490         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33491         Added in cygwin 1.7.2.
33492         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33493         Likewise.
33494         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33495         Likewise.
33496         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33497         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33498         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33499         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33500         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33501         Mention nproc module.
33502         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33503         bug in cygwin 1.7.5 addition.
33504         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33505         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33506         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33507         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33508         1.7.5.
33509         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33510         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33511         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33512         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33513         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33514         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33515         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33516         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33517         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33518         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33519         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33520         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33521         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33522         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33523         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33524         Likewise.
33525         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33526         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33527         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33528         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33529         Likewise.
33530         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33531         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33532         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33533         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33534         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33535         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33536         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33537         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33538         Likewise.
33539         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33540         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33541         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33542         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33543         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33544         Likewise.
33545         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33546         Likewise.
33547         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33548         Likewise.
33549         * doc/glibc-functions/xdrrec_endofrecord.texi
33550         (xdrrec_endofrecord): Likewise.
33551         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33552         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33553         Likewise.
33554         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33555         Likewise.
33556
33557 2010-05-04  Jim Meyering  <meyering@redhat.com>
33558
33559         gendocs.sh: make its "-s FILE" option more useful
33560         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33561         $PACKAGE to reflect the probably-different basename of "FILE".
33562
33563 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33564
33565         bootstrap: don't ignore download_po_files failure
33566         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33567         failure.
33568
33569 2010-05-03  Jim Meyering  <meyering@redhat.com>
33570
33571         maint.mk: allow to pass options to gendocs.sh
33572         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33573         (gendocs_options_): New overridable variable.
33574
33575         gnu-web-doc-update: don't ignore configure or build failure
33576         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33577
33578         announce-gen: backslash-escape '@'s in --help output
33579         * build-aux/announce-gen: Fix syntax errors.
33580
33581         maint.mk, announce-gen: allow project-specific announcement mail headers
33582         * top/maint.mk (translation_project_): Define default.
33583         (announcement_Cc_, announcement_mail_headers_): Likewise.
33584         (announcement): Invoke announce-gen with new --mail-headers option.
33585         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33586
33587         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33588         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33589         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33590         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33591         line in the "err2" output file when running "make check" in verbose
33592         mode (i.e., with set -x enabled).
33593
33594 2010-05-03  Bruno Haible  <bruno@clisp.org>
33595
33596         wctob: Fix for weird platforms.
33597         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33598         argument value.
33599
33600 2010-05-03  Jim Meyering  <meyering@redhat.com>
33601
33602         maint.mk: prohibit unwarranted use of <strings.h>
33603         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33604         strings.h in a file that does not also use strcasecmp, strncasecmp,
33605         ffs or ffsll.
33606
33607         maint.mk: remove obsolete comments
33608         * top/maint.mk: Remove stale, commented-out rules.
33609
33610 2010-05-02  Bruno Haible  <bruno@clisp.org>
33611
33612         wcwidth: Declare also when it's aliased.
33613         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33614         macro.
33615
33616 2010-05-02  Bruno Haible  <bruno@clisp.org>
33617
33618         Fix regression from 2010-04-25.
33619         * gnulib-tool (func_modules_transitive_closure): Check the status of
33620         all modules, not only of the tests that are of the form foo-tests where
33621         foo is a module.
33622
33623 2010-05-02  Bruno Haible  <bruno@clisp.org>
33624
33625         wctob: Work around nasty Cygwin 1.7.2 bug.
33626         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33627         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33628
33629 2010-05-01  Bruno Haible  <bruno@clisp.org>
33630
33631         fpurge: Sharper test.
33632         * tests/test-fpurge.c (main): Add one more ftell check.
33633         * modules/fpurge-tests (Depends-on): Add ftell.
33634         Suggested by Eric Blake.
33635
33636 2010-05-01  Bruno Haible  <bruno@clisp.org>
33637
33638         ftello: Another test.
33639         * tests/test-ftello3.c: New file.
33640         * modules/ftello-tests (Files): Add it.
33641         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33642         MOSTLYCLEANFILES.
33643
33644         ftell: Another test.
33645         * tests/test-ftell3.c: New file.
33646         * modules/ftell-tests (Files): Add it.
33647         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33648         MOSTLYCLEANFILES.
33649
33650 2010-05-01  Bruno Haible  <bruno@clisp.org>
33651
33652         ftell, ftello: Work around Solaris bug.
33653         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33654         * lib/ftello.c: Include stdio-impl.h.
33655         (ftello): On Solaris, when _IOWRT is set, compute the result without
33656         looking at _IOREAD.
33657         * modules/ftello (Files): Add lib/stdio-impl.h.
33658         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33659         * doc/posix-functions/ftello.texi: Likewise.
33660         Reported by Eric Blake.
33661
33662 2010-05-01  Bruno Haible  <bruno@clisp.org>
33663
33664         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33665         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33666         the _IOWRT flag is also set.
33667
33668 2010-05-01  Bruno Haible  <bruno@clisp.org>
33669
33670         Fix doc about a HP-UX stdio bug.
33671         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33672         * doc/posix-functions/ftello.texi: Likewise.
33673
33674 2010-05-01  Bruno Haible  <bruno@clisp.org>
33675
33676         lseek test: Fix failure on Solaris.
33677         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33678         output.
33679
33680 2010-04-30  Jim Meyering  <meyering@redhat.com>
33681
33682         bootstrap: don't ignore failure to generate po*/Makevars
33683         * build-aux/bootstrap (with_gettext): Don't ignore failure
33684         to create po/Makevars or runtime-po/Makevars.
33685
33686 2010-04-29  Eric Blake  <eblake@redhat.com>
33687
33688         headers: relax license to LGPLv2+
33689         * modules/fcntl-h (License): Relax license.
33690         * modules/getopt-posix (License): Likewise.
33691         * modules/locale (License): Likewise.
33692         * modules/math (License): Likewise.
33693         * modules/pty (License): Likewise.
33694         * modules/sched (License): Likewise.
33695         * modules/search (License): Likewise.
33696         * modules/spawn (License): Likewise.
33697         * modules/stdarg (License): Likewise.
33698         * modules/sysexits (License): Likewise.
33699
33700 2010-04-29  Jim Meyering  <meyering@redhat.com>
33701
33702         inttypes: relax license to LGPLv2+
33703         * modules/inttypes (License): Relax license.
33704
33705 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33706
33707         * top/maint.mk (indent): Run twice to produce idempotent results.
33708
33709 2010-04-28  Bruno Haible  <bruno@clisp.org>
33710
33711         getdate: Generate getdate.c in the source directory.
33712         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33713         MOSTLYCLEANFILES.
33714         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33715
33716 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33717
33718         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33719         is not declared as a const *; avoid warnings in that case.
33720
33721 2010-04-28  Eric Blake  <eblake@redhat.com>
33722
33723         canonicalize-lgpl: avoid compiler warning
33724         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33725         declaration' / 'extraneous semicolon' warning with some compilers.
33726         Reported by Andreas Gruenbacher.
33727
33728 2010-04-28  Jim Meyering  <meyering@redhat.com>
33729
33730         init.sh: ensure a more reliable exit status when exiting via trap
33731         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33732         Inspired by patches from Dmitry V. Levin.
33733         Also trap on signal 3 (SIGQUIT).
33734
33735 2010-04-27  Bruno Haible  <bruno@clisp.org>
33736
33737         Update doc about utimes().
33738         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33739         'utimens' module.
33740         Reported by Andreas Gruenbacher <agruen@suse.de>.
33741
33742 2010-04-27  Eric Blake  <eblake@redhat.com>
33743
33744         full-read, full-write: relax license
33745         * modules/full-read (License): Drop to LGPLv2+.
33746         * modules/full-write (License): Likewise.
33747         * modules/safe-read (License): Likewise.
33748         * modules/safe-write (License): Likewise.
33749
33750         pthread: mention library for linking
33751         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33752
33753 2010-04-27  Jim Meyering  <meyering@redhat.com>
33754
33755         maint.mk: fix a bug introduced in last change
33756         * top/maint.mk (gl_assured_headers_): Now that all names are on
33757         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33758         is not anchored to end of word, it should be adequate.
33759
33760         maint.mk: avoid side-effect in latest syntax-check
33761         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33762         to run commands via $(shell...), and hence to incur cost only when
33763         the new rule is actually run.
33764
33765         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33766         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33767         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33768         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33769         (gl_assured_headers_, az_, AZ_): Define.
33770         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33771
33772 2010-04-26  Jim Meyering  <jim@meyering.net>
33773             Bruno Haible  <bruno@clisp.org>
33774
33775         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33776         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33777         Prompted by an exchange with Gilles Espinasse.
33778
33779 2010-04-26  Jim Meyering  <meyering@redhat.com>
33780
33781         git-version-gen: aesthetic tweak
33782         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33783         so that the command remains on a single line.
33784
33785 2010-04-26  Eric Blake  <eblake@redhat.com>
33786
33787         git-version-gen: allow use on EBCDIC hosts
33788         * build-aux/git-version-gen (dirty): Use literal rather than tying
33789         ourselves to ascii.
33790         Reported by Steve Goetze.
33791
33792 2010-04-25  Bruno Haible  <bruno@clisp.org>
33793
33794         netdb: Add support for GNULIB_POSIXCHECK.
33795         * lib/netdb.in.h: Include warn-on-use.h.
33796         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33797         functions are used when GNULIB_POSIXCHECK is defined and the
33798         getaddrinfo module is not in use.
33799         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33800         freeaddrinfo, gai_strerror, getnameinfo are declared.
33801         * modules/netdb (Depends-on): Add warn-on-use.
33802         (Makefile.am): Include warn-on-use.h in netdb.h.
33803
33804 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33805
33806         build: avoid "make check" failure without .git/ directory
33807         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33808         there is no .git/ directory.
33809
33810 2010-04-25  Bruno Haible  <bruno@clisp.org>
33811
33812         ptsname: Fix misuse of ttyname_r.
33813         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33814         of errno.
33815
33816 2010-04-25  Bruno Haible  <bruno@clisp.org>
33817
33818         ttyname_r: Make it work on Solaris 10.
33819         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33820         if the system function has the POSIX declaration. Test whether the
33821         function fails if the buffer is less than 128 bytes large.
33822         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33823         system's ttyname_r function. Provide a reasonably large buffer.
33824         * modules/ttyname_r (Depends-on): Add extensions.
33825         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33826
33827 2010-04-25  Bruno Haible  <bruno@clisp.org>
33828
33829         Use the 'extensions' module for some more functions on Solaris.
33830         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33831         module.
33832         * doc/posix-functions/ctime_r.texi: Likewise.
33833         * doc/posix-functions/getgrgid_r.texi: Likewise.
33834         * doc/posix-functions/getgrnam_r.texi: Likewise.
33835         * doc/posix-functions/getpwnam_r.texi: Likewise.
33836         * doc/posix-functions/getpwuid_r.texi: Likewise.
33837         * doc/posix-functions/readdir_r.texi: Likewise.
33838         * doc/posix-functions/sigwait.texi: Likewise.
33839         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33840         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33841
33842 2010-04-25  Bruno Haible  <bruno@clisp.org>
33843
33844         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33845         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33846         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33847         * lib/ttyname_r.c: Include <limits.h>.
33848         (ttyname_r): Define using the system's ttyname_r function, if it exists
33849         and not on Solaris.
33850         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33851         set.
33852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33853         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33854         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33855         Reported by Simon Josefsson.
33856
33857 2010-04-25  Bruno Haible  <bruno@clisp.org>
33858
33859         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33860         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33861         * doc/posix-functions/ctime_r.texi: Likewise.
33862         * doc/posix-functions/getgrgid_r.texi: Likewise.
33863         * doc/posix-functions/getgrnam_r.texi: Likewise.
33864         * doc/posix-functions/getlogin_r.texi: Likewise.
33865         * doc/posix-functions/getpwnam_r.texi: Likewise.
33866         * doc/posix-functions/getpwuid_r.texi: Likewise.
33867         * doc/posix-functions/readdir_r.texi: Likewise.
33868         * doc/posix-functions/sigwait.texi: Likewise.
33869         * doc/posix-functions/ttyname_r.texi: Likewise.
33870         Reported by Simon Josefsson.
33871
33872 2010-04-25  Bruno Haible  <bruno@clisp.org>
33873
33874         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33875         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33876         also to --create-testdir.
33877         (func_acceptable): Don't consider the status of *-tests modules here.
33878         (func_modules_transitive_closure): Consider it here, before including a
33879         test module.
33880         (func_import, func_create_testdir): Set inc_all_direct_tests,
33881         inc_all_indirect_tests.
33882         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33883         --create-testdir and --create-megatestdir.
33884
33885 2010-04-25  Bruno Haible  <bruno@clisp.org>
33886
33887         gnulib-tool: Add --without-*-tests options.
33888         * gnulib-tool (func_usage): Document the --without-*-tests options.
33889         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33890         excl_unportable_tests): New variables.
33891         Fail if they are specified with --import or --update.
33892         (func_acceptable): Respect the excl_*_tests variables.
33893         (func_import): Set the excl_*_tests variables to empty.
33894
33895 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33896             Bruno Haible  <bruno@clisp.org>
33897
33898         Work around a MacOS X 10.4 bug with openpty.
33899         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33900         * tests/test-openpty.c (main): Close the master side explicitly.
33901
33902 2010-04-25  Bruno Haible  <bruno@clisp.org>
33903
33904         strnlen: Fix a C++ test error on MacOS X and Solaris.
33905         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33906         the function is not declared.
33907         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33908         Simon Josefsson.
33909
33910 2010-04-24  Bruno Haible  <bruno@clisp.org>
33911
33912         Avoid a gcc warning.
33913         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33914         of correct type for %08lx directive.
33915         Reported by Eric Blake.
33916
33917 2010-04-24  Bruno Haible  <bruno@clisp.org>
33918
33919         vasnprintf: Correct errno value in case of out-of-memory.
33920         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33921         or sprintf. Use the errno value from SNPRINTF or sprintf.
33922         Reported by Ian Beckwith <ianb@erislabs.net>.
33923
33924 2010-04-24  Bruno Haible  <bruno@clisp.org>
33925
33926         ansi-c++-opt: Find correct compiler when cross-compiling.
33927         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33928         AC_CHECK_PROGS.
33929         Reported by Simon Josefsson.
33930
33931 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33932
33933         vc-list-files: Add support for subversion
33934         * build-aux/vc-list-files: Use "svn list" to generate the list of
33935         files controlled by subversion.
33936
33937 2010-04-23  Jim Meyering  <meyering@redhat.com>
33938
33939         vc-list-files tests: convert to use init.sh
33940         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33941         path_prepend_.
33942         Use Exit, not exit.
33943         Use skip_ rather than open coding it.
33944         Remove trap set-up and compare definitions.
33945         * tests/test-vc-list-files-git.sh: Likewise.
33946         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33947
33948 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33949
33950         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33951         backup files.
33952
33953 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33954
33955         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33956
33957 2010-04-20  Eric Blake  <eblake@redhat.com>
33958
33959         tests: be robust to ignored SIGPIPE
33960         * tests/test-select-in.sh: Consume all output.
33961         * tests/test-lseek.sh: Check correct exit status, while avoiding
33962         EPIPE.
33963
33964 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33965             Bruno Haible  <bruno@clisp.org>
33966
33967         visibility: Don't use -fvisibility if it leads to a warning.
33968         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33969         yes, don't pretend that visibility works if it leads to a warning.
33970         Reported by Mike Gran <spk121@yahoo.com>.
33971
33972 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33973
33974         * build-aux/bootstrap: Use "git -h" for testing for supported options
33975         instead of "git --help".  The short-form option only shows a summary,
33976         and doesn't layout the full man page.  Grep for the full option name
33977         in the summary, too.
33978
33979 2010-04-19  Bruno Haible  <bruno@clisp.org>
33980
33981         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33982         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33983         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33984         mention of RELOCATABLE_STRIP.
33985         Reported by Sylvain Beucler <beuc@beuc.net>.
33986
33987 2010-04-19  Bruno Haible  <bruno@clisp.org>
33988
33989         * lib/diffseq.h: Fix typo in comment.
33990         Reported by Eric Blake.
33991
33992 2010-04-19  Bruno Haible  <bruno@clisp.org>
33993
33994         ioctl: Move autoconf macro to a .m4 file.
33995         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33996         * modules/ioctl (Files): Add it.
33997         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33998         Reported by Ian Beckwith <ianb@erislabs.net>.
33999
34000 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34001             Bruno Haible  <bruno@clisp.org>
34002
34003         diffseq: Accommodate use-case with abstract arrays.
34004         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34005         is not defined.
34006         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34007         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34008
34009 2010-04-18  Bruno Haible  <bruno@clisp.org>
34010
34011         * doc/posix-headers/stdbool.texi: More precise wording.
34012
34013 2010-04-17  Jim Meyering  <meyering@redhat.com>
34014
34015         maint.mk: use gnu-style indentation in an embedded perl script
34016         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34017         Rename variable: s/two/last_two_bytes/
34018
34019 2010-04-16  Eric Blake  <eblake@redhat.com>
34020
34021         test-stdbool: skip test that fails with Solaris CC
34022         * tests/test-stdbool.c (f): Skip test that causes compilation
34023         error under buggy C++ compiler.
34024         * lib/stdbool.in.h: Document the limitation.
34025         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34026
34027         setenv: allow compilation with C++
34028         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34029         register keyword.
34030
34031         stdint: allow test to pass with C++
34032         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34033
34034         getopt: allow compilation with C++
34035         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34036         struct.
34037         * lib/getopt.c (_getopt_internal_r): Use correct type.
34038         Reported by Dagobert Michelson, via Joel E. Denny.
34039
34040 2010-04-16  Bruno Haible  <bruno@clisp.org>
34041
34042         Override netdb.h always.
34043         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34044         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34045         Reported by Ludovic Courtès <ludo@gnu.org>.
34046
34047 2010-04-15  Bruno Haible  <bruno@clisp.org>
34048
34049         openpty: Fix mistake from 2010-03-21.
34050         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34051         Reported by Simon Josefsson.
34052
34053 2010-04-15  Eric Blake  <eblake@redhat.com>
34054
34055         test-forkpty: fix expected signature
34056         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34057         Reported by Simon Josefsson.
34058
34059 2010-04-15  Jim Meyering  <meyering@redhat.com>
34060
34061         maint.mk: texinfo_suffix_re_: correct the default regexp
34062         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34063
34064         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34065         make it configurable via texinfo_suffix_re_.
34066
34067 2010-04-14  Eric Blake  <eblake@redhat.com>
34068
34069         strtok_r: relax license to LGPLv2+
34070         * modules/strtok_r (License): Relax license.
34071         Reported by Matthias Bolte.
34072
34073 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34074
34075         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34076         version 1.4.4 by default instead of requiring the libgcrypt
34077         version used during build.  This makes it possible to use the
34078         application with older but still binary compatible libgcrypt
34079         versions.
34080
34081 2010-04-13  Eric Blake  <eblake@redhat.com>
34082
34083         getopt-gnu: match recent glibc fixes and posix ruling
34084         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34085         '+' handling, when requesting extensions.
34086         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34087         'W;' handling.
34088         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34089         * doc/posix-functions/getopt.texi (getopt): Document this.
34090         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34091         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34092         Likewise.
34093
34094         getopt: merge bug fixes from glibc
34095         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34096         diagnostics.  Honor '+:' correctly.  Reject ';'.
34097
34098         getopt-posix: detect MacOS bug
34099         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34100         optind when missing a required argument.
34101         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34102         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34103         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34104         Likewise.
34105
34106         getopt-posix: avoid spurious failure on Solaris
34107         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34108         an indicator that setting optind=1 is sufficient for reset.
34109
34110         getopt-posix: avoid spurious failure on FreeBSD
34111         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34112         in POSIX mode, since the m4 test uses it.
34113
34114         gnulib-tool: silence warning on BSD sh
34115         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34116
34117 2010-04-13  Jim Meyering  <meyering@redhat.com>
34118
34119         doc: users.txt: GNU patch now uses gnulib
34120         * users.txt: Add patch.
34121
34122 2010-04-12  Jim Meyering  <meyering@redhat.com>
34123
34124         maint.mk: generate more concise timing data for syntax-check rules
34125         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34126         " done" from each line that reports a syntax-check test duration.
34127
34128 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34129
34130         git-version-gen: use "git update-index..." rather than "git status"
34131         * build-aux/git-version-gen: Use git update-index --refresh, not
34132         "git status".  With some versions of git, "git status" would fail
34133         to update the index and result in an unwarranted "-dirty" suffix.
34134
34135 2010-04-11  Jim Meyering  <meyering@redhat.com>
34136
34137         openat: correct formatting (no semantic change)
34138         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34139         Suggested by Bruno Haible.
34140
34141 2010-04-11  Bruno Haible  <bruno@clisp.org>
34142
34143         Stricter declaration checking in testdirs.
34144         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34145         If for_tests is true, augment AM_CPPFLAGS to define
34146         GNULIB_STRICT_CHECKING.
34147         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34148         GNULIB_STRICT_CHECKING is defined, verify that the function is
34149         declared.
34150
34151 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34152             Bruno Haible  <bruno@clisp.org>
34153
34154         libunistring: Improve configure output.
34155         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34156         Don't say "consider installing GNU libunistring" when checking again
34157         with libiconv.
34158
34159 2010-04-11  Bruno Haible  <bruno@clisp.org>
34160
34161         libunistring: Correct value of $LTLIBUNISTRING.
34162         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34163         correct the value of $LTLIBUNISTRING.
34164
34165 2010-04-11  Bruno Haible  <bruno@clisp.org>
34166
34167         havelib: Add static libraries to LIBS in the right order.
34168         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34169         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34170
34171 2010-04-11  Bruno Haible  <bruno@clisp.org>
34172
34173         libunistring: Detect libunistring also when it depends on libiconv.
34174         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34175         the second AC_LIB_HAVE_LINKFLAGS invocation.
34176
34177 2010-04-11  James Youngman  <jay@gnu.org>
34178
34179         close-stream: declare local scalars to be "const"
34180         * lib/close-stream.c (close_stream): Make boolean variables const
34181         to document the fact that we set but do not change them.
34182
34183 2010-04-11  Bruno Haible  <bruno@clisp.org>
34184
34185         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34186
34187 2010-04-11  Jim Meyering  <meyering@redhat.com>
34188
34189         maint.mk: don't include dist-check.mk
34190         * top/maint.mk: Remove bogus include directive.
34191
34192         maint.mk: improve empty-line-at-EOF check
34193         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34194         solution, rather than tail+Perl-based one.  The latter would read
34195         a few kilobytes from the end of each file, and did not handle empty
34196         files properly.
34197
34198         maint.mk: print the elapsed time for each syntax-check rule
34199         * top/maint.mk (sc_m_rules_): Save start time in a file.
34200         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34201         (local-check): Interpose the .z rules
34202
34203 2010-04-11  Jim Meyering  <meyering@redhat.com>
34204
34205         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34206         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34207         empty file with one that ends in an empty line.
34208
34209 2010-04-10  Bruno Haible  <bruno@clisp.org>
34210
34211         mkdir: Make it work on mingw64.
34212         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34213         * lib/mkdir.c: Update comment.
34214         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
34215
34216 2010-04-10  Bruno Haible  <bruno@clisp.org>
34217
34218         Don't override improved macro from newer autoconf.
34219         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34220         autoconf >= 2.62.
34221         Reported by Joel E. Denny <jdenny@clemson.edu>.
34222
34223 2010-04-10  Jim Meyering  <meyering@redhat.com>
34224
34225         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34226         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34227
34228         maint.mk: correct a diagnostic
34229         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34230         in diagnostic; now use $prohibit.
34231
34232 2010-04-10  Bruno Haible  <address@hidden>
34233
34234         fchownat: Fix a C++ test error on Solaris 8.
34235         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34236         the function does not exist.
34237
34238 2010-04-10  Bruno Haible  <bruno@clisp.org>
34239
34240         vasnprintf: Add more tests.
34241         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34242         (test_function): Test converting an invalid wide string.
34243
34244         vasnprintf: Correct handling of unconvertible wide string arguments.
34245         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34246         VASNPRINTF.
34247         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34248         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34249         smaller than the expected maximum need for the directive. Set errno to
34250         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34251         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34252         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34253         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34254         * modules/vasnprintf (Files): Add m4/printf.m4.
34255         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34256
34257 2010-04-10  Bruno Haible  <bruno@clisp.org>
34258
34259         vasnprintf: Fix crash in %ls directive.
34260         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34261         string is passed as argument to %ls, with no precision and no width.
34262         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34263
34264 2010-04-10  Bruno Haible  <bruno@clisp.org>
34265
34266         vasnprintf: Fix multiple test failures on mingw.
34267         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34268         _snprintf, or snwprintf, not _snwprintf.
34269
34270 2010-04-10  Bruno Haible  <bruno@clisp.org>
34271
34272         write: Fix a C++ test error on mingw.
34273         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34274
34275 2010-04-10  Bruno Haible  <bruno@clisp.org>
34276
34277         vasnprintf test: Reduce code duplication.
34278         * tests/test-vasnprintf.c (test_function): New function, extracted from
34279         test_vasnprintf.
34280         (test_vasnprintf, test_asnprintf): Invoke it.
34281
34282 2010-04-10  Bruno Haible  <bruno@clisp.org>
34283
34284         strnlen: Fix warning in C++ mode on MacOS X.
34285         * lib/string.in.h (strnlen): Use the modern idiom.
34286         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34287         defining strnlen as a macro already in <config.h>.
34288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34289         REPLACE_STRNLEN.
34290         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34291         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34292
34293 2010-04-08  James Youngman  <jay@gnu.org>
34294
34295         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34296         the example.
34297
34298 2010-04-09  Jim Meyering  <meyering@redhat.com>
34299
34300         maint.mk: print better diagnostic when there is no $(_hv_file)
34301         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34302         announce that when $(_hv_file) (aka help-version) does not exist.
34303
34304         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34305         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34306         not try to interpret its random input bytes.  Jarno Rajahalme reported
34307         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34308         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34309         (mktempd_): Likewise, just in case.
34310
34311         ftruncate: add two years to projected module removal date: 2012
34312         * m4/ftruncate.m4: Adjust comments.
34313
34314         ftruncate: mark module as obsolete; even MinGW provides it, now
34315         * modules/ftruncate (Status): Obsolete.
34316         (Notice): Say that.
34317         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34318         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34319
34320 2010-04-08  Bruno Haible  <bruno@clisp.org>
34321
34322         Fix side effects from tests-related modules.
34323         * modules/dprintf-posix (Comment): New section.
34324         * modules/fprintf-posix (Comment): Likewise.
34325         * modules/obstack-printf-posix (Comment): Likewise.
34326         * modules/printf-posix (Comment): Likewise.
34327         * modules/snprintf-posix (Comment): Likewise.
34328         * modules/sprintf-posix (Comment): Likewise.
34329         * modules/vasnprintf-posix (Comment): Likewise.
34330         * modules/vasprintf-posix (Comment): Likewise.
34331         * modules/vdprintf-posix (Comment): Likewise.
34332         * modules/vfprintf-posix (Comment): Likewise.
34333         * modules/vprintf-posix (Comment): Likewise.
34334         * modules/vsnprintf-posix (Comment): Likewise.
34335         * modules/vsprintf-posix (Comment): Likewise.
34336         * modules/xprintf-posix (Comment): Likewise.
34337         * modules/xvasprintf-posix (Comment): Likewise.
34338         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34339         * modules/floorf-tests (Depends-on): Likewise.
34340         * modules/round-tests (Depends-on): Likewise.
34341         * modules/roundf-tests (Depends-on): Likewise.
34342         * modules/trunc-tests (Depends-on): Likewise.
34343         * modules/truncf-tests (Depends-on): Likewise.
34344         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34345         'fprintf-posix' module is not present.
34346         * tests/test-floorf2.c (check): Likewise.
34347         * tests/test-trunc2.c (check): Likewise.
34348         * tests/test-truncf2.c (check): Likewise.
34349         * tests/test-round2.c (equal): Likewise.
34350         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34351
34352 2010-04-07  Karl Berry  <karl@gnu.org>
34353
34354         * config/srclist.txt,
34355         * config/srclistvars.sh,
34356         * config/srclist-update: doc fixes.
34357
34358 2010-04-07  Jim Meyering  <meyering@redhat.com>
34359
34360         maint.mk: add a PATH crosschecking syntax-check rule
34361         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34362         Useful if you use a test like the one in help-version (coreutils,
34363         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34364         printed by prog --version.
34365
34366 2010-04-06  Bruno Haible  <bruno@clisp.org>
34367
34368         Fix link error on mingw.
34369         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34370         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34371
34372 2010-04-06  Bruno Haible  <bruno@clisp.org>
34373
34374         Assume rmdir exists.
34375         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34376
34377 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34378
34379         doc: update users.txt
34380         * users.txt: Add gcal.
34381
34382 2010-04-06  Jim Meyering  <meyering@redhat.com>
34383
34384         init.sh: simply unset TMPDIR rather than risking env -i
34385         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34386         although it probably works fine on all Unix-based systems, some
34387         systems (Cygwin?) cannot tolerate a totally cleared environment.
34388         Suggestion from Eric Blake.
34389
34390 2010-04-06  Jim Meyering  <meyering@redhat.com>
34391
34392         init.sh: portability fix: use env's POSIX-specified -i option not -u
34393         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34394         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34395
34396 2010-04-05  Bruno Haible  <bruno@clisp.org>
34397
34398         btowc: Work around Cygwin 1.7.2 bug.
34399         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34400         does not map NUL to 0.
34401         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34402
34403 2010-04-05  Bruno Haible  <bruno@clisp.org>
34404
34405         Make the multithread modules work on Cygwin 1.7.2.
34406         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34407         imported symbols can be declared weak, so that it returns "no" on
34408         Cygwin 1.7.2.
34409
34410 2010-04-05  Bruno Haible  <bruno@clisp.org>
34411
34412         Use the module 'strncat'.
34413         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34414
34415         Tests for module 'strncat'.
34416         * modules/strncat-tests: New file.
34417         * tests/test-strncat.c: New file.
34418
34419         New module 'strncat'.
34420         * lib/string.in.h (strncat): New declaration.
34421         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34422         * m4/strncat.m4: New file, based on m4/memchr.m4.
34423         * modules/strncat: New file.
34424         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34425         is declared.
34426         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34427         REPLACE_STRNCAT.
34428         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34429         REPLACE_STRNCAT.
34430         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34431         module.
34432         * tests/test-string-c++.cc: Check signature of strncat.
34433
34434 2010-04-05  Jim Meyering  <meyering@redhat.com>
34435
34436         xstrtoumax-tests: convert to use init.sh
34437         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34438         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34439         Use Exit, not exit.
34440         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34441
34442         xstrtoimax-tests: convert to use init.sh
34443         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34444         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34445         Use Exit, not exit.
34446         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34447
34448 2010-04-05  Bruno Haible  <bruno@clisp.org>
34449
34450         sys_socket: Avoid #define replacements in C++ mode.
34451         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34452         warning to the function if possible, rather than #defining the symbol
34453         to a dysfunctional alias.
34454
34455 2010-04-05  Bruno Haible  <bruno@clisp.org>
34456
34457         fseeko: Fix C++ test error on mingw.
34458         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34459         gl_FUNC_FSEEKO.
34460         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34461         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34462         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34463         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34464
34465 2010-04-05  Bruno Haible  <bruno@clisp.org>
34466
34467         duplocale: Improve test output.
34468         * tests/test-duplocale.c (main): Print reason for skipped test.
34469
34470 2010-04-05  Bruno Haible  <bruno@clisp.org>
34471
34472         Assume rmdir exists.
34473         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34474         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34475
34476 2010-04-05  Bruno Haible  <bruno@clisp.org>
34477
34478         Fix link error on Solaris 8 with cc.
34479         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34480
34481 2010-04-05  Bruno Haible  <bruno@clisp.org>
34482
34483         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34484         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34485
34486 2010-04-05  Bruno Haible  <bruno@clisp.org>
34487
34488         vasprintf: Update documentation.
34489         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34490
34491 2010-04-05  Bruno Haible  <bruno@clisp.org>
34492
34493         ptsname: Improve test.
34494         * tests/test-ptsname.c (main): Also try the various master names of BSD
34495         systems.
34496
34497 2010-04-05  Bruno Haible  <bruno@clisp.org>
34498
34499         memchr: Avoid a possible C++ test error.
34500         * lib/string.in.h (memchr): Provide declaration if function is missing.
34501         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34502         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34504         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34505
34506 2010-04-05  Bruno Haible  <bruno@clisp.org>
34507
34508         strtok_r: Improve idiom.
34509         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34510         AC_LIBOBJ is used.
34511
34512 2010-04-05  Bruno Haible  <bruno@clisp.org>
34513
34514         strdup: Improve idiom.
34515         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34516         AC_LIBOBJ is used.
34517         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34518         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34519         when AC_LIBOBJ is used.
34520
34521 2010-04-05  Bruno Haible  <bruno@clisp.org>
34522
34523         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34524         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34525         don't set REPLACE_MBSINIT to 1.
34526         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34527         don't set REPLACE_MBRTOWC to 1.
34528         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34529         exist, don't set REPLACE_MBSRTOWCS to 1.
34530         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34531         exist, don't set REPLACE_MBSNRTOWCS to 1.
34532         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34533         don't set REPLACE_WCRTOMB to 1.
34534         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34535         exist, don't set REPLACE_WCSRTOMBS to 1.
34536         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34537         exist, don't set REPLACE_WCSNRTOMBS to 1.
34538
34539 2010-04-05  Bruno Haible  <bruno@clisp.org>
34540
34541         ldexpl: Improve idiom.
34542         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34543         make sure to set HAVE_DECL_LDEXPL to 0.
34544
34545 2010-04-05  Jim Meyering  <meyering@redhat.com>
34546
34547         xstrtol-tests: convert to use init.sh
34548         * modules/xstrtol-tests (Files): Add tests/init.sh.
34549         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34550         Use Exit, not exit.
34551         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34552
34553         atexit-tests: convert to use init.sh
34554         * modules/atexit-tests (Files): Add tests/init.sh.
34555         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34556         Use Exit, not exit.
34557         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34558
34559         init.sh: fix typo
34560         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34561
34562         init.sh: make it easier for a test script to write to the tty, ...
34563         when using automake's parallel-tests mode.
34564         * tests/init.sh (stderr_fileno_): Define overridable variable.
34565         (warn_): New function, to use it.
34566         (fail_, skip_, framework_failure_): Use warn_.
34567
34568 2010-04-04  Bruno Haible  <bruno@clisp.org>
34569
34570         btowc: Avoid warning.
34571         * lib/btowc.c: Include <stdlib.h>.
34572         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34573
34574 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34575             Bruno Haible  <bruno@clisp.org>
34576
34577         wchar: Port to NetBSD 1.5.
34578         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34579         * lib/wctype.in.h (WEOF): Likewise.
34580
34581 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34582             Bruno Haible  <bruno@clisp.org>
34583
34584         Port extended stdio to NetBSD 1.5.
34585         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34586         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34587         older.
34588
34589 2010-04-04  Bruno Haible  <bruno@clisp.org>
34590
34591         string: Remove unused substitution.
34592         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34593         HAVE_DECL_STRERROR.
34594         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34595
34596 2010-04-04  Bruno Haible  <bruno@clisp.org>
34597
34598         strtod: Avoid a possible C++ test error.
34599         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34600         set REPLACE_STRTOD.
34601
34602 2010-04-04  Bruno Haible  <bruno@clisp.org>
34603
34604         strerror: Update documentation.
34605         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34606
34607 2010-04-04  Bruno Haible  <bruno@clisp.org>
34608
34609         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34610         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34611         _GL_CXXALIAS_SYS_CAST.
34612
34613 2010-04-04  Bruno Haible  <bruno@clisp.org>
34614
34615         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34616         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34617         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34618         REPLACE_FREXPL to 1.
34619         * doc/posix-functions/frexpl.texi: Update documentation.
34620
34621 2010-04-04  Bruno Haible  <bruno@clisp.org>
34622
34623         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34624         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34625
34626 2010-04-04  Bruno Haible  <bruno@clisp.org>
34627
34628         Implement nanosleep for native Windows.
34629         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34630
34631 2010-04-04  Bruno Haible  <bruno@clisp.org>
34632
34633         math: Fix some C++ test errors on Solaris 8.
34634         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34635
34636 2010-04-04  Bruno Haible  <bruno@clisp.org>
34637
34638         math: Fix some C++ test errors on Cygwin.
34639         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34640         truncl): Provide declaration if the system does not have it.
34641         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34642         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34643         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34644         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34645         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34646         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34647         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34648         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34649         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34650         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34651         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34652         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34653         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34654         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34655         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34656         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34658         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34659         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34660         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34661         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34662         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34663
34664 2010-04-04  Bruno Haible  <bruno@clisp.org>
34665
34666         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34667         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34668         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34669         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34670         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34671         * m4/isinf.m4 (gl_ISINF): Likewise.
34672         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34673
34674 2010-04-04  Bruno Haible  <bruno@clisp.org>
34675
34676         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34677         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34678
34679 2010-04-04  Bruno Haible  <bruno@clisp.org>
34680
34681         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34682         * modules/tmpfile (configure.ac): Update.
34683
34684         tmpfile: Fix C++ test error on mingw.
34685         * lib/stdio.in.h (tmpfile): New declaration.
34686         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34687         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34688         * modules/tmpfile (Depends-on): Add stdio.
34689         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34690         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34691         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34692         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34693         REPLACE_TMPFILE.
34694         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34695
34696 2010-04-04  Bruno Haible  <bruno@clisp.org>
34697
34698         ioctl: Fix C++ test error on mingw.
34699         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34700         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34701         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34702
34703 2010-04-03  Bruno Haible  <bruno@clisp.org>
34704
34705         wcwidth: Fix C++ test error on mingw.
34706         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34707         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34708         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34709
34710 2010-04-03  Bruno Haible  <bruno@clisp.org>
34711
34712         nanosleep: Fix C++ test error on mingw.
34713         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34714         * lib/time.in.h (nanosleep): Use modern idiom.
34715         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34716         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34717         REPLACE_NANOSLEEP to 1.
34718         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34719         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34720
34721 2010-04-03  Bruno Haible  <bruno@clisp.org>
34722
34723         strptime: Fix C++ test error on mingw.
34724         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34725         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34726         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34727         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34728         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34729         not REPLACE_STRPTIME.
34730         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34731         REPLACE_STRPTIME.
34732
34733 2010-04-03  Bruno Haible  <bruno@clisp.org>
34734
34735         timegm: Fix C++ test error on mingw.
34736         * lib/time.in.h (timegm): Use modern idiom.
34737         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34738         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34739         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34740         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34741
34742 2010-04-03  Bruno Haible  <bruno@clisp.org>
34743
34744         timegm: Assume declaration if function exists.
34745         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34746         if it exists. Don't clobber ac_cv_func_timegm.
34747
34748 2010-04-03  Bruno Haible  <bruno@clisp.org>
34749
34750         time_r: Fix C++ test error on mingw.
34751         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34752         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34753         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34754         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34755         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34756
34757 2010-04-03  Bruno Haible  <bruno@clisp.org>
34758
34759         time_r: Minor updates.
34760         * modules/time_r (Description): Mention the provided functions.
34761         * lib/time_r.c: Don't include <string.h>.
34762         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34763         * doc/posix-functions/localtime_r.texi: Likewise.
34764
34765 2010-04-03  Bruno Haible  <bruno@clisp.org>
34766
34767         time: Fix regression introduced on 2010-03-08.
34768         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34769         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34770
34771 2010-04-03  Jim Meyering  <meyering@redhat.com>
34772
34773         maint.mk: don't silently disable project-specific syntax-check rules
34774         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34775         that they need to convert their project-specific syntax-check rules
34776         to use the new _sc_search_regexp.
34777
34778 2010-04-03  Bruno Haible  <bruno@clisp.org>
34779
34780         fchdir: Fix regression introduced on 2010-03-08.
34781         * lib/unistd.in.h (fchdir): Fix declaration.
34782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34784         REPLACE_FCHDIR.
34785         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34786         REPLACE_FCHDIR.
34787
34788 2010-04-03  Bruno Haible  <bruno@clisp.org>
34789
34790         getpagesize: Fix C++ test error on mingw.
34791         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34792         system does not declare the function.
34793         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34794         declared.
34795         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34796         HAVE_DECL_GETPAGESIZE.
34797         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34798
34799 2010-04-03  Bruno Haible  <bruno@clisp.org>
34800
34801         stdio: Make C++ tests work on mingw.
34802         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34803         does not declare the function.
34804
34805 2010-04-03  Bruno Haible  <bruno@clisp.org>
34806
34807         ftello: Fix C++ test error on mingw.
34808         * lib/stdio.in.h (ftello): Use modern idiom.
34809         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34810         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34811         is missing and that it needs to be replaced.
34812         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34813         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34814         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34815
34816 2010-04-03  Bruno Haible  <bruno@clisp.org>
34817
34818         fseeko: Fix C++ test error on mingw.
34819         * lib/stdio.in.h (fseeko): Use modern idiom.
34820         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34821         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34822         is missing and that it needs to be replaced.
34823         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34825         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34826
34827 2010-04-03  Bruno Haible  <bruno@clisp.org>
34828
34829         mkstemp: Fix C++ test error on mingw.
34830         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34831         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34832         function is missing and that it needs to be replaced.
34833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34834         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34835
34836 2010-04-03  Bruno Haible  <bruno@clisp.org>
34837
34838         stpncpy: Fix C++ test error on mingw.
34839         * lib/string.in.h (stpncpy): Use modern idiom.
34840         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34841         function is missing and that it needs to be replaced.
34842         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34843         REPLACE_STPNCPY.
34844         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34845
34846 2010-04-03  Bruno Haible  <bruno@clisp.org>
34847
34848         sys_stat: Fix C++ test error on mingw.
34849         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34850         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34851
34852 2010-04-03  Bruno Haible  <bruno@clisp.org>
34853
34854         pty: Update doc.
34855         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34856
34857 2010-04-03  Bruno Haible  <bruno@clisp.org>
34858
34859         unistd: Fix C++ test error on mingw.
34860         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34861
34862 2010-04-03  Bruno Haible  <bruno@clisp.org>
34863
34864         Update doc regarding mingw.
34865         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34866         * doc/glibc-functions/login_tty.texi: Likewise.
34867         * doc/glibc-functions/forkpty.texi: Likewise.
34868
34869 2010-04-03  Bruno Haible  <bruno@clisp.org>
34870
34871         stdlib: Avoid compilation failure of c-strtold on mingw.
34872         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34873
34874 2010-04-03  Bruno Haible  <bruno@clisp.org>
34875
34876         locale: Make C++ tests work on Cygwin and mingw.
34877         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34878         cannot provide the function.
34879         Reported by Simon Josefsson.
34880
34881 2010-04-03  Bruno Haible  <bruno@clisp.org>
34882
34883         localename: Port to MacOS X 10.6.
34884         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34885         memory layout of the locales in MacOS X 10.6 as well.
34886         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34887
34888 2010-04-02  Bruno Haible  <bruno@clisp.org>
34889
34890         gnulib-tool: Ensure that long-running tests are executed last.
34891         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34892         running tests after the one for the other tests.
34893
34894 2010-04-02  Bruno Haible  <bruno@clisp.org>
34895
34896         gnulib-tool: Ensure the tests in the main directory are executed first.
34897         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34898         start with the current directory.
34899
34900 2010-04-02  Bruno Haible  <bruno@clisp.org>
34901
34902         Tests for module 'havelib', moved here from GNU gettext.
34903         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34904         modifications.
34905         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34906         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34907         with modifications.
34908         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34909         modifications.
34910         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34911         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34912         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34913         with modifications.
34914         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34915         with modifications.
34916         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34917         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34918         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34919         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34920         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34921         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34922         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34923         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34924         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34925         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34926         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34927         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34928         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34929         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34930         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34931         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34932         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34933         with modifications.
34934         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34935         with modifications.
34936         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34937         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34938         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34939         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34940         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34941         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34942         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34943         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34944         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34945         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34946         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34947         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34948         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34949         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34950         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34951         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34952         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34953         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34954         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34955         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34956         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34957         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34958         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34959         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34960         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34961         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34962         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34963         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34964         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34965         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34966         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34967         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34968         * tests/havelib/rpathx/rpathx.c: New file, from
34969         gettext/autoconf-lib-link.
34970         * tests/havelib/rpathx/Makefile.am: New file, from
34971         gettext/autoconf-lib-link.
34972         * tests/havelib/rpathx/configure.ac: New file, from
34973         gettext/autoconf-lib-link with modifications.
34974         * tests/havelib/rpathy/rpathy.c: New file, from
34975         gettext/autoconf-lib-link.
34976         * tests/havelib/rpathy/Makefile.am: New file, from
34977         gettext/autoconf-lib-link.
34978         * tests/havelib/rpathy/configure.ac: New file, from
34979         gettext/autoconf-lib-link with modifications.
34980         * tests/havelib/rpathz/rpathz.c: New file, from
34981         gettext/autoconf-lib-link.
34982         * tests/havelib/rpathz/Makefile.am: New file, from
34983         gettext/autoconf-lib-link.
34984         * tests/havelib/rpathz/configure.ac: New file, from
34985         gettext/autoconf-lib-link with modifications.
34986         * tests/havelib/rpathlx/usex.c: New file, from
34987         gettext/autoconf-lib-link.
34988         * tests/havelib/rpathlx/Makefile.am: New file, from
34989         gettext/autoconf-lib-link.
34990         * tests/havelib/rpathlx/configure.ac: New file, from
34991         gettext/autoconf-lib-link with modifications.
34992         * tests/havelib/rpathly/usey.c: New file, from
34993         gettext/autoconf-lib-link.
34994         * tests/havelib/rpathly/Makefile.am: New file, from
34995         gettext/autoconf-lib-link.
34996         * tests/havelib/rpathly/configure.ac: New file, from
34997         gettext/autoconf-lib-link with modifications.
34998         * tests/havelib/rpathlz/usez.c: New file, from
34999         gettext/autoconf-lib-link.
35000         * tests/havelib/rpathlz/Makefile.am: New file, from
35001         gettext/autoconf-lib-link.
35002         * tests/havelib/rpathlz/configure.ac: New file, from
35003         gettext/autoconf-lib-link with modifications.
35004         * tests/havelib/rpathlyx/usey.c: New file, from
35005         gettext/autoconf-lib-link.
35006         * tests/havelib/rpathlyx/Makefile.am: New file, from
35007         gettext/autoconf-lib-link.
35008         * tests/havelib/rpathlyx/configure.ac: New file, from
35009         gettext/autoconf-lib-link with modifications.
35010         * tests/havelib/rpathlzyx/usez.c: New file, from
35011         gettext/autoconf-lib-link.
35012         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35013         gettext/autoconf-lib-link.
35014         * tests/havelib/rpathlzyx/configure.ac: New file, from
35015         gettext/autoconf-lib-link with modifications.
35016         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35017         with modifications.
35018
35019 2010-04-02  Bruno Haible  <bruno@clisp.org>
35020
35021         gnulib-tool: Create distributed built sources also for the tests.
35022         * gnulib-tool (func_create_testdir): Also generate distributed built
35023         sources in the tests directory.
35024
35025 2010-04-02  Bruno Haible  <bruno@clisp.org>
35026
35027         gnulib-tool: Obey user's environment variables.
35028         * gnulib-tool (func_create_testdir): When creating built sources,
35029         respect the environment variables for autoconf, automake, etc. given by
35030         the user.
35031
35032 2010-04-02  Bruno Haible  <bruno@clisp.org>
35033
35034         gnulib-tool: Provide the value of --m4-base to modules.
35035         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35036         of gl_m4_base.
35037
35038 2010-04-02  Eric Blake  <eblake@redhat.com>
35039
35040         maint.mk: fix some fallout
35041         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35042         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35043
35044 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35045
35046         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35047         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35048         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35049         (sc_cast_of_x_alloc_return_value): Likewise.
35050         (sc_cast_of_alloca_return_value): Likewise.
35051         (sc_space_tab): Likewise.
35052         (sc_prohibit_atoi_atof): Likewise.
35053         (sc_prohibit_magic_number_exit): Likewise.
35054         (sc_error_exit_success): Likewise.
35055         (sc_file_system): Likewise.
35056         (sc_prohibit_have_config_h): Likewise.
35057         (sc_require_config_h): Likewise.
35058         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35059         (sc_obsolete_symbols): Likewise.
35060         (sc_changelog): Likewise.
35061         (sc_program_name): Likewise.
35062         (sc_the_the): Likewise.
35063         (sc_trailing_blank): Likewise.
35064         (sc_two_space_separator_in_usage): Likewise.
35065         (sc_useless_cpp_parens): Likewise.
35066         (sc_GPL_version): Likewise.
35067         (sc_GFDL_version): Likewise.
35068         (sc_texinfo_acronym): Likewise.
35069         (sc_prohibit_cvs_keyword): Likewise.
35070         (sc_prohibit_stat_st_blocks): Likewise.
35071         (sc_prohibit_S_IS_definition): Likewise.
35072         (sc_redundant_const): Likewise.
35073         (sc_makefile_TAB_only_indentation): Likewise.
35074         (sc_m4_quote_check): Likewise.
35075         (sc_makefile_path_separator_check): Likewise.
35076         (sc_copyright_check): Likewise.
35077         (sc_Wundef_boolean): Likewise.
35078         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
35079
35080         maint.mk: match 0 or more whitespace-before-function-call '('
35081         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
35082         that have zero or two-and-more spaces between the function name
35083         and the open parenthesis.
35084         (sc_error_message_warn_fatal): Likewise.
35085         (sc_error_message_uppercase): Likewise.
35086         (sc_error_message_period): Likewise.
35087
35088 2010-03-31  Eric Blake  <eblake@redhat.com>
35089
35090         maint.mk: check for [ as well as test
35091         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35092         Based on a libvirt report by Matthias Bolte.
35093
35094         gnumakefile: don't squelch _version output
35095         * top/GNUmakefile (_version): Create one-shot dependency rather
35096         than using $(shell) when version must be regenerated.
35097         (_autoreconf): Run verbosely, by default.
35098
35099         sys_time: avoid compiler warnings
35100         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35101         unconditional, fixing regression from 2010-03-29.
35102         Reported by Simon Josefsson.
35103
35104 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35105
35106         maint.mk: s/_header_without_use/_sc_header_without_use/
35107         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35108         (sc_prohibit_assert_without_use): Use the new name.
35109         (sc_prohibit_close_stream_without_use): Likewise.
35110         (sc_prohibit_getopt_without_use): Likewise.
35111         (sc_prohibit_quotearg_without_use): Likewise.
35112         (sc_prohibit_quote_without_use): Likewise.
35113         (sc_prohibit_long_options_without_use): Likewise.
35114         (sc_prohibit_inttostr_without_use): Likewise.
35115         (sc_prohibit_ignore_value_without_use): Likewise.
35116         (sc_prohibit_error_without_use): Likewise.
35117         (sc_prohibit_xalloc_without_use): Likewise.
35118         (sc_prohibit_hash_without_use): Likewise.
35119         (sc_prohibit_hash_pjw_without_use): Likewise.
35120         (sc_prohibit_safe_read_without_use): Likewise.
35121         (sc_prohibit_argmatch_without_use): Likewise.
35122         (sc_prohibit_canonicalize_without_use): Likewise.
35123         (sc_prohibit_root_dev_ino_without_use): Likewise.
35124         (sc_prohibit_openat_without_use): Likewise.
35125         (sc_prohibit_c_ctype_without_use): Likewise.
35126         (sc_prohibit_signal_without_use): Likewise.
35127         (sc_prohibit_intprops_without_use): Likewise.
35128
35129 2010-03-30  Eric Blake  <eblake@redhat.com>
35130
35131         maint: improve module indicators
35132         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35133         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35134         columns, and avoid extra macro expansion.
35135
35136         fdopendir: work around FreeBSD bug
35137         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35138         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35139         * modules/dirent (Makefile.am): Substitute it.
35140         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35141         declaration.
35142         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35143         fix.
35144         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35145
35146 2010-03-29  Bruno Haible  <bruno@clisp.org>
35147
35148         Emit #pragma system_header after the inclusion guard, not before.
35149         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35150         guard that spans the entire file, not before. This enables an
35151         optimization in GCC's preprocessor.
35152         * lib/ctype.in.h: Likewise.
35153         * lib/dirent.in.h: Likewise.
35154         * lib/errno.in.h: Likewise.
35155         * lib/float.in.h: Likewise.
35156         * lib/getopt.in.h: Likewise.
35157         * lib/iconv.in.h: Likewise.
35158         * lib/langinfo.in.h: Likewise.
35159         * lib/locale.in.h: Likewise.
35160         * lib/math.in.h: Likewise.
35161         * lib/netdb.in.h: Likewise.
35162         * lib/netinet_in.in.h: Likewise.
35163         * lib/pty.in.h: Likewise.
35164         * lib/sched.in.h: Likewise.
35165         * lib/se-selinux.in.h: Likewise.
35166         * lib/search.in.h: Likewise.
35167         * lib/spawn.in.h: Likewise.
35168         * lib/stdarg.in.h: Likewise.
35169         * lib/stdint.in.h: Likewise.
35170         * lib/string.in.h: Likewise.
35171         * lib/strings.in.h: Likewise.
35172         * lib/sys_file.in.h: Likewise.
35173         * lib/sys_ioctl.in.h: Likewise.
35174         * lib/sys_time.in.h: Likewise.
35175         * lib/sys_times.in.h: Likewise.
35176         * lib/sys_utsname.in.h: Likewise.
35177         * lib/sys_wait.in.h: Likewise.
35178         * lib/sysexits.in.h: Likewise.
35179         * lib/wctype.in.h: Likewise.
35180
35181 2010-03-28  James Youngman  <jay@gnu.org>
35182
35183         save-cwd: don't leak a file descriptor when the caller execs.
35184         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35185         saved file descriptor.
35186         * modules/save-cwd (Depends-on): Depend on cloexec.
35187
35188 2010-03-29  Bruno Haible  <bruno@clisp.org>
35189
35190         Remove vestiges of fts-lgpl module.
35191         * lib/fts_.h: Assume GNULIB_FTS is 1.
35192         * lib/fts.c: Likewise.
35193         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35194
35195 2010-03-28  Bruno Haible  <bruno@clisp.org>
35196
35197         Fix definition of tests witness macro.
35198         * gnulib-tool (func_import): Fix definition of witness macro.
35199
35200 2010-03-28  Bruno Haible  <bruno@clisp.org>
35201
35202         Fix ioctl's protoype on glibc systems.
35203         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35204         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35205         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35206         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35207         signature. If not, arrange to replace the ioctl function.
35208         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35209         REPLACE_IOCTL.
35210         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35211         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35212         Reported by Ludovic Courtès <ludo@gnu.org>.
35213
35214 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35215
35216         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35217         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35218         made it so grep -r --include=GLOB* ... did not work.
35219
35220 2010-03-26  Jim Meyering  <meyering@redhat.com>
35221             Eric Blake  <eblake@redhat.com>
35222
35223         maint.mk: prohibit use of test's -o and -a operators
35224         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35225
35226 2010-03-28  Bruno Haible  <bruno@clisp.org>
35227
35228         Remove unused GNULIB_XYZ macro definitions.
35229         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35230         invocation.
35231
35232 2010-03-28  Bruno Haible  <bruno@clisp.org>
35233
35234         Mark privileged tests modules.
35235         * modules/idpriv-drop-tests (Status): New section.
35236         * modules/idpriv-droptemp-tests (Status): New section.
35237
35238 2010-03-28  Bruno Haible  <bruno@clisp.org>
35239
35240         Split C++ tests into separate tests modules.
35241         * modules/dirent-c++-tests: New file, extracted from
35242         modules/dirent-tests.
35243         * modules/dirent-tests: Depend on it.
35244         * modules/fcntl-h-c++-tests: New file, extracted from
35245         modules/fcntl-h-tests.
35246         * modules/fcntl-h-tests: Depend on it.
35247         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35248         * modules/glob-tests: Depend on it.
35249         * modules/iconv-h-c++-tests: New file, extracted from
35250         modules/iconv-h-tests.
35251         * modules/iconv-h-tests: Depend on it.
35252         * modules/langinfo-c++-tests: New file, extracted from
35253         modules/langinfo-tests.
35254         * modules/langinfo-tests: Depend on it.
35255         * modules/locale-c++-tests: New file, extracted from
35256         modules/locale-tests.
35257         * modules/locale-tests: Depend on it.
35258         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35259         * modules/math-tests: Depend on it.
35260         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35261         * modules/pty-tests: Depend on it.
35262         * modules/search-c++-tests: New file, extracted from
35263         modules/search-tests.
35264         * modules/search-tests: Depend on it.
35265         * modules/signal-c++-tests: New file, extracted from
35266         modules/signal-tests.
35267         * modules/signal-tests: Depend on it.
35268         * modules/spawn-c++-tests: New file, extracted from
35269         modules/spawn-tests.
35270         * modules/spawn-tests: Depend on it.
35271         * modules/stdio-c++-tests: New file, extracted from
35272         modules/stdio-tests.
35273         * modules/stdio-tests: Depend on it.
35274         * modules/stdlib-c++-tests: New file, extracted from
35275         modules/stdlib-tests.
35276         * modules/stdlib-tests: Depend on it.
35277         * modules/string-c++-tests: New file, extracted from
35278         modules/string-tests.
35279         * modules/string-tests: Depend on it.
35280         * modules/sys_ioctl-c++-tests: New file, extracted from
35281         modules/sys_ioctl-tests.
35282         * modules/sys_ioctl-tests: Depend on it.
35283         * modules/sys_select-c++-tests: New file, extracted from
35284         modules/sys_select-tests.
35285         * modules/sys_select-tests: Depend on it.
35286         * modules/sys_socket-c++-tests: New file, extracted from
35287         modules/sys_socket-tests.
35288         * modules/sys_socket-tests: Depend on it.
35289         * modules/sys_stat-c++-tests: New file, extracted from
35290         modules/sys_stat-tests.
35291         * modules/sys_stat-tests: Depend on it.
35292         * modules/sys_time-c++-tests: New file, extracted from
35293         modules/sys_time-tests.
35294         * modules/sys_time-tests: Depend on it.
35295         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35296         * modules/time-tests: Depend on it.
35297         * modules/unistd-c++-tests: New file, extracted from
35298         modules/unistd-tests.
35299         * modules/unistd-tests: Depend on it.
35300         * modules/wchar-c++-tests: New file, extracted from
35301         modules/wchar-tests.
35302         * modules/wchar-tests: Depend on it.
35303         * modules/wctype-c++-tests: New file, extracted from
35304         modules/wctype-tests.
35305         * modules/wctype-tests: Depend on it.
35306         Reported by Simon Josefsson.
35307
35308 2010-03-28  Bruno Haible  <bruno@clisp.org>
35309
35310         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35311         * gnulib-tool (func_exists_module): New function, extracted from
35312         func_verify_module.
35313         (func_verify_module): Use it.
35314         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35315         'foo' only if 'foo' exists.
35316         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35317         module.
35318
35319 2010-03-28  Bruno Haible  <bruno@clisp.org>
35320
35321         gnulib-tool: Add support for special categories of tests.
35322         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35323         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35324         (func_usage): Document them.
35325         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35326         inc_unportable_tests, inc_all_tests): New variables.
35327         (func_acceptable): Consider these variables.
35328         (func_modules_transitive_closure): Make it work when the 'Status' field
35329         consists of multiple words.
35330         (func_import): Store and restore the values of inc_cxx_tests,
35331         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35332         inc_all_tests in gnulib-comp.m4.
35333         (func_create_testdir): Set inc_all_tests to true.
35334         * doc/gnulib.texi (Extra tests modules): New section.
35335         Suggested by Jim Meyering.
35336
35337 2010-03-28  Bruno Haible  <bruno@clisp.org>
35338
35339         ansi-c++-opt: Allow turning off the C++ build by default.
35340         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35341         gl_CXX_CHOICE_DEFAULT_NO is defined.
35342         Requested by Eric Blake.
35343
35344 2010-03-28  Bruno Haible  <bruno@clisp.org>
35345
35346         unistd: Avoid #define replacements in C++ mode.
35347         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35348         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35349         setsockopt, shutdown, select): In C++, attach a warning to the function
35350         if possible, rather than #defining the symbol to a dysfunctional alias.
35351         Reported by John W. Eaton <jwe@gnu.org>.
35352
35353 2010-03-28  Bruno Haible  <bruno@clisp.org>
35354
35355         Fix link errors on mingw.
35356         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35357         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35358         $(LIBSOCKET).
35359         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35360         $(LIBSOCKET).
35361
35362 2010-03-28  Bruno Haible  <bruno@clisp.org>
35363             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35364
35365         lib-ignore: Determine different options for different compilers.
35366         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35367         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35368         Add comments.
35369         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35370         * NEWS: Mention the change.
35371
35372 2010-03-27  Bruno Haible  <bruno@clisp.org>
35373
35374         Remove unused GNULIB_XYZ macro definitions.
35375         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35376         * modules/fseek (configure.ac): Likewise.
35377         * modules/ioctl (configure.ac): Likewise.
35378         * modules/open (configure.ac): Likewise.
35379         * modules/stdlib-safer (configure.ac): Likewise.
35380
35381 2010-03-27  Bruno Haible  <bruno@clisp.org>
35382
35383         Add a remark about certain modules.
35384         * modules/malloc (Comment): New section.
35385         * modules/realloc (Comment): Likewise.
35386         * modules/sigpipe (Comment): Likewise.
35387
35388 2010-03-27  Bruno Haible  <bruno@clisp.org>
35389
35390         Resolve conflict between the two kinds of module indicators.
35391         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35392         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35393         * modules/canonicalize (configure.ac): Invoke
35394         gl_MODULE_INDICATOR_FOR_TESTS.
35395         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35396         GNULIB_XYZ.
35397         * tests/test-dirent-c++.cc: Likewise.
35398         * tests/test-dirent-safer.c: Likewise.
35399         * tests/test-dup2.c: Likewise.
35400         * tests/test-fchdir.c: Likewise.
35401         * tests/test-fcntl-h-c++.cc: Likewise.
35402         * tests/test-getopt.c: Likewise.
35403         * tests/test-getopt.h: Likewise.
35404         * tests/test-langinfo-c++.cc: Likewise.
35405         * tests/test-locale-c++.cc: Likewise.
35406         * tests/test-math-c++.cc: Likewise.
35407         * tests/test-pty-c++.cc: Likewise.
35408         * tests/test-search-c++.cc: Likewise.
35409         * tests/test-signal-c++.cc: Likewise.
35410         * tests/test-spawn-c++.cc: Likewise.
35411         * tests/test-stdio-c++.cc: Likewise.
35412         * tests/test-stdlib-c++.cc: Likewise.
35413         * tests/test-string-c++.cc: Likewise.
35414         * tests/test-sys_ioctl-c++.cc: Likewise.
35415         * tests/test-sys_select-c++.cc: Likewise.
35416         * tests/test-sys_socket-c++.cc: Likewise.
35417         * tests/test-sys_stat-c++.cc: Likewise.
35418         * tests/test-sys_time-c++.cc: Likewise.
35419         * tests/test-time-c++.cc: Likewise.
35420         * tests/test-unistd-c++.cc: Likewise.
35421         * tests/test-wchar-c++.cc: Likewise.
35422         * tests/uninorm/test-u8-nfc.c: Likewise.
35423         * tests/uninorm/test-u8-nfd.c: Likewise.
35424         * tests/uninorm/test-u8-nfkc.c: Likewise.
35425         * tests/uninorm/test-u8-nfkd.c: Likewise.
35426         * tests/uninorm/test-u16-nfc.c: Likewise.
35427         * tests/uninorm/test-u16-nfd.c: Likewise.
35428         * tests/uninorm/test-u16-nfkc.c: Likewise.
35429         * tests/uninorm/test-u16-nfkd.c: Likewise.
35430         * tests/uninorm/test-u32-nfc.c: Likewise.
35431         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35432         * tests/uninorm/test-u32-nfd.c: Likewise.
35433         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35434         * tests/uninorm/test-u32-nfkc.c: Likewise.
35435         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35436         * tests/uninorm/test-u32-nfkd.c: Likewise.
35437         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35438         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35439
35440 2010-03-27  Bruno Haible  <bruno@clisp.org>
35441
35442         Distinguish two kinds of module indicators.
35443         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35444         gl_MODULE_INDICATOR.
35445         (gl_MODULE_INDICATOR): New macro.
35446         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35447         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35448         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35449         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35450         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35451         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35452         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35453         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35454         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35455         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35456         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35457         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35458         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35459         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35460         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35461         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35462         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35463         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35464         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35465         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35466         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35467         * modules/cloexec (configure.ac): Likewise.
35468         * modules/getopt-gnu (configure.ac): Likewise.
35469         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35470         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35471         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35472         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35473
35474 2010-03-27  Bruno Haible  <bruno@clisp.org>
35475
35476         New module description field 'Comment'.
35477         * gnulib-tool: New option --extract-comment.
35478         (func_usage): Document it.
35479         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35480         (func_get_comment): New function.
35481         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35482
35483 2010-03-27  Bruno Haible  <bruno@clisp.org>
35484
35485         Addendum to 2010-02-07 commit.
35486         * gnulib-tool (func_usage): Document --extract-applicability option.
35487
35488 2010-03-27  Bruno Haible  <bruno@clisp.org>
35489
35490         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35491         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35492         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35493         rather than link errors.
35494
35495 2010-03-27  Bruno Haible  <bruno@clisp.org>
35496
35497         Avoid side effects from tests-related modules on the compilation of lib.
35498         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35499         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35500         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35501         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35502         macro.
35503         (func_import): Define a witness macro. Assign it a value that depends
35504         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35505         tests-related modules.
35506         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35507         Reported by Jim Meyering.
35508
35509 2010-03-27  Bruno Haible  <bruno@clisp.org>
35510
35511         Factorize common .m4 code.
35512         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35513         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35514         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35515         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35516         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35517         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35518         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35519         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35520         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35521         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35522         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35523         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35524         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35525         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35526         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35527         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35528         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35529         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35530         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35531         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35532         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35533         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35534         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35535         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35536         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35537         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35538         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35539         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35540         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35541         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35542         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35543         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35544
35545 2010-03-27  Bruno Haible  <bruno@clisp.org>
35546
35547         Fix a compilation error on Cygwin with g++ >= 4.3.
35548         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35549         if it is undefined or if we alias it to chmod.
35550         (lstat): Don't warn about the use of this function if it is undefined
35551         or if we alias it to stat.
35552         Reported by Simon Josefsson.
35553
35554 2010-03-27  Bruno Haible  <bruno@clisp.org>
35555
35556         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35557         * modules/getlogin (configure.ac): Update.
35558
35559         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35560         * modules/getlogin_r (configure.ac): Update.
35561
35562         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35563         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35564         * modules/inet_ntop (configure.ac): Update.
35565
35566         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35567         * modules/inet_pton (configure.ac): Update.
35568
35569         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35570         * modules/mbslen (configure.ac): Update.
35571
35572         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35573         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35574         * modules/forkpty (configure.ac): Update.
35575         * modules/openpty (configure.ac): Update.
35576
35577 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35578
35579         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35580         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35581
35582 2010-03-25  Eric Blake  <eblake@redhat.com>
35583
35584         maint: use pragma consistently across replacement headers
35585         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35586         * lib/dirent.in.h (system_header): Likewise.
35587         * lib/errno.in.h (system_header): Likewise.
35588         * lib/float.in.h (system_header): Likewise.
35589         * lib/getopt.in.h (system_header): Likewise.
35590         * lib/iconv.in.h (system_header): Likewise.
35591         * lib/inttypes.in.h (system_header): Likewise.
35592         * lib/langinfo.in.h (system_header): Likewise.
35593         * lib/locale.in.h (system_header): Likewise.
35594         * lib/math.in.h (system_header): Likewise.
35595         * lib/netdb.in.h (system_header): Likewise.
35596         * lib/netinet_in.in.h (system_header): Likewise.
35597         * lib/pty.in.h (system_header): Likewise.
35598         * lib/sched.in.h (system_header): Likewise.
35599         * lib/se-selinux.in.h (system_header): Likewise.
35600         * lib/search.in.h (system_header): Likewise.
35601         * lib/spawn.in.h (system_header): Likewise.
35602         * lib/stdarg.in.h (system_header): Likewise.
35603         * lib/stdint.in.h (system_header): Likewise.
35604         * lib/string.in.h (system_header): Likewise.
35605         * lib/strings.in.h (system_header): Likewise.
35606         * lib/sys_file.in.h (system_header): Likewise.
35607         * lib/sys_ioctl.in.h (system_header): Likewise.
35608         * lib/sys_socket.in.h (system_header): Likewise.
35609         * lib/sys_times.in.h (system_header): Likewise.
35610         * lib/sys_utsname.in.h (system_header): Likewise.
35611         * lib/sys_wait.in.h (system_header): Likewise.
35612         * lib/sysexits.in.h (system_header): Likewise.
35613         * lib/unistd.in.h (system_header): Likewise.
35614         * lib/wctype.in.h (system_header): Likewise.
35615
35616         arpa/inet: fix mingw compilation warning
35617         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35618         Reported by Matthew Bolte.
35619
35620 2010-03-25  Bruno Haible  <bruno@clisp.org>
35621
35622         Avoid collision between gnulib wrapper and libintl wrapper.
35623         * lib/printf.c (printf): Don't define if a printf wrapper is already
35624         defined in intl/printf.c.
35625         Reported by Michel Boaventura <michel@michelboaventura.com>.
35626
35627 2010-03-25  Bruno Haible  <bruno@clisp.org>
35628
35629         Use ANSI C.
35630         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35631
35632 2010-03-25  Bruno Haible  <bruno@clisp.org>
35633
35634         Minor formatting changes.
35635         * lib/acosl.c: Insert space before function argument list.
35636         * lib/argz.c: Likewise.
35637         * lib/asinl.c: Likewise.
35638         * lib/expl.c: Likewise.
35639         * lib/gen-uni-tables.c: Likewise.
35640         * lib/gettext.h: Likewise.
35641         * lib/glthread/lock.h: Likewise.
35642         * lib/tanl.c: Likewise.
35643         * lib/uniname/uniname.c: Likewise.
35644         * tests/test-idpriv-drop.c: Likewise.
35645         * tests/test-idpriv-droptemp.c: Likewise.
35646         * tests/test-lock.c: Likewise.
35647         * tests/test-tls.c: Likewise.
35648         * lib/argp-help.c: Insert space before function-like macro argument
35649         list.
35650         * lib/memcmp.c: Likewise.
35651         * tests/test-base64.c: Likewise.
35652         * lib/localename.c: Insert space before sizeof's argument list.
35653         * lib/safe-alloc.h: Likewise.
35654         * lib/file-set.h: Insert space before macro argument list.
35655         * tests/test-argp.c: Likewise.
35656         * lib/argp-namefrob.h: Insert space before function parameter list.
35657         * lib/getaddrinfo.c: Likewise.
35658         * lib/netdb.in.h: Likewise.
35659         * lib/parse-duration.h: Likewise.
35660         * lib/parse-duration.c: Likewise.
35661         * lib/poll.c: Likewise.
35662         * lib/select.c: Likewise.
35663         * lib/trim.h: Likewise.
35664         * tests/test-usleep.c: Likewise.
35665         * lib/ldexpl.c: Insert space before function parameter list and before
35666         function argument list.
35667         * lib/logl.c: Likewise.
35668         * lib/sqrtl.c: Likewise.
35669         * lib/trim.c: Likewise.
35670         * lib/cosl.c: Use GNU style indentation. Insert space before function
35671         argument list.
35672         * lib/sinl.c: Likewise.
35673         * lib/tsearch.c: Insert space after 'for'.
35674         Reported by Jim Meyering.
35675
35676 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35677
35678         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35679         config header before grepping, as it's not present before
35680         autoreconf/configure are run.  Reported by Simon Josefsson.
35681
35682 2010-03-23  Bruno Haible  <bruno@clisp.org>
35683
35684         pt_chown: Make it work with automake < 1.11.
35685         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35686         Reported by Simon Josefsson.
35687
35688 2010-03-23  Bruno Haible  <bruno@clisp.org>
35689
35690         pt_chown: Don't depend on GPLed modules.
35691         * lib/pt_chown.c: Don't include idpriv.h.
35692         (main): Don't drop privileges.
35693         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35694         Reported by Simon Josefsson.
35695
35696 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35697
35698         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35699         suggestions from karl@freefriends.org (Karl Berry).
35700
35701 2010-03-22  Eric Blake  <eblake@redhat.com>
35702
35703         gethostname: further tweaks
35704         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35705         are overriding gethostname.
35706         Suggested by Bruno Haible.
35707
35708 2010-03-21  Bruno Haible  <bruno@clisp.org>
35709
35710         Fix comments.
35711         * lib/forkpty.c (rpl_forkpty): Fix comment.
35712         * lib/openpty.c (rpl_openpty): Likewise.
35713         Reported by Eric Blake.
35714
35715 2010-03-22  Eric Blake  <eblake@redhat.com>
35716
35717         gethostname: fix build on mingw
35718         * lib/unistd.in.h (includes): Work around fact that mingw
35719         <winsock2.h> re-includes <unistd.h>, by avoiding any
35720         redeclarations if we are being included by <winsock2.h>.
35721         Reported by Matthias Bolte.
35722
35723 2010-03-21  Bruno Haible  <bruno@clisp.org>
35724
35725         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35726         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35727         modifications.
35728         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35729         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35730         provide the replacement.
35731         * modules/forkpty (Depends-on): Add openpty, login_tty.
35732         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35733         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35734         * doc/glibc-functions/forkpty.texi: More supported platforms.
35735         * config/srclist.txt: Add forkpty.c (commented).
35736
35737 2010-03-21  Bruno Haible  <bruno@clisp.org>
35738
35739         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35740         (Makefile.am): Verify that PTY_LIB is defined.
35741
35742         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35743
35744 2010-03-21  Bruno Haible  <bruno@clisp.org>
35745
35746         Tests for module 'login_tty'.
35747         * modules/login_tty-tests: New file.
35748         * tests/test-login_tty.c: New file.
35749
35750         New module 'login_tty'.
35751         * lib/login_tty.c: New file.
35752         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35753         * modules/login_tty: New file.
35754         * doc/glibc-functions/login_tty.texi: Mention the new module.
35755
35756 2010-03-21  Bruno Haible  <bruno@clisp.org>
35757
35758         login_tty: Documentation.
35759         * doc/glibc-functions/login_tty.texi: New file.
35760         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35761
35762 2010-03-21  Bruno Haible  <bruno@clisp.org>
35763
35764         pty: Consistent macro naming.
35765         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35766         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35767         * modules/pty (configure.ac): Update.
35768
35769 2010-03-21  Bruno Haible  <bruno@clisp.org>
35770
35771         Tests for openpty: Make stricter.
35772         * tests/test-openpty.c (main): Add test of canonical processing and
35773         erase.
35774         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35775
35776         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35777         * lib/openpty.c (openpty): New replacement function.
35778         * lib/pty.in.h: Include <termios.h>.
35779         (openpty): Update declaration. Add comments.
35780         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35781         is not declared, arrange to provide the replacement. Check for _getpty
35782         and posix_openpt.
35783         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35784         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35785         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35786         * modules/pty-tests (test_pty_c___LDADD): New variable.
35787         * doc/glibc-functions/openpty.texi: More supported platforms.
35788
35789 2010-03-21  Bruno Haible  <bruno@clisp.org>
35790
35791         setenv: Tweaks.
35792         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35793         the test program.
35794         * doc/posix-functions/setenv.texi: Update platforms list.
35795
35796 2010-03-21  Bruno Haible  <bruno@clisp.org>
35797
35798         New module 'unlockpt'.
35799         * lib/unlockpt.c: New file, from glibc with modifications.
35800         * m4/unlockpt.m4: New file.
35801         * modules/unlockpt: New file.
35802         * lib/stdlib.in.h (unlockpt): New declaration.
35803         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35804         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35805         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35806         HAVE_UNLOCKPT.
35807         * doc/posix-functions/unlockpt.texi: Mention the new module.
35808         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35809         * config/srclist.txt: Add unlockpt.c (commented).
35810
35811 2010-03-21  Jim Meyering  <meyering@redhat.com>
35812
35813         maint.mk: prohibit inclusion of "intprops.h" without use
35814         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35815
35816 2010-03-21  Bruno Haible  <bruno@clisp.org>
35817
35818         New module 'grantpt'.
35819         * lib/grantpt.c: New file, from glibc with modifications.
35820         * m4/grantpt.m4: New file.
35821         * modules/grantpt: New file.
35822         * lib/stdlib.in.h (grantpt): New declaration.
35823         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35824         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35825         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35826         HAVE_GRANTPT.
35827         * doc/posix-functions/grantpt.texi: Mention the new module.
35828         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35829         * config/srclist.txt: Add grantpt.c (commented).
35830
35831 2010-03-21  Bruno Haible  <bruno@clisp.org>
35832
35833         New module 'pt_chown'.
35834         * lib/pt_chown.c: New file, from glibc with modifications.
35835         * lib/pty-private.h: New file, from glibc with modifications.
35836         * modules/pt_chown: New file.
35837         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35838
35839 2010-03-21  Bruno Haible  <bruno@clisp.org>
35840
35841         Tests for module 'ptsname'.
35842         * modules/ptsname-tests: New file.
35843         * tests/test-ptsname.c: New file.
35844
35845         New module 'ptsname'.
35846         * lib/ptsname.c: New file, from glibc with modifications.
35847         * m4/ptsname.m4: New file.
35848         * modules/ptsname: New file.
35849         * lib/stdlib.in.h (ptsname): New declaration.
35850         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35851         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35852         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35853         HAVE_PTSNAME.
35854         * doc/posix-functions/ptsname.texi: Mention the new module.
35855         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35856         * config/srclist.txt: Add ptsname.c (commented).
35857
35858 2010-03-21  Bruno Haible  <bruno@clisp.org>
35859
35860         Tests for module 'ttyname_r'.
35861         * modules/ttyname_r-tests: New file.
35862         * tests/test-ttyname_r.c: New file.
35863
35864         New module 'ttyname_r'.
35865         * lib/ttyname_r.c: New file.
35866         * m4/ttyname_r.m4: New file.
35867         * modules/ttyname_r: New file.
35868         * lib/unistd.in.h (ttyname_r): New declaration.
35869         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35870         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35871         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35872         HAVE_TTYNAME_R.
35873         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35874         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35875
35876 2010-03-20  Bruno Haible  <bruno@clisp.org>
35877
35878         signal: Undefine macro definitions in C++ mode.
35879         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35880         sigfillset): Undefine macro definitions from the system header in C++
35881         mode.
35882         Reported by John W. Eaton <jwe@gnu.org>.
35883
35884 2010-03-20  Bruno Haible  <bruno@clisp.org>
35885
35886         Ensure no #include statements inside extern "C" { ... }.
35887         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35888         contain #include statements.
35889         * lib/time.in.h: Likewise.
35890
35891 2010-03-20  Bruno Haible  <bruno@clisp.org>
35892
35893         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35894         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35895         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35896         Reported by John W. Eaton <jwe@gnu.org>.
35897
35898 2010-03-20  Bruno Haible  <bruno@clisp.org>
35899
35900         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35901         Reported by Jim Meyering.
35902
35903 2010-03-20  Bruno Haible  <bruno@clisp.org>
35904
35905         pipe: Set errno upon failure.
35906         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35907         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35908         errno value in error message.
35909
35910 2010-03-20  Bruno Haible  <bruno@clisp.org>
35911             Jim Meyering  <meyering@redhat.com>
35912
35913         lchown: Avoid "unused variable" warning.
35914         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35915
35916 2010-03-20  Bruno Haible  <bruno@clisp.org>
35917
35918         Work around unlink() bug on MacOS X 10.5.6.
35919         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35920         attempting to unlink a parent directory.
35921         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35922         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35923         activate for the replacement function.
35924         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35925
35926 2010-03-20  Bruno Haible  <bruno@clisp.org>
35927
35928         Fix link errors on Solaris 8.
35929         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35930         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35931
35932 2010-03-19  Jim Meyering  <meyering@redhat.com>
35933
35934         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35935         The _LIBC implementation of build_range_exp correctly honors the
35936         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35937         However, the non-_LIBC implementation would ignore that syntax-bit
35938         flag and return REG_ERANGE unconditionally.
35939         This change makes it honor that flag.
35940         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35941         Make two pointer parameters "const".
35942         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35943         (parse_bracket_exp): Update caller.
35944
35945         regex.m4: correct the reversed range endpoint ([b-a]) test
35946         * m4/regex.m4: When requiring that [b-a] evoke failure,
35947         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35948         test pass once again for x86-based systems.
35949
35950 2010-03-19  Bruno Haible  <bruno@clisp.org>
35951
35952         scandir: Fix link error on Solaris 8.
35953         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35954         macros.
35955
35956 2010-03-19  Bruno Haible  <bruno@clisp.org>
35957
35958         getusershell: Fix documentation.
35959         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35960         module.
35961         * doc/glibc-functions/setusershell.texi: Likewise.
35962
35963         getusershell: Provide declaration, missing on Solaris 9.
35964         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35965         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35966         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35967         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35969         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35970         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35971         HAVE_GETUSERSHELL.
35972         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35973
35974 2010-03-19  Bruno Haible  <bruno@clisp.org>
35975
35976         wctype: Provide iswblank function.
35977         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35978         exists and is fine.
35979         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35980         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35981         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35982         * doc/posix-functions/iswblank.texi: Update.
35983
35984 2010-03-19  Bruno Haible  <bruno@clisp.org>
35985
35986         Tests of module 'pty' in C++ mode.
35987         * modules/pty-tests: New file.
35988         * tests/test-pty-c++.cc: New file.
35989         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35990
35991 2010-03-19  Eric Blake  <eblake@redhat.com>
35992
35993         logb: fix documentation
35994         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35995         1.5 declaration bug.
35996
35997         forkpty, openpty: prefer glibc's const-safe prototype
35998         * lib/forkpty.c (rpl_forkpty): New file.
35999         * lib/openpty.c (rpl_openpty): Likewise.
36000         * modules/forkpty (Files): Distribute it.
36001         * modules/openpty (Files): Likewise.
36002         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36003         check...
36004         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36005         replacement for for non-const BSD signature.
36006         * modules/pty (Makefile.am): Substitute witnesses.
36007         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36008         * tests/test-forkpty.c: Update signature check.
36009         * tests/test-openpty.c: Likewise.
36010         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36011         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36012
36013         forkpty, openpty: split functions into new modules
36014         * modules/pty (Makefile.am): Substitute new witnesses.
36015         (Libraries): Move library detection...
36016         * modules/forkpty: ...into new module.
36017         * modules/openpty: Another new module.
36018         * modules/pty-tests: Rename and split...
36019         * modules/forkpty-tests: ...to this...
36020         * modules/openpty-tests: ...and this.
36021         * tests/test-pty.c: Rename and split...
36022         * tests/test-forkpty.c: ...to this...
36023         * tests/test-openpty.c: ...and this.
36024         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36025         (gl_PTY): Split library searching...
36026         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36027         (gl_FORKPTY, gl_OPENPTY): New macros.
36028         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36029         * NEWS: Mention the split.
36030         * MODULES.html.sh (Misc): Document the modules.
36031         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36032         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36033
36034         pty: improve replacement header
36035         * lib/pty.in.h: New file.
36036         * modules/pty (Files): Ship it.
36037         (Makefile.am): Always build replacement.
36038         * m4/pty.m4: Rename...
36039         * m4/pty_h.m4: ...to this.
36040         (gl_PTY): Modernize setting of witness macros; update check of
36041         forkpty to take proper advantage of cache.
36042         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36043
36044         getopt: avoid compiler warning
36045         * lib/getopt.c (attribute_hidden): Remove unused macro.
36046
36047 2010-03-18  Bruno Haible  <bruno@clisp.org>
36048
36049         Fix link errors on Solaris 8.
36050         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36051         * modules/search-tests (test_search_c___LDADD): Likewise.
36052         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36053         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36054         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36055         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36056         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36057         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36058         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36059
36060 2010-03-18  Bruno Haible  <bruno@clisp.org>
36061
36062         Fix bug introduced on 2010-03-14.
36063         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36064         (gl_SPAWN_H): Require it.
36065         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36066         Reported by Simon Josefsson.
36067
36068 2010-03-18  Bruno Haible  <bruno@clisp.org>
36069
36070         Fix typo introduced on 2009-12-31.
36071         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36072         posix_spawn_file_actions_adddup2.
36073
36074 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36075         and Eric Blake  <eblake@redhat.com>
36076
36077         test-vc-list-files-git: make more robust
36078         * tests/test-vc-list-files-git.sh: Unset problematic environment
36079         variables.  Chain commands together.
36080
36081 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
36082
36083         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36084         `AC_CHECK_DECL' invocation.
36085
36086 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36087
36088         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36089         appears before executable statements. Suggested by Petr Sumbera
36090         <Petr.Sumbera@Sun.COM>.
36091
36092 2010-03-14  Bruno Haible  <bruno@clisp.org>
36093
36094         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36095         portability problems. Instead use a simpler test.
36096         (main): Check that invalid arguments are rejected only on Linux.
36097
36098 2010-03-14  Bruno Haible  <bruno@clisp.org>
36099
36100         Fix bug introduced on 2009-12-31.
36101         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36102         gl_PREREQ_SYS_H_WINSOCK2 always.
36103         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36104         SYS_SOCKET_H variable.
36105         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36106         Update comments.
36107         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36108         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36109         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36110         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36111         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36112
36113 2010-03-14  Bruno Haible  <bruno@clisp.org>
36114
36115         Fix values returned by sinl, cosl.
36116         * lib/trigl.h: Add specification comments.
36117         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36118         that combines the values from the precomputed table with the values of
36119         the Chebyshev polynomials.
36120
36121 2010-03-14  Bruno Haible  <bruno@clisp.org>
36122
36123         Fix compilation error when modules 'posix_spawn[p]' are not used.
36124         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36125         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36126
36127 2010-03-14  Bruno Haible  <bruno@clisp.org>
36128
36129         Fix compilation error on mingw when module 'time_r' is not used.
36130         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36131         is 1.
36132         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36133         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36134         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36135         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36136
36137 2010-03-14  Bruno Haible  <bruno@clisp.org>
36138
36139         Fix compilation error with Sun C.
36140         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36141         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36142         instead of GCC specific ULONG_LONG_MAX.
36143         * lib/xstrtoll.c: Likewise.
36144         * lib/xstrtoull.c: Likewise.
36145
36146 2010-03-13  Bruno Haible  <bruno@clisp.org>
36147
36148         Allow the user to disable C++ code and tests.
36149         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36150         (gl_PROG_ANSI_CXX): Require it.
36151
36152 2010-03-13  Bruno Haible  <bruno@clisp.org>
36153
36154         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36155         cases.
36156
36157 2010-03-13  Bruno Haible  <bruno@clisp.org>
36158
36159         Test that gnulib does not break the standard C++ headers.
36160         * tests/test-locale-c++2.cc: New file.
36161         * modules/locale-tests (Files): Add it.
36162         (Makefile.am): Compile it for test-locale-c++.
36163         * tests/test-math-c++2.cc: New file.
36164         * modules/math-tests (Files): Add it.
36165         (Makefile.am): Compile it for test-math-c++.
36166         * tests/test-signal-c++2.cc: New file.
36167         * modules/signal-tests (Files): Add it.
36168         (Makefile.am): Compile it for test-signal-c++.
36169         * tests/test-stdio-c++2.cc: New file.
36170         * modules/stdio-tests (Files): Add it.
36171         (Makefile.am): Compile it for test-stdio-c++.
36172         * tests/test-stdlib-c++2.cc: New file.
36173         * modules/stdlib-tests (Files): Add it.
36174         (Makefile.am): Compile it for test-stdlib-c++.
36175         * tests/test-string-c++2.cc: New file.
36176         * modules/string-tests (Files): Add it.
36177         (Makefile.am): Compile it for test-string-c++.
36178         * tests/test-time-c++2.cc: New file.
36179         * modules/time-tests (Files): Add it.
36180         (Makefile.am): Compile it for test-time-c++.
36181         Reported by John W. Eaton <jwe@gnu.org>.
36182
36183 2010-03-13  Bruno Haible  <bruno@clisp.org>
36184
36185         * gnulib-tool (func_usage): Clarify which options are available for
36186         --create-testdir and --create-megatestdir.
36187
36188 2010-03-13  Bruno Haible  <bruno@clisp.org>
36189
36190         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36191         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36192         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36193         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36194         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36195         when appropriate.
36196         Reported by Jim Meyering.
36197
36198 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36199
36200         * gnulib-tool (func_import): Explain origin of code.
36201
36202 2010-03-12  Bruno Haible  <bruno@clisp.org>
36203
36204         Fix problem with automake's definition of CXXLINK.
36205         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36206         Reported by Simon Josefsson and Ludovic Courtès.
36207
36208 2010-03-12  Bruno Haible  <bruno@clisp.org>
36209
36210         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36211         stable releases.
36212
36213 2010-03-11  Bruno Haible  <bruno@clisp.org>
36214
36215         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36216         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36217         whether the system provides one variant or multiple variants of the
36218         function.
36219         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36220         C++ compilers.
36221         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36222         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36223         Reported by Jim Meyering.
36224
36225 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36226
36227         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36228
36229 2010-03-08  Bruno Haible  <bruno@clisp.org>
36230
36231         gnulib-tool: Add support for --libtool in --create-testdir.
36232         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36233         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36234
36235 2010-03-08  Eric Blake  <eblake@redhat.com>
36236
36237         gnulib-tool.texi: mention possibility of git submodule
36238         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36239         submodules.
36240         * doc/.gitignore: Ignore another generated file.
36241
36242 2010-03-08  Karl Berry  <karl@gnu.org>
36243
36244         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36245         of committing gnulib files while skipping others.
36246
36247 2010-03-07  Bruno Haible  <bruno@clisp.org>
36248
36249         Tests of module 'wctype' in C++ mode.
36250         * tests/test-wctype-c++.cc: New file.
36251         * modules/wctype-tests (Files): Add it and tests/signature.h.
36252         (Depends-on): Add ansi-c++-opt.
36253         (Makefile.am): Arrange to compile and run test-wctype-c++.
36254
36255         Tests of module 'wchar' in C++ mode.
36256         * tests/test-wchar-c++.cc: New file.
36257         * modules/wchar-tests (Files): Add it and tests/signature.h.
36258         (Depends-on): Add ansi-c++-opt.
36259         (Makefile.am): Arrange to compile and run test-wchar-c++.
36260         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36261         gl_MODULE_INDICATOR.
36262
36263         Tests of module 'unistd' in C++ mode.
36264         * tests/test-unistd-c++.cc: New file.
36265         * modules/unistd-tests (Files): Add it and tests/signature.h.
36266         (Depends-on): Add ansi-c++-opt.
36267         (Makefile.am): Arrange to compile and run test-unistd-c++.
36268         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36269         gl_MODULE_INDICATOR.
36270
36271         Tests of module 'time' in C++ mode.
36272         * tests/test-time-c++.cc: New file.
36273         * modules/time-tests (Files): Add it and tests/signature.h.
36274         (Depends-on): Add ansi-c++-opt.
36275         (Makefile.am): Arrange to compile and run test-time-c++.
36276         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36277
36278         Tests of module 'sys_time' in C++ mode.
36279         * tests/test-sys_time-c++.cc: New file.
36280         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36281         (Depends-on): Add ansi-c++-opt.
36282         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36283         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36284         gl_MODULE_INDICATOR.
36285
36286         Tests of module 'sys_stat' in C++ mode.
36287         * tests/test-sys_stat-c++.cc: New file.
36288         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36289         (Depends-on): Add ansi-c++-opt.
36290         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36291         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36292         gl_MODULE_INDICATOR.
36293
36294         Tests of module 'sys_socket' in C++ mode.
36295         * tests/test-sys_socket-c++.cc: New file.
36296         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36297         (Depends-on): Add ansi-c++-opt.
36298         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36299         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36300         gl_MODULE_INDICATOR.
36301
36302         Tests of module 'sys_select' in C++ mode.
36303         * tests/test-sys_select-c++.cc: New file.
36304         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36305         (Depends-on): Add ansi-c++-opt.
36306         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36307         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36308         gl_MODULE_INDICATOR.
36309
36310         Tests of module 'sys_ioctl' in C++ mode.
36311         * tests/test-sys_ioctl-c++.cc: New file.
36312         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36313         (Depends-on): Add ansi-c++-opt.
36314         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36315         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36316         gl_MODULE_INDICATOR.
36317
36318         Tests of module 'string' in C++ mode.
36319         * tests/test-string-c++.cc: New file.
36320         * modules/string-tests (Files): Add it and tests/signature.h.
36321         (Depends-on): Add ansi-c++-opt.
36322         (Makefile.am): Arrange to compile and run test-string-c++.
36323         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36324         gl_MODULE_INDICATOR.
36325
36326         Tests of module 'stdlib' in C++ mode.
36327         * tests/test-stdlib-c++.cc: New file.
36328         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36329         (Depends-on): Add ansi-c++-opt.
36330         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36331         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36332         gl_MODULE_INDICATOR.
36333
36334         Tests of module 'stdio' in C++ mode.
36335         * tests/test-stdio-c++.cc: New file.
36336         * modules/stdio-tests (Files): Add it and tests/signature.h.
36337         (Depends-on): Add ansi-c++-opt.
36338         (Makefile.am): Arrange to compile and run test-stdio-c++.
36339         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36340         gl_MODULE_INDICATOR.
36341
36342         Tests of module 'spawn' in C++ mode.
36343         * tests/test-spawn-c++.cc: New file.
36344         * modules/spawn-tests (Files): Add it and tests/signature.h.
36345         (Depends-on): Add ansi-c++-opt.
36346         (Makefile.am): Arrange to compile and run test-spawn-c++.
36347         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36348         gl_MODULE_INDICATOR.
36349
36350         Tests of module 'signal' in C++ mode.
36351         * tests/test-signal-c++.cc: New file.
36352         * modules/signal-tests (Files): Add it and tests/signature.h.
36353         (Depends-on): Add ansi-c++-opt.
36354         (Makefile.am): Arrange to compile and run test-signal-c++.
36355         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36356         gl_MODULE_INDICATOR.
36357
36358         Tests of module 'search' in C++ mode.
36359         * tests/test-search-c++.cc: New file.
36360         * modules/search-tests (Files): Add it and tests/signature.h.
36361         (Depends-on): Add ansi-c++-opt.
36362         (Makefile.am): Arrange to compile and run test-search-c++.
36363         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36364         gl_MODULE_INDICATOR.
36365
36366         Tests of module 'math' in C++ mode.
36367         * tests/test-math-c++.cc: New file.
36368         * modules/math-tests (Files): Add it and tests/signature.h.
36369         (Depends-on): Add ansi-c++-opt.
36370         (Makefile.am): Arrange to compile and run test-math-c++.
36371         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36372
36373         Tests of module 'locale' in C++ mode.
36374         * tests/test-locale-c++.cc: New file.
36375         * modules/locale-tests (Files): Add it and tests/signature.h.
36376         (Depends-on): Add ansi-c++-opt.
36377         (Makefile.am): Arrange to compile and run test-locale-c++.
36378         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36379         gl_MODULE_INDICATOR.
36380
36381         Tests of module 'langinfo' in C++ mode.
36382         * tests/test-langinfo-c++.cc: New file.
36383         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36384         (Depends-on): Add ansi-c++-opt.
36385         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36386         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36387         gl_MODULE_INDICATOR.
36388
36389         Tests of module 'iconv-h' in C++ mode.
36390         * tests/test-iconv-h-c++.cc: New file.
36391         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36392         (Depends-on): Add ansi-c++-opt.
36393         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36394
36395         Tests of module 'glob' in C++ mode.
36396         * tests/test-glob-c++.cc: New file.
36397         * modules/glob-tests (Files): Add it.
36398         (Depends-on): Add ansi-c++-opt.
36399         (Makefile.am): Arrange to compile and run test-glob-c++.
36400
36401         Tests of module 'fcntl-h' in C++ mode.
36402         * tests/test-fcntl-h-c++.cc: New file.
36403         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36404         (Depends-on): Add ansi-c++-opt.
36405         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36406         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36407         gl_MODULE_INDICATOR.
36408
36409         Tests of module 'dirent' in C++ mode.
36410         * tests/test-dirent-c++.cc: New file.
36411         * modules/dirent-tests (Files): Add it and tests/signature.h.
36412         (Depends-on): Add ansi-c++-opt.
36413         (Makefile.am): Arrange to compile and run test-dirent-c++.
36414         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36415         gl_MODULE_INDICATOR.
36416
36417         New module 'ansi-c++-opt'.
36418         * modules/ansi-c++-opt: New file.
36419         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36420
36421         Document C++ namespace mode.
36422         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36423
36424         wctype: Avoid #define replacements in C++ mode.
36425         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36426         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36427         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36428         In C++, define a namespaced alias symbol.
36429         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36430         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36431         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36432         rule.
36433
36434         wchar: Avoid #define replacements in C++ mode.
36435         * lib/wchar.in.h: Include c++defs.h.
36436         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36437         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36438         symbol.
36439         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36440         * modules/wchar (Depends-on): Add c++defs.
36441         (Makefile.am): Update wchar.h rule.
36442
36443         unistd: Avoid #define replacements in C++ mode.
36444         * lib/unistd.in.h: Include c++defs.h.
36445         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36446         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36447         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36448         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36449         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36450         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36451         symbol.
36452         (environ): Update.
36453         * modules/unistd (Depends-on): Add c++defs.
36454         (Makefile.am): Update unistd.h rule.
36455
36456         time: Avoid #define replacements in C++ mode.
36457         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36458         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36459         define a namespaced alias symbol.
36460         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36461         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36462         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36463         * modules/time (Depends-on): Add c++defs, warn-on-use.
36464         (Makefile.am): Update time.h rule.
36465         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36466         * modules/nanosleep (configure.ac): Likewise.
36467         * modules/strptime (configure.ac): Likewise.
36468         * modules/timegm (configure.ac): Likewise.
36469
36470         sys_time: Avoid #define replacements in C++ mode.
36471         * lib/sys_time.in.h: Include c++defs.h.
36472         (gettimeofday): In C++, define a namespaced alias symbol.
36473         * modules/sys_time (Depends-on): Add c++defs.
36474         (Makefile.am): Update sys/time.h rule.
36475
36476         sys_stat: Avoid #define replacements in C++ mode.
36477         * lib/sys_stat.in.h: Include c++defs.h.
36478         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36479         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36480         namespaced alias symbol.
36481         In C++, define a namespaced alias symbol.
36482         * modules/sys_stat (Depends-on): Add c++defs.
36483         (Makefile.am): Update sys/stat.h rule.
36484
36485         sys_socket: Avoid #define replacements in C++ mode.
36486         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36487         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36488         definitions also when the system has a <sys/socket.h>.
36489         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36490         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36491         In C++, define a namespaced alias symbol.
36492         * modules/sys_socket (Depends-on): Add c++defs.
36493         (Makefile.am): Update sys/socket.h rule.
36494
36495         sys_select: Avoid #define replacements in C++ mode.
36496         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36497         definitions also when the system has a <sys/select.h>.
36498         (select): In C++, define a namespaced alias symbol.
36499         * modules/sys_select (Depends-on): Add c++defs.
36500         (Makefile.am): Update sys/select.h rule.
36501
36502         sys_ioctl: Avoid #define replacements in C++ mode.
36503         * lib/sys_ioctl.in.h: Include c++defs.h.
36504         (ioctl): In C++, define a namespaced alias symbol.
36505         * modules/sys_ioctl (Depends-on): Add c++defs.
36506         (Makefile.am): Update sys/ioctl.h rule.
36507
36508         string: Avoid #define replacements in C++ mode.
36509         * lib/string.in.h: Include c++defs.h.
36510         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36511         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36512         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36513         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36514         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36515         * modules/string (Depends-on): Add c++defs.
36516         (Makefile.am): Update string.h rule.
36517
36518         stdlib: Avoid #define replacements in C++ mode.
36519         * lib/stdlib.in.h: Include c++defs.h.
36520         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36521         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36522         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36523         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36524         symbol.
36525         * modules/stdlib (Depends-on): Add c++defs.
36526         (Makefile.am): Update stdlib.h rule.
36527
36528         stdio: Avoid #define replacements in C++ mode.
36529         * lib/stdio.in.h: Include c++defs.h.
36530         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36531         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36532         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36533         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36534         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36535         namespaced alias symbol.
36536         * modules/stdio (Depends-on): Add c++defs.
36537         (Makefile.am): Update stdio.h rule.
36538
36539         spawn: Avoid #define replacements in C++ mode.
36540         * lib/spawn.in.h: Include c++defs.h.
36541         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36542         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36543         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36544         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36545         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36546         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36547         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36548         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36549         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36550         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36551         In C++, define a namespaced alias symbol.
36552         * modules/spawn (Depends-on): Add c++defs.
36553         (Makefile.am): Update spawn.h rule.
36554
36555         signal: Avoid #define replacements in C++ mode.
36556         * lib/signal.in.h: Include c++defs.h.
36557         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36558         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36559         namespaced alias symbol.
36560         * modules/signal (Depends-on): Add c++defs.
36561         (Makefile.am): Update signal.h rule.
36562
36563         search: Avoid #define replacements in C++ mode.
36564         * lib/search.in.h: Include c++defs.h.
36565         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36566         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36567         symbol.
36568         * modules/search (Depends-on): Add c++defs.
36569         (Makefile.am): Update search.h rule.
36570
36571         math: Avoid #define replacements in C++ mode.
36572         * lib/math.in.h: Include c++defs.h.
36573         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36574         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36575         trunc, truncl): In C++, define a namespaced alias symbol.
36576         * modules/math (Depends-on): Add c++defs.
36577         (Makefile.am): Update math.h rule.
36578
36579         locale: Avoid #define replacements in C++ mode.
36580         * lib/locale.in.h: Include c++defs.h.
36581         (duplocale): In C++, define a namespaced alias symbol.
36582         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36583         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36584         * modules/locale (Depends-on): Add c++defs.
36585         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36586
36587         langinfo: Avoid #define replacements in C++ mode.
36588         * lib/langinfo.in.h: Include c++defs.h.
36589         (nl_langinfo): In C++, define a namespaced alias symbol.
36590         * modules/langinfo (Depends-on): Add c++defs.
36591         (Makefile.am): Update langinfo.h rule.
36592
36593         iconv-h: Avoid #define replacements in C++ mode.
36594         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36595         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36596         symbol.
36597         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36598         whenever iconv is present.
36599         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36600         (Makefile.am): Update iconv.h rule.
36601
36602         glob: Avoid #define replacements in C++ mode.
36603         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36604         (_gl_glob_errfunc_fn): New type.
36605         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36606         symbol.
36607         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36608         (Makefile.am): Update glob.h rule.
36609
36610         fcntl-h: Avoid #define replacements in C++ mode.
36611         * lib/fcntl.in.h: Include c++defs.h.
36612         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36613         * modules/fcntl-h (Depends-on): Add c++defs.
36614         (Makefile.am): Update fcntl.h rule.
36615
36616         dirent: Avoid #define replacements in C++ mode.
36617         * lib/dirent.in.h: Include c++defs.h.
36618         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36619         namespaced alias symbol.
36620         (dirfd): Update declaration.
36621         * modules/dirent (Depends-on): Add c++defs.
36622         (Makefile.am): Update dirent.h rule.
36623
36624         ctype: Make it usable in C++ code.
36625         * lib/ctype.in.h: Include c++defs.h.
36626         (isblank): Declare as extern "C".
36627         * modules/ctype (Depends-on): Add c++defs.
36628         (Makefile.am): Update ctype.h rule.
36629
36630         New module 'c++defs'.
36631         * modules/c++defs: New file.
36632         * build-aux/c++defs.h: New file.
36633         Reported by John W. Eaton <jwe@gnu.org>.
36634
36635 2010-03-07  Bruno Haible  <bruno@clisp.org>
36636
36637         logb: Provide missing declaration for Cygwin.
36638         * lib/math.in.h (logb): New declaration.
36639         * m4/logb.m4: New file.
36640         * modules/logb (Files): Add m4/logb.m4.
36641         (Depends-on): Add math.
36642         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36643         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36644         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36645         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36646         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36647
36648 2010-03-07  Bruno Haible  <bruno@clisp.org>
36649
36650         Fix test-cond link error.
36651         * tests/test-cond.c: Include <stdio.h>.
36652
36653 2010-03-07  Bruno Haible  <bruno@clisp.org>
36654
36655         Fix test-dirent-safer link error.
36656         * modules/dirent-safer-tests (Makefile.am): Define
36657         test_dirent_safer_LDADD.
36658
36659 2010-03-07  Bruno Haible  <bruno@clisp.org>
36660
36661         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36662         among default module list.
36663
36664 2010-03-07  Bruno Haible  <bruno@clisp.org>
36665
36666         Fix link error on platforms with GNU libiconv.
36667         * modules/unistr/u8-strcoll-tests (Makefile): Define
36668         test_u8_strcoll_LDADD.
36669         * modules/unistr/u16-strcoll-tests (Makefile): Define
36670         test_u16_strcoll_LDADD.
36671         * modules/unistr/u32-strcoll-tests (Makefile): Define
36672         test_u32_strcoll_LDADD.
36673
36674 2010-03-07  Bruno Haible  <bruno@clisp.org>
36675
36676         Use POSIX declarations for socket functions.
36677         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36678         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36679         rpl_sendto): Change declaration to match POSIX.
36680         * lib/connect.c (rpl_connect): Likewise.
36681         * lib/accept.c (rpl_accept): Likewise.
36682         * lib/bind.c (rpl_bind): Likewise.
36683         * lib/getpeername.c (rpl_getpeername): Likewise.
36684         * lib/getsockname.c (rpl_getsockname): Likewise.
36685         * lib/recv.c (rpl_recv): Likewise.
36686         * lib/send.c (rpl_send): Likewise.
36687         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36688         * lib/sendto.c (rpl_sendto): Likewise.
36689
36690 2010-03-06  Bruno Haible  <bruno@clisp.org>
36691
36692         Clarify access, euidaccess, faccessat.
36693         * doc/posix-functions/faccessat.texi: Mention security problem under
36694         "Other problems", not "Portability problems".
36695         * doc/posix-functions/access.texi: Likewise. Mention a related security
36696         problem.
36697         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36698         * lib/euidaccess.c: Add comments about platforms.
36699         * lib/unistd.in.h (access, euidaccess): Add warnings.
36700
36701 2010-03-07  Bruno Haible  <bruno@clisp.org>
36702
36703         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36704         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36705         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36706         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36707         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36708         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36709         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36710         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36711         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36712         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36713         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36714         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36715         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36716         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36717         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36718         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36719         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36720         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36721         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36722         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36723         Likewise.
36724         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36725         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36726         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36727         Likewise.
36728         * tests/test-spawn.c (main): Make it work when
36729         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36730
36731 2010-03-07  Bruno Haible  <bruno@clisp.org>
36732
36733         Fix incorrect Makefile.am generation in German locale.
36734         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36735         Execute sed command with character range in C locale.
36736
36737 2010-03-06  Bruno Haible  <bruno@clisp.org>
36738
36739         Tests for module 'iconv-h'.
36740         * modules/iconv-h-tests: New file.
36741         * tests/test-iconv-h.c: New file.
36742
36743         New module 'iconv-h'.
36744         * modules/iconv-h: New file.
36745         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36746         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36747         (configure.ac): Remove gl_ICONV_H.
36748         (Makefile.am): Remove rule for iconv.h.
36749
36750 2010-03-06  Bruno Haible  <bruno@clisp.org>
36751
36752         More consistent naming of *.m4 files.
36753         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36754         * modules/wctype (Files): Update.
36755
36756         More consistent naming of *.m4 files.
36757         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36758         * modules/wchar (Files): Update.
36759
36760 2010-03-06  Jim Meyering  <meyering@redhat.com>
36761
36762         euidaccess: relax license to LGPLv2+
36763         * modules/euidaccess (License): Relax to LGPLv2+.
36764
36765 2010-03-06  Bruno Haible  <bruno@clisp.org>
36766
36767         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36768         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36769         (Makefile.am): Augment lib_SOURCES instead.
36770
36771 2010-03-04  Jim Meyering  <meyering@redhat.com>
36772
36773         utime: remove obsolete module
36774         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36775         unnecessary for years, and has been marked as obsolete for 10 months.
36776         * modules/utime: Remove file.
36777         * lib/utime.c: Remove file.
36778         * m4/utime.m4: Remove file.
36779         * m4/utimes-null.m4: Remove file.
36780         * doc/posix-functions/utime.texi (utime): Remove reference to
36781         the module.  Move the sole "fixed by gnulib" item into the
36782         "problems not fixed by Gnulib" list.
36783         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36784
36785 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36786
36787         * modules/exit (License): Relax license to LGPLv2+.
36788         (Status): Mark as obsolete.
36789         * NEWS: Mention deprecated 'exit' module.
36790         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36791         of now obsolete 'exit'.
36792
36793 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36794
36795         fts-lgpl: remove unused module
36796         * modules/fts-lgpl: Remove.
36797         * MODULES.html.sh (func_all_modules): Adjust.
36798         * check-module (find_included_lib_files): Adjust.
36799         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36800
36801 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36802
36803         copy-acl: enhance Solaris ACL error handling
36804         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36805         * lib/set-mode-acl.c (qset_acl): Likewise.
36806
36807 2010-03-02  Bruno Haible  <bruno@clisp.org>
36808
36809         spawn: Don't override the system defined values on FreeBSD 8.
36810         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36811         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36812         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36813         if HAVE_POSIX_SPAWN is 1.
36814         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36815
36816 2010-03-01  Bruno Haible  <bruno@clisp.org>
36817
36818         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36819         regarding Automake.
36820
36821 2010-02-25  Bruno Haible  <bruno@clisp.org>
36822
36823         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36824         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36825         setting, not afterwards.
36826         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36827
36828 2010-02-24  Eric Blake  <eblake@redhat.com>
36829
36830         bootstrap, git-version-gen: use timestamp
36831         * build-aux/git-version-gen (scriptversion): Force UTC.
36832         * build-aux/bootstrap (scriptversion): New variable.
36833
36834         bootstrap: allow older git
36835         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36836         older than 1.6.4.  Requested by the libvirt project.
36837
36838 2010-02-23  Eric Blake  <eblake@redhat.com>
36839
36840         warn-on-use: work with old autoconf
36841         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36842         AS_VAR semantics of autoconf 2.60.
36843         Reported by Bruno Haible.
36844
36845         bootstrap: improve some comments
36846         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36847         clarification comments.
36848
36849         gettimeofday: provide correct function
36850         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36851         when replacement is declared, otherwise provide gettimeofday.
36852         Reported by Michael Goffioul.
36853
36854 2010-02-23  Jim Meyering  <meyering@redhat.com>
36855
36856         lib-ignore: relax license to "unlimited", not LGPLv2+
36857         * modules/lib-ignore (License): Relax to "unlimited".
36858
36859 2010-02-23  Jim Meyering  <meyering@redhat.com>
36860
36861         lib-ignore: relax license to LGPLv2+
36862         * modules/lib-ignore (License): Relax to LGPLv2+.
36863
36864 2010-02-22  Eric Blake  <eblake@redhat.com>
36865
36866         lseek: avoid bash 3.2 broken pipe bug
36867         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36868         warning from bash 3.2.
36869         Reported by Ben Pfaff, with analysis from Bruno Haible.
36870
36871         bootstrap: support non-FSF copyright holder
36872         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36873         bootstrap.conf override of COPYRIGHT_HOLDER.
36874         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36875
36876         bootstrap: interoperate with gettext 0.14.1
36877         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36878
36879         bootstrap: allow for alternate submodule location
36880         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36881         hardcoding submodule location.
36882         (gnulib_mk): Allow direct use of Makefile.am.
36883
36884         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36885         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36886         rather than reconfiguring where the submodule points.
36887
36888         gettimeofday: restore support for platforms that lack function
36889         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36890         replacement if function is missing.
36891         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36892         * modules/sys_time (Makefile.am): Substitute it.
36893         * lib/sys_time.in.h (gettimeofday): Check it.
36894         Reported by Michael Goffioul.
36895
36896 2010-02-21  Bruno Haible  <bruno@clisp.org>
36897
36898         * lib/stdio.in.h (obstack_printf): Fix typo.
36899
36900 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36901
36902         vc-list-files: use bzr ls's -R option
36903         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36904         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36905
36906 2010-02-21  Jim Meyering  <meyering@redhat.com>
36907
36908         init.sh: fix EXEEXT shims to work also for names like test-prog
36909         * tests/init.sh: Re-exec a better shell, when needed.
36910         If the current shell lacks support for posix $(...), an init.sh-using
36911         test will now try to find a shell that supports that.  If EXEEXT is
36912         nonempty, we also require support for hyphen-in-alias-name and shell
36913         substitutions like ${var#glob}.  Failure to find such a shell results
36914         in a skipped test.
36915
36916 2010-02-21  Bruno Haible  <bruno@clisp.org>
36917
36918         Really work around around "broken pipe" error message from bash 3.2.
36919         * gnulib-tool (func_reset_sigpipe): Remove function.
36920         (echo): In bash 3.2, define to a function that uses printf.
36921         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36922
36923 2010-02-20  Bruno Haible  <bruno@clisp.org>
36924
36925         Restore support for automake 1.9.6 with autoconf 2.61.
36926         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36927         Reported by James Youngman <jay@gnu.org>.
36928
36929 2010-02-20  Bruno Haible  <bruno@clisp.org>
36930
36931         Improve *printf warning condition.
36932         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36933         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36934         and the function is overridden due to SIGPIPE emulation.
36935
36936 2010-02-20  Bruno Haible  <bruno@clisp.org>
36937
36938         * lib/stdio.in.h: Tweak comments.
36939
36940 2010-02-19  Bruno Haible  <bruno@clisp.org>
36941
36942         Make it easier to find modules. New gnulib-tool option '--find'.
36943         * gnulib-tool: New option --find.
36944         (func_usage): Document it.
36945         (func_sanitize_modulelist): New function, extracted from
36946         func_all_modules.
36947         (func_all_modules): Invoke it.
36948         * doc/gnulib-tool.texi (Which modules?): New node.
36949
36950 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36951
36952         * lib/sys_select.in.h: Provide select replacement even if
36953         sys/select.h exists on a system, for Interix.
36954
36955 2010-02-18  Jim Meyering  <meyering@redhat.com>
36956
36957         init.sh: don't use $(...) just yet
36958         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36959         to accommodate e.g., Solaris' /bin/sh.
36960
36961 2010-02-17  Bruno Haible  <bruno@clisp.org>
36962
36963         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36964         Reported by Ludovic Courtès <ludo@gnu.org>.
36965
36966 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36967
36968         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36969         linking with -lintl.
36970
36971 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36972
36973         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36974         if not provided by the system's netdb.h.  Reported by
36975         ludo@gnu.org (Ludovic Courtès).
36976
36977 2010-02-15  Jim Meyering  <meyering@redhat.com>
36978
36979         init.sh: improve portability and efficiency
36980         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36981         "dummy" in a for loop.
36982         Use '!', not '^' to select the complement of a character set used
36983         in a "case" statement.
36984         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36985         Suggestions from Eric Blake.
36986
36987         init.sh: automatically accommodate programs with the .exe suffix
36988         Automatically arrange for an invocation of "prog" to execute the
36989         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36990         may use the simpler "prog", yet still work when built on a system
36991         that requires specifying the added suffix.
36992         Do this by constructing a function named "prog" that invokes
36993         "prog.exe" for each .exe file in selected directories.
36994         * tests/init.sh (find_exe_basenames_): New function.
36995         (create_exe_shim_functions_): New function.
36996         (path_prepend_): Use it.
36997
36998         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36999         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37000         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37001
37002 2010-02-14  Jim Meyering  <meyering@redhat.com>
37003
37004         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37005         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37006         (sc_prohibit_hash_pjw_without_use): New rule.
37007
37008         maint.mk: allow the default upload destination dir to be overridden
37009         * top/maint.mk (upload_dest_dir_): Define with a default that
37010         preserves the status quo.
37011         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37012         Reported by Peter Simons.
37013
37014         maint.mk: prohibit inclusion of "hash.h" without_use
37015         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37016
37017 2010-02-10  Jim Meyering  <meyering@redhat.com>
37018
37019         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37020         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37021
37022 2010-02-09  Eric Blake  <ebb9@byu.net>
37023         and Bruno Haible  <bruno@clisp.org>
37024
37025         obstack-printf-posix: ensure declaration
37026         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37027         extracted from gl_FUNC_OBSTACK_PRINTF.
37028         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37029         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37030         Likewise.
37031         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37032         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37033         0.
37034
37035 2010-02-08  Bruno Haible  <bruno@clisp.org>
37036
37037         gnulib-tool: Fix typo in 2010-02-07 commit.
37038         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37039         Reported by Eric Blake.
37040
37041 2010-02-07  Bruno Haible  <bruno@clisp.org>
37042
37043         gnulib-tool: Fix up caching patches.
37044         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37045         option --no-cache. Use associative arrays when supported by the shell.
37046         (sed_comments): New variable.
37047         (modcache): Renamed from do_cache.
37048         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37049         abbreviate unnecessarily.
37050         (have_associative): New variable.
37051         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37052         way also for ksh and zsh.
37053         (func_init_sed_convert_to_cache_statements): New function, extracted
37054         from func_cache_lookup_module. Add support for associative arrays.
37055         Don't set the c_MODULE_cached variable here. Ignore all lines before
37056         the first field header. Remove only the final newline, not all trailing
37057         newlines. Support empty fields correctly. Limit the use of 'eval' to
37058         assignments.
37059         (func_get_description, func_get_status, func_get_notice,
37060         func_get_applicability, func_get_filelist, func_get_dependencies,
37061         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37062         func_get_automake_snippet, func_get_include_directive,
37063         func_get_link_directive, func_get_license, func_get_maintainer):
37064         Update documentation. List the unoptimized code first. Add support for
37065         associative arrays. Limit the use of 'eval' to assignments.
37066         (func_get_applicability): Undo stylistic pessimisations.
37067         (func_get_automake_snippet, func_get_include_directive): Reduce code
37068         duplication.
37069         (func_modules_transitive_closure, func_modules_add_dummy,
37070         func_modules_notice, func_modules_to_filelist, func_add_file,
37071         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37072         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37073         func_create_testdir, func_create_megatestdir): Update documentation.
37074
37075 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37076
37077         * gnulib-tool (func_cache_lookup_module): Store the module name
37078         belonging to the cache variable; error out if two different
37079         module names map to the same cache variable name.
37080
37081 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37082
37083         gnulib-tool: Make caching optional.
37084         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37085         Update matching short versions of --no-changelog.
37086         (func_usage): Update.
37087         (sed_extract_cache_prog): Renamed from ...
37088         (sed_extract_prog): ... this; revert to old extraction script.
37089         (func_get_description, func_get_status)
37090         (func_get_notice, func_get_applicability, func_get_filelist)
37091         (func_get_dependencies, func_get_autoconf_early_snippet)
37092         (func_get_autoconf_snippet, func_get_automake_snippet)
37093         (func_get_include_directive, func_get_link_directive)
37094         (func_get_license, func_get_maintainer): If $do_cache is false,
37095         use old, non-caching extraction scripts.
37096         Suggestion by Bruno Haible.
37097
37098 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37099
37100         gnulib-tool: cache module metainformation.
37101         * gnulib-tool (sed_extract_prog): Match newline before each
37102         header, and rewrite header to a shell variable suffix.
37103         (func_cache_var, func_cache_lookup_module): New functions,
37104         to turn a module name into a cache variable prefix, and to
37105         look up and cache module metainformation.
37106         (func_get_description, func_get_status)
37107         (func_get_notice, func_get_applicability, func_get_filelist)
37108         (func_get_dependencies, func_get_autoconf_early_snippet)
37109         (func_get_autoconf_snippet, func_get_automake_snippet)
37110         (func_get_include_directive, func_get_link_directive)
37111         (func_get_license, func_get_maintainer): Use
37112         func_cache_lookup_module.
37113
37114 2010-02-07  Bruno Haible  <bruno@clisp.org>
37115
37116         fnctl: Fix missing dependency.
37117         * modules/fcntl (Depends-on): Add getdtablesize.
37118         Reported by John W. Eaton <jwe@gnu.org>.
37119
37120 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37121
37122         Argp: fix recognition of short alias options.
37123
37124         * lib/argp-parse.c (convert_options): Fix improper use of
37125         `|' between character values.
37126         * tests/test-argp.c (group1_option): New alias option
37127         --read (-r).
37128         (group1_parser): Special handling for 'r'.
37129         (test15): New test case.
37130         (test_fun): Add test15.
37131         * tests/test-argp-2.sh: Update expected --help and --usage
37132         outputs.
37133
37134 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37135
37136         * tests/test-argp.c: Fix indentation.
37137
37138 2010-02-04  Eric Blake  <ebb9@byu.net>
37139
37140         gettimeofday: expose type of second argument
37141         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37142         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37143         * tests/test-gettimeofday.c: Use it to silence warning.
37144         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37145         the issue.
37146
37147 2010-02-03  Jim Meyering  <meyering@redhat.com>
37148
37149         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37150         * lib/regcomp.c (TYPE_SIGNED): Define.
37151         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37152
37153         regcomp.c: avoid a new -Wshadow warning
37154         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37155
37156 2010-02-01  Jim Meyering  <meyering@redhat.com>
37157
37158         removing useless parentheses in cpp #define directives
37159         For motivation, see commit c0221df4, "define STREQ(a,b)
37160         consistently, removing useless parentheses"
37161         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37162         * lib/mountlist.c (MNT_IGNORE): Likewise.
37163         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37164
37165 2010-02-01  Eric Blake  <ebb9@byu.net>
37166
37167         sys_time: use link-warning
37168         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37169         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37170         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37171         * modules/sys_time (Depends-on): Add warn-on-use.
37172         (Makefile.am): Always build replacement.
37173         (configure.ac): Update substitutions.
37174         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37175         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37176         bother with SYS_TIME_H.
37177         * modules/gettimeofday (configure.ac): Declare indicator.
37178         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37179         in use.
37180
37181         closein-tests: silence compiler warning
37182         * tests/test-closein.c (main): Ignore fread result.
37183         * modules/closein-tests (Depends-on): Add ignore-value.
37184
37185         tests: silence warning about system return
37186         * tests/test-areadlink-with-size.c (main): Ignore system result.
37187         * tests/test-areadlink.c (main): Likewise.
37188         * tests/test-areadlinkat-with-size.c (main): Likewise.
37189         * tests/test-areadlinkat.c (main): Likewise.
37190         * tests/test-canonicalize-lgpl.c (main): Likewise.
37191         * tests/test-canonicalize.c (main): Likewise.
37192         * tests/test-chown.c (main): Likewise.
37193         * tests/test-fchownat.c (main): Likewise.
37194         * tests/test-fdutimensat.c (main): Likewise.
37195         * tests/test-fstatat.c (main): Likewise.
37196         * tests/test-futimens.c (main): Likewise.
37197         * tests/test-lchown.c (main): Likewise.
37198         * tests/test-link.c (main): Likewise.
37199         * tests/test-linkat.c (main): Likewise.
37200         * tests/test-lstat.c (main): Likewise.
37201         * tests/test-mkdir.c (main): Likewise.
37202         * tests/test-mkdirat.c (main): Likewise.
37203         * tests/test-mkfifo.c (main): Likewise.
37204         * tests/test-mkfifoat.c (main): Likewise.
37205         * tests/test-mknod.c (main): Likewise.
37206         * tests/test-readlink.c (main): Likewise.
37207         * tests/test-remove.c (main): Likewise.
37208         * tests/test-rename.c (main): Likewise.
37209         * tests/test-renameat.c (main): Likewise.
37210         * tests/test-rmdir.c (main): Likewise.
37211         * tests/test-symlink.c (main): Likewise.
37212         * tests/test-symlinkat.c (main): Likewise.
37213         * tests/test-unlink.c (main): Likewise.
37214         * tests/test-unlinkat.c (main): Likewise.
37215         * tests/test-utimens.c (main): Likewise.
37216         * tests/test-utimensat.c (main): Likewise.
37217         * modules/areadlink-tests (Depends-on): Add ignore-value.
37218         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37219         * modules/areadlinkat-tests (Depends-on): Likewise.
37220         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37221         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37222         * modules/canonicalize-tests (Depends-on): Likewise.
37223         * modules/chown-tests (Depends-on): Likewise.
37224         * modules/fdutimensat-tests (Depends-on): Likewise.
37225         * modules/futimens-tests (Depends-on): Likewise.
37226         * modules/lchown-tests (Depends-on): Likewise.
37227         * modules/link-tests (Depends-on): Likewise.
37228         * modules/linkat-tests (Depends-on): Likewise.
37229         * modules/lstat-tests (Depends-on): Likewise.
37230         * modules/mkdir-tests (Depends-on): Likewise.
37231         * modules/mkfifo-tests (Depends-on): Likewise.
37232         * modules/mkfifoat-tests (Depends-on): Likewise.
37233         * modules/mknod-tests (Depends-on): Likewise.
37234         * modules/openat-tests (Depends-on): Likewise.
37235         * modules/readlink-tests (Depends-on): Likewise.
37236         * modules/remove-tests (Depends-on): Likewise.
37237         * modules/rename-tests (Depends-on): Likewise.
37238         * modules/renameat-tests (Depends-on): Likewise.
37239         * modules/rmdir-tests (Depends-on): Likewise.
37240         * modules/symlink-tests (Depends-on): Likewise.
37241         * modules/symlinkat-tests (Depends-on): Likewise.
37242         * modules/unlink-tests (Depends-on): Likewise.
37243         * modules/utimens-tests (Depends-on): Likewise.
37244         * modules/utimensat-tests (Depends-on): Likewise.
37245
37246 2010-01-31  Bruno Haible  <bruno@clisp.org>
37247
37248         Perform the same test for many <math.h> functions.
37249         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37250         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37251         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37252         of gl_MATHFUNC.
37253         * modules/acos (configure.ac): Likewise.
37254         * modules/asin (configure.ac): Likewise.
37255         * modules/atan (configure.ac): Likewise.
37256         * modules/atan2 (configure.ac): Likewise.
37257         * modules/cbrt (configure.ac): Likewise.
37258         * modules/copysign (configure.ac): Likewise.
37259         * modules/cos (configure.ac): Likewise.
37260         * modules/cosh (configure.ac): Likewise.
37261         * modules/erf (configure.ac): Likewise.
37262         * modules/erfc (configure.ac): Likewise.
37263         * modules/exp (configure.ac): Likewise.
37264         * modules/fmod (configure.ac): Likewise.
37265         * modules/hypot (configure.ac): Likewise.
37266         * modules/j0 (configure.ac): Likewise.
37267         * modules/j1 (configure.ac): Likewise.
37268         * modules/jn (configure.ac): Likewise.
37269         * modules/lgamma (configure.ac): Likewise.
37270         * modules/log (configure.ac): Likewise.
37271         * modules/log10 (configure.ac): Likewise.
37272         * modules/log1p (configure.ac): Likewise.
37273         * modules/pow (configure.ac): Likewise.
37274         * modules/remainder (configure.ac): Likewise.
37275         * modules/sin (configure.ac): Likewise.
37276         * modules/sinh (configure.ac): Likewise.
37277         * modules/tan (configure.ac): Likewise.
37278         * modules/tanh (configure.ac): Likewise.
37279         * modules/y0 (configure.ac): Likewise.
37280         * modules/y1 (configure.ac): Likewise.
37281         * modules/yn (configure.ac): Likewise.
37282         Suggested by Paolo Bonzini.
37283
37284 2010-01-31  Bruno Haible  <bruno@clisp.org>
37285
37286         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37287
37288 2010-01-31  Bruno Haible  <bruno@clisp.org>
37289
37290         Work around getdelim() bug on FreeBSD 8.0.
37291         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37292         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37293         not work.
37294         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37295         is 1.
37296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37297         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37298         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37299         a non-zero size.
37300         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37301
37302 2010-01-31  Bruno Haible  <bruno@clisp.org>
37303
37304         Work around getline() bug on FreeBSD 8.0.
37305         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37306         and a non-zero size.
37307         * tests/test-getline.c (main): Likewise.
37308         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37309         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37310
37311 2010-01-28  Eric Blake  <ebb9@byu.net>
37312
37313         regex: fix build failure
37314         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37315         platforms.
37316
37317 2010-01-28  Jim Meyering  <meyering@redhat.com>
37318
37319         regex: do not ignore memory allocation failure
37320         * lib/regex_internal.c (create_cd_newstate): Detect
37321         re_node_set_init_copy failure.   Extracted from glibc commit
37322         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37323
37324         regex: sync more white-space changes from libc
37325         * lib/regex_internal.c: White-space only changes.
37326         * lib/regexec.c: Likewise.
37327
37328         regex: add many uses of __attribute_warn_unused_result__
37329         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37330         * lib/regexec.c: Likewise.
37331         Extracted from a messy glibc commit.
37332
37333         regcomp.c: spelling and merge-artifact from glibc
37334         * lib/regcomp.c: Merge remainder of glibc's
37335         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37336
37337         regcomp.c: sync white-space changes from glibc
37338         * lib/regcomp.c: Merge to accommodate white space
37339         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37340
37341         regcomp.c: do not ignore internal return values
37342         * lib/regcomp.c: Do not ignore internal return values.
37343         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37344         but without its white-space changes and spelling fixes.
37345
37346         regex_internal.h: define __attribute_warn_unused_result__
37347         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37348
37349         maint: add a syntax-check rule to check for vulnerable Makefile.in
37350         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37351
37352 2010-01-27  Jim Meyering  <meyering@redhat.com>
37353
37354         ncftpput-ftp: clean up spaces
37355         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37356         Remove trailing blanks.
37357
37358 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37359
37360         * build-aux/git-version-gen: Fix copyright statement.
37361         * build-aux/gnupload: Likewise.
37362         * tests/test-arcfour.c: Likewise.
37363         * tests/test-arctwo.c: Likewise.
37364         * tests/test-count-one-bits.c: Likewise.
37365         * tests/test-crc.c: Likewise.
37366         * tests/test-des.c: Likewise.
37367         * tests/test-gc-arcfour.c: Likewise.
37368         * tests/test-gc-arctwo.c: Likewise.
37369         * tests/test-gc-des.c: Likewise.
37370         * tests/test-gc-hmac-md5.c: Likewise.
37371         * tests/test-gc-hmac-sha1.c: Likewise.
37372         * tests/test-gc-md2.c: Likewise.
37373         * tests/test-gc-md4.c: Likewise.
37374         * tests/test-gc-md5.c: Likewise.
37375         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37376         * tests/test-gc-rijndael.c: Likewise.
37377         * tests/test-gc-sha1.c: Likewise.
37378         * tests/test-gc.c: Likewise.
37379         * tests/test-gethostname.c: Likewise.
37380         * tests/test-gettimeofday.c: Likewise.
37381         * tests/test-hash.c: Likewise.
37382         * tests/test-hmac-md5.c: Likewise.
37383         * tests/test-hmac-sha1.c: Likewise.
37384         * tests/test-md2.c: Likewise.
37385         * tests/test-md4.c: Likewise.
37386         * tests/test-md5.c: Likewise.
37387         * tests/test-memchr.c: Likewise.
37388         * tests/test-memchr2.c: Likewise.
37389         * tests/test-memcmp.c: Likewise.
37390         * tests/test-memmem.c: Likewise.
37391         * tests/test-memrchr.c: Likewise.
37392         * tests/test-rawmemchr.c: Likewise.
37393         * tests/test-read-file.c: Likewise.
37394         * tests/test-rijndael.c: Likewise.
37395         * tests/test-sockets.c: Likewise.
37396         * tests/test-strchrnul.c: Likewise.
37397         * tests/test-strstr.c: Likewise.
37398         * tests/test-strtod.c: Likewise.
37399         * build-aux/ncftpput-ftp: Likewise.
37400
37401 2010-01-26  Eric Blake  <ebb9@byu.net>
37402
37403         ignore-value: update recommended header name
37404         * modules/ignore-value (Include): Only use <> for headers that
37405         exist in glibc.
37406
37407 2010-01-26  Jim Meyering  <meyering@redhat.com>
37408
37409         test-userspec.c: avoid compiler warnings
37410         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37411         and "initialization discards qualifiers..." warnings.
37412         Put the first "uid" in its own scope, and make char* members "const".
37413
37414 2010-01-25  Bruno Haible  <bruno@clisp.org>
37415
37416         gnulib-tool: Make warning diagnostics consistent.
37417         * gnulib-tool (func_warning): New function.
37418         Use it everywhere where gnulib-tool produces output to stderr and it is
37419         not a fatal error.
37420
37421 2010-01-25  Bruno Haible  <bruno@clisp.org>
37422
37423         Fix test dependencies.
37424         * modules/xstrtol-tests (Depends-on): Add inttypes.
37425         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37426
37427 2010-01-25 Pádraig Brady <P@draigBrady.com>
37428
37429         syntax-check: detect incorrect boolean macro values in config.h
37430         * modules/maintainer-makefile (configure.ac): Parameterize the location
37431         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37432         The logic is from Eric Blake and the location indicated by Jim Meyering.
37433         Note the more natural CONFIG_HEADER name is prohibited by automake
37434         for backwards compatibility reasons.
37435         * top/maint.mk (sc_Wundef_boolean): New rule.
37436
37437 2010-01-25  Jim Meyering  <meyering@redhat.com>
37438
37439         bootstrap: detect MacOS 10.6's shasum, too
37440         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37441         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37442
37443 2010-01-23  Jim Meyering  <meyering@redhat.com>
37444
37445         xstrtoll: new module
37446         * modules/xstrtoll: New file.
37447         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37448         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37449         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37450         ./configure fails if you use this module and lack "long long".
37451         * modules/xstrtoll-tests: New module.
37452         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37453         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37454         new init.sh-based test framework.
37455
37456 2010-01-24  Bruno Haible  <bruno@clisp.org>
37457
37458         Tests for module 'yn'.
37459         * modules/yn-tests: New file.
37460         * tests/test-yn.c: New file.
37461
37462         Tests for module 'y1'.
37463         * modules/y1-tests: New file.
37464         * tests/test-y1.c: New file.
37465
37466         Tests for module 'y0'.
37467         * modules/y0-tests: New file.
37468         * tests/test-y0.c: New file.
37469
37470         Tests for module 'tanh'.
37471         * modules/tanh-tests: New file.
37472         * tests/test-tanh.c: New file.
37473
37474         Tests for module 'tan'.
37475         * modules/tan-tests: New file.
37476         * tests/test-tan.c: New file.
37477
37478         Tests for module 'sqrt'.
37479         * modules/sqrt-tests: New file.
37480         * tests/test-sqrt.c: New file.
37481
37482         Tests for module 'sinh'.
37483         * modules/sinh-tests: New file.
37484         * tests/test-sinh.c: New file.
37485
37486         Tests for module 'sin'.
37487         * modules/sin-tests: New file.
37488         * tests/test-sin.c: New file.
37489
37490         Tests for module 'rint'.
37491         * modules/rint-tests: New file.
37492         * tests/test-rint.c: New file.
37493
37494         Tests for module 'remainder'.
37495         * modules/remainder-tests: New file.
37496         * tests/test-remainder.c: New file.
37497
37498         Tests for module 'pow'.
37499         * modules/pow-tests: New file.
37500         * tests/test-pow.c: New file.
37501
37502         Tests for module 'nextafter'.
37503         * modules/nextafter-tests: New file.
37504         * tests/test-nextafter.c: New file.
37505
37506         Tests for module 'modf'.
37507         * modules/modf-tests: New file.
37508         * tests/test-modf.c: New file.
37509
37510         Tests for module 'logb'.
37511         * modules/logb-tests: New file.
37512         * tests/test-logb.c: New file.
37513
37514         Tests for module 'log1p'.
37515         * modules/log1p-tests: New file.
37516         * tests/test-log1p.c: New file.
37517
37518         Tests for module 'log10'.
37519         * modules/log10-tests: New file.
37520         * tests/test-log10.c: New file.
37521
37522         Tests for module 'log'.
37523         * modules/log-tests: New file.
37524         * tests/test-log.c: New file.
37525
37526         Tests for module 'lgamma'.
37527         * modules/lgamma-tests: New file.
37528         * tests/test-lgamma.c: New file.
37529
37530         Tests for module 'ldexp'.
37531         * modules/ldexp-tests: New file.
37532         * tests/test-ldexp.c: New file.
37533
37534         Tests for module 'jn'.
37535         * modules/jn-tests: New file.
37536         * tests/test-jn.c: New file.
37537
37538         Tests for module 'j1'.
37539         * modules/j1-tests: New file.
37540         * tests/test-j1.c: New file.
37541
37542         Tests for module 'j0'.
37543         * modules/j0-tests: New file.
37544         * tests/test-j0.c: New file.
37545
37546         Tests for module 'hypot'.
37547         * modules/hypot-tests: New file.
37548         * tests/test-hypot.c: New file.
37549
37550         Tests for module 'fmod'.
37551         * modules/fmod-tests: New file.
37552         * tests/test-fmod.c: New file.
37553
37554         Tests for module 'fabs'.
37555         * modules/fabs-tests: New file.
37556         * tests/test-fabs.c: New file.
37557
37558         Tests for module 'exp'.
37559         * modules/exp-tests: New file.
37560         * tests/test-exp.c: New file.
37561
37562         Tests for module 'erfc'.
37563         * modules/erfc-tests: New file.
37564         * tests/test-erfc.c: New file.
37565
37566         Tests for module 'erf'.
37567         * modules/erf-tests: New file.
37568         * tests/test-erf.c: New file.
37569
37570         Tests for module 'cosh'.
37571         * modules/cosh-tests: New file.
37572         * tests/test-cosh.c: New file.
37573
37574         Tests for module 'cos'.
37575         * modules/cos-tests: New file.
37576         * tests/test-cos.c: New file.
37577
37578         Tests for module 'copysign'.
37579         * modules/copysign-tests: New file.
37580         * tests/test-copysign.c: New file.
37581
37582         Tests for module 'cbrt'.
37583         * modules/cbrt-tests: New file.
37584         * tests/test-cbrt.c: New file.
37585
37586         Tests for module 'atan2'.
37587         * modules/atan2-tests: New file.
37588         * tests/test-atan2.c: New file.
37589
37590         Tests for module 'atan'.
37591         * modules/atan-tests: New file.
37592         * tests/test-atan.c: New file.
37593
37594         Tests for module 'asin'.
37595         * modules/asin-tests: New file.
37596         * tests/test-asin.c: New file.
37597
37598         Tests for module 'acos'.
37599         * modules/acos-tests: New file.
37600         * tests/test-acos.c: New file.
37601
37602 2010-01-24  Bruno Haible  <bruno@clisp.org>
37603
37604         Fix tests for common <math.h> functions.
37605         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37606         code snippet that references the function pointer, rather than merely
37607         calling the function. Substitute the FUNC_LIBM variable.
37608         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37609         * modules/acos (configure.ac): Likewise.
37610         * modules/asin (configure.ac): Likewise.
37611         * modules/atan (configure.ac): Likewise.
37612         * modules/atan2 (configure.ac): Likewise.
37613         * modules/cbrt (configure.ac): Likewise.
37614         * modules/copysign (configure.ac): Likewise.
37615         * modules/cos (configure.ac): Likewise.
37616         * modules/cosh (configure.ac): Likewise.
37617         * modules/erf (configure.ac): Likewise.
37618         * modules/erfc (configure.ac): Likewise.
37619         * modules/exp (configure.ac): Likewise.
37620         * modules/fabs (configure.ac): Likewise.
37621         * modules/fmod (configure.ac): Likewise.
37622         * modules/hypot (configure.ac): Likewise.
37623         * modules/j0 (configure.ac): Likewise.
37624         * modules/j1 (configure.ac): Likewise.
37625         * modules/jn (configure.ac): Likewise.
37626         * modules/ldexp (configure.ac): Likewise.
37627         * modules/lgamma (configure.ac): Likewise.
37628         * modules/log (configure.ac): Likewise.
37629         * modules/log10 (configure.ac): Likewise.
37630         * modules/log1p (configure.ac): Likewise.
37631         * modules/logb (configure.ac): Likewise.
37632         * modules/modf (configure.ac): Likewise.
37633         * modules/nextafter (configure.ac): Likewise.
37634         * modules/pow (configure.ac): Likewise.
37635         * modules/remainder (configure.ac): Likewise.
37636         * modules/rint (configure.ac): Likewise.
37637         * modules/sin (configure.ac): Likewise.
37638         * modules/sinh (configure.ac): Likewise.
37639         * modules/tan (configure.ac): Likewise.
37640         * modules/tanh (configure.ac): Likewise.
37641         * modules/y0 (configure.ac): Likewise.
37642         * modules/y1 (configure.ac): Likewise.
37643         * modules/yn (configure.ac): Likewise.
37644
37645 2010-01-24  Bruno Haible  <bruno@clisp.org>
37646
37647         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37648         * tests/test-acosl.c (x): New variable.
37649         (main): Store argument in x and fetch it from x.
37650         * tests/test-asinl.c (x): New variable.
37651         (main): Store argument in x and fetch it from x.
37652         * tests/test-atanl.c (x): New variable.
37653         (main): Store argument in x and fetch it from x.
37654         * tests/test-cosl.c (x): New variable.
37655         (main): Store argument in x and fetch it from x.
37656         * tests/test-expl.c (x): New variable.
37657         (main): Store argument in x and fetch it from x.
37658         * tests/test-logl.c (x): New variable.
37659         (main): Store argument in x and fetch it from x.
37660         * tests/test-sinl.c (x): New variable.
37661         (main): Store argument in x and fetch it from x.
37662         * tests/test-sqrtl.c (x): New variable.
37663         (main): Store argument in x and fetch it from x.
37664         * tests/test-tanl.c (x): New variable.
37665         (main): Store argument in x and fetch it from x.
37666
37667 2010-01-24  Bruno Haible  <bruno@clisp.org>
37668
37669         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37670         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37671         assignments to the initial TESTS_ENVIRONMENT.
37672         * doc/gnulib.texi (Unit test modules): Document it.
37673         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37674         TESTS_ENVIRONMENT.
37675         * modules/btowc-tests (Makefile.am): Likewise.
37676         * modules/c-stack-tests (Makefile.am): Likewise.
37677         * modules/c-strcase-tests (Makefile.am): Likewise.
37678         * modules/copy-file-tests (Makefile.am): Likewise.
37679         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37680         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37681         * modules/mbrtowc-tests (Makefile.am): Likewise.
37682         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37683         * modules/mbscasestr-tests (Makefile.am): Likewise.
37684         * modules/mbschr-tests (Makefile.am): Likewise.
37685         * modules/mbscspn-tests (Makefile.am): Likewise.
37686         * modules/mbsinit-tests (Makefile.am): Likewise.
37687         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37688         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37689         * modules/mbspbrk-tests (Makefile.am): Likewise.
37690         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37691         * modules/mbsrchr-tests (Makefile.am): Likewise.
37692         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37693         * modules/mbsspn-tests (Makefile.am): Likewise.
37694         * modules/mbsstr-tests (Makefile.am): Likewise.
37695         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37696         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37697         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37698         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37699         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37700         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37701         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37702         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37703         * modules/wcrtomb-tests (Makefile.am): Likewise.
37704         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37705         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37706         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37707         assignments from TESTS_ENVIRONMENT.
37708         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37709         augmentation.
37710         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37711         * modules/atexit-tests (Makefile.am): Likewise.
37712         * modules/binary-io-tests (Makefile.am): Likewise.
37713         * modules/closein-tests (Makefile.am): Likewise.
37714         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37715         * modules/exclude-tests (Makefile.am): Likewise.
37716         * modules/fflush-tests (Makefile.am): Likewise.
37717         * modules/fpending-tests (Makefile.am): Likewise.
37718         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37719         * modules/freadahead-tests (Makefile.am): Likewise.
37720         * modules/freadptr-tests (Makefile.am): Likewise.
37721         * modules/freadseek-tests (Makefile.am): Likewise.
37722         * modules/fseek-tests (Makefile.am): Likewise.
37723         * modules/fseeko-tests (Makefile.am): Likewise.
37724         * modules/ftell-tests (Makefile.am): Likewise.
37725         * modules/ftello-tests (Makefile.am): Likewise.
37726         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37727         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37728         * modules/lseek-tests (Makefile.am): Likewise.
37729         * modules/parse-duration-tests (Makefile.am): Likewise.
37730         * modules/perror-tests (Makefile.am): Likewise.
37731         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37732         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37733         * modules/pipe-tests (Makefile.am): Likewise.
37734         * modules/pread-tests (Makefile.am): Likewise.
37735         * modules/printf-posix-tests (Makefile.am): Likewise.
37736         * modules/select-tests (Makefile.am): Likewise.
37737         * modules/sigpipe-tests (Makefile.am): Likewise.
37738         * modules/tsearch-tests (Makefile.am): Likewise.
37739         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37740         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37741         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37742         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37743         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37744         * modules/version-etc-tests (Makefile.am): Likewise.
37745         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37746         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37747         * modules/xalloc-die-tests (Makefile.am): Likewise.
37748         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37749         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37750         * modules/xstrtol-tests (Makefile.am): Likewise.
37751         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37752         * modules/yesno-tests (Makefile.am): Likewise.
37753         Suggested by Jim Meyering.
37754
37755 2010-01-24  Bruno Haible  <bruno@clisp.org>
37756
37757         More documentation.
37758         * doc/gnulib.texi (Writing modules): New chapter.
37759         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37760         the new chapter.
37761
37762 2010-01-24  Jim Meyering  <meyering@redhat.com>
37763
37764         maint.mk: do not prepend "./" after filtering
37765         * top/maint.mk (_prepend_srcdir_prefix): New variable
37766         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37767         "./" when $(srcdir) is ".".
37768
37769         define STREQ(a,b) consistently, removing useless parentheses
37770         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37771         since the only risk is that "a" or "b" contains an unparenthesized
37772         comma, but if either did that, STREQ would have 3 or more arguments.
37773         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37774         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37775         * lib/hash-triple.c (STREQ): Likewise.
37776         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37777         * lib/getugroups.c (STREQ): Likewise.
37778
37779 2010-01-23  Jim Meyering  <meyering@redhat.com>
37780
37781         maint.mk: fix syntax-check in a non-srcdir build directory
37782         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37783         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37784
37785 2010-01-22  Jim Meyering  <meyering@redhat.com>
37786
37787         userspec: add unit tests
37788         * tests/test-userspec.c: New file.
37789         * modules/userspec-tests: Likewise.
37790
37791 2010-01-21  Jim Meyering  <meyering@redhat.com>
37792
37793         maint.mk: handle source file names containing "." robustly
37794         * top/maint.mk (_dot_escaped_srcdir): Define.
37795         (VC_LIST): Use it in LHS of sed substitution.
37796
37797 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37798
37799         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37800         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37801         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37802         from a non-srcdir build.
37803
37804 2010-01-20  Eric Blake  <ebb9@byu.net>
37805
37806         warn-on-use: use instead of link-warning
37807         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37808         * modules/unistd (Depends-on, Makefile.am): Likewise.
37809         * modules/arpa_inet (Depends-on): Replace link-warning with
37810         warn-on-use.
37811         (Makefile.am): Update rules accordingly.
37812         * modules/ctype (Depends-on, Makefile.am): Likewise.
37813         * modules/dirent (Depends-on, Makefile.am): Likewise.
37814         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37815         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37816         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37817         * modules/locale (Depends-on, Makefile.am): Likewise.
37818         * modules/math (Depends-on, Makefile.am): Likewise.
37819         * modules/search (Depends-on, Makefile.am): Likewise.
37820         * modules/signal (Depends-on, Makefile.am): Likewise.
37821         * modules/spawn (Depends-on, Makefile.am): Likewise.
37822         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37823         * modules/string (Depends-on, Makefile.am): Likewise.
37824         * modules/strings (Depends-on, Makefile.am): Likewise.
37825         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37826         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37827         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37828         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37829         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37830         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37831         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37832         * modules/wchar (Depends-on, Makefile.am): Likewise.
37833         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37834         should be poisoned.
37835         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37836         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37837         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37838         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37839         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37840         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37841         * m4/math_h.m4 (gl_MATH_H): Likewise.
37842         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37843         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37844         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37845         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37846         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37847         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37848         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37849         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37850         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37851         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37852         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37853         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37854         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37855         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37856         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37857         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37858         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37859         GL_LINK_WARNING.
37860         * lib/ctype.in.h: Likewise.
37861         * lib/dirent.in.h: Likewise.
37862         * lib/fcntl.in.h: Likewise.
37863         * lib/inttypes.in.h: Likewise.
37864         * lib/langinfo.in.h: Likewise.
37865         * lib/locale.in.h: Likewise.
37866         * lib/math.in.h: Likewise.
37867         * lib/search.in.h: Likewise.
37868         * lib/signal.in.h: Likewise.
37869         * lib/spawn.in.h: Likewise.
37870         * lib/stdio.in.h: Likewise.
37871         * lib/stdlib.in.h: Likewise.
37872         * lib/string.in.h: Likewise.
37873         * lib/strings.in.h: Likewise.
37874         * lib/sys_file.in.h: Likewise.
37875         * lib/sys_ioctl.in.h: Likewise.
37876         * lib/sys_select.in.h: Likewise.
37877         * lib/sys_socket.in.h: Likewise.
37878         * lib/sys_stat.in.h: Likewise.
37879         * lib/sys_times.in.h: Likewise.
37880         * lib/sys_utsname.in.h: Likewise.
37881         * lib/unistd.in.h: Likewise.
37882         * lib/wchar.in.h: Likewise.
37883
37884 2010-01-20  Bruno Haible  <bruno@clisp.org>
37885
37886         Avoid duplicate -lm.
37887         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37888         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37889         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37890         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37891         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37892         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37893         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37894         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37895         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37896         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37897         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37898         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37899         Reported by Paolo Bonzini.
37900
37901 2010-01-19  Bruno Haible  <bruno@clisp.org>
37902
37903         langinfo, nl_langinfo: Relicense under LGPLv2+.
37904         * modules/langinfo (License): Change to LGPLv2+.
37905         * modules/nl_langinfo (License): Likewise.
37906         Patch by David Lutterkort <lutter@redhat.com>.
37907
37908 2010-01-19  Bruno Haible  <bruno@clisp.org>
37909
37910         Avoid compilation error with cc on OSF/1 5.1.
37911         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37912         statement, not before.
37913         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37914
37915 2010-01-18  Bruno Haible  <bruno@clisp.org>
37916
37917         Avoid a link error due to the __printf__ symbol.
37918         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37919         and 2.6.x.
37920         (__format__, __printf__): Remove definitions.
37921         * lib/argp-fmtstream.h: Likewise.
37922         * lib/argp.h: Likewise.
37923         * lib/error.h: Likewise.
37924         * lib/vasnprintf.h: Likewise.
37925         * lib/xprintf.h: Likewise.
37926         * lib/xvasprintf.h: Likewise.
37927         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37928
37929 2010-01-18  Bruno Haible  <bruno@clisp.org>
37930
37931         Tests for module 'tanl'.
37932         * modules/tanl-tests: New file.
37933         * tests/test-tanl.c: New file.
37934
37935         Tests for module 'sqrtl'.
37936         * modules/sqrtl-tests: New file.
37937         * tests/test-sqrtl.c: New file.
37938
37939         Tests for module 'sinl'.
37940         * modules/sinl-tests: New file.
37941         * tests/test-sinl.c: New file.
37942
37943         Tests for module 'logl'.
37944         * modules/logl-tests: New file.
37945         * tests/test-logl.c: New file.
37946
37947         Tests for module 'expl'.
37948         * modules/expl-tests: New file.
37949         * tests/test-expl.c: New file.
37950
37951         Tests for module 'cosl'.
37952         * modules/cosl-tests: New file.
37953         * tests/test-cosl.c: New file.
37954
37955         Tests for module 'atanl'.
37956         * modules/atanl-tests: New file.
37957         * tests/test-atanl.c: New file.
37958
37959         Tests for module 'asinl'.
37960         * modules/asinl-tests: New file.
37961         * tests/test-asinl.c: New file.
37962
37963         Tests for module 'acosl'.
37964         * modules/acosl-tests: New file.
37965         * tests/test-acosl.c: New file.
37966
37967         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37968         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37969         tanl): Use the standard gnulib idiom.
37970         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37971         * lib/sinl.c: Likewise.
37972         * lib/tanl.c: Don't include trigl.c.
37973         (kernel_tanl): Make static.
37974         * lib/sincosl.c: Include trigl.h first.
37975         * lib/trigl.c: Likewise.
37976         * m4/acosl.m4: New file.
37977         * m4/asinl.m4: New file.
37978         * m4/atanl.m4: New file.
37979         * m4/cosl.m4: New file.
37980         * m4/expl.m4: New file.
37981         * m4/logl.m4: New file.
37982         * m4/sinl.m4: New file.
37983         * m4/sqrtl.m4: New file.
37984         * m4/tanl.m4: New file.
37985         * m4/mathl.m4: Remove file.
37986         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37987         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37988         Don't initialize GNULIB_MATHL.
37989         * modules/acosl: New file.
37990         * modules/asinl: New file.
37991         * modules/atanl: New file.
37992         * modules/cosl: New file.
37993         * modules/expl: New file.
37994         * modules/logl: New file.
37995         * modules/sinl: New file.
37996         * modules/sqrtl: New file.
37997         * modules/tanl: New file.
37998         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37999         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38000         substitute GNULIB_MATHL.
38001         * modules/mathl: Rewritten.
38002         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38003         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38004         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38005         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38006         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38007         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38008         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38009         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38010         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38011
38012 2010-01-18  Bruno Haible  <bruno@clisp.org>
38013
38014         sqrt: Make gl_FUNC_SQRT requirable.
38015         * m4/sqrt.m4: New file.
38016         * modules/sqrt (Files): Add it.
38017         (configure.ac): Invoke gl_FUNC_SQRT.
38018
38019 2010-01-18  Bruno Haible  <bruno@clisp.org>
38020
38021         New modules for common <math.h> functions.
38022         * m4/mathfunc.m4: New file.
38023         * modules/acos: New file.
38024         * modules/asin: New file.
38025         * modules/atan: New file.
38026         * modules/atan2: New file.
38027         * modules/cbrt: New file.
38028         * modules/copysign: New file.
38029         * modules/cos: New file.
38030         * modules/cosh: New file.
38031         * modules/erf: New file.
38032         * modules/erfc: New file.
38033         * modules/exp: New file.
38034         * modules/fabs: New file.
38035         * modules/fmod: New file.
38036         * modules/hypot: New file.
38037         * modules/j0: New file.
38038         * modules/j1: New file.
38039         * modules/jn: New file.
38040         * modules/ldexp: New file.
38041         * modules/lgamma: New file.
38042         * modules/log: New file.
38043         * modules/log10: New file.
38044         * modules/log1p: New file.
38045         * modules/logb: New file.
38046         * modules/modf: New file.
38047         * modules/nextafter: New file.
38048         * modules/pow: New file.
38049         * modules/remainder: New file.
38050         * modules/rint: New file.
38051         * modules/sin: New file.
38052         * modules/sinh: New file.
38053         * modules/sqrt: New file.
38054         * modules/tan: New file.
38055         * modules/tanh: New file.
38056         * modules/y0: New file.
38057         * modules/y1: New file.
38058         * modules/yn: New file.
38059         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38060         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38061         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38062         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38063         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38064         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38065         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38066         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38067         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38068         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38069         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38070         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38071         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38072         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38073         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38074         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38075         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38076         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38077         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
38078         * doc/posix-functions/log.texi: Mention the 'log' module.
38079         * doc/posix-functions/log10.texi: Mention the 'log10' module.
38080         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
38081         * doc/posix-functions/logb.texi: Mention the 'logb' module.
38082         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38083         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38084         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38085         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38086         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38087         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38088         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38089         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38090         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38091         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38092         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38093         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38094         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38095
38096 2010-01-18  Jim Meyering  <meyering@redhat.com>
38097
38098         ignore-value: relax license to LGPLv2+
38099         * modules/ignore-value (License): Relax to LGPLv2+.
38100
38101         getdate: don't leak when TZ contains two or more '"'s
38102         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38103         double quote in TZ after the first one.
38104
38105         readtokens: do not leak internal token_lengths buffer
38106         * lib/readtokens.c (readtokens): Free the local, lengths,
38107         when the supplied "token_lengths" parameter is NULL.
38108
38109 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38110
38111         Fix a couple of missing LIBTHREAD link failures on AIX.
38112         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38113         $(LIBTHREAD).
38114         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38115
38116         Link test-poll against INET_PTON_LIB.
38117         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38118         for inet_pton on Solaris 10.
38119
38120 2010-01-17  Bruno Haible  <bruno@clisp.org>
38121
38122         unistdio/*-sprintf: Fix typo in module description.
38123         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38124         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38125         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38126         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38127         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38128         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38129         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38130         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38131
38132 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38133
38134         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38135         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38136         variables in shell case patterns, for AIX and HP-UX ksh.
38137
38138         Split large sed scripts, for HP-UX sed.
38139         * modules/stdio: Split sed scripts around 50 sed commands,
38140         to avoid HP-UX limit of 99 commands, in the near future.
38141         * modules/string: Likewise.
38142         * modules/unistd: Likewise.
38143
38144         gnulib-tool: avoid writing in the current directory.
38145         * gnulib-tool (func_emit_lib_Makefile_am)
38146         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38147         not in the current directory, so concurrent gnulib-tool
38148         instances do not interfere.
38149
38150 2010-01-16  Jim Meyering  <meyering@redhat.com>
38151
38152         doc: update users.txt
38153         * users.txt: Add grep.
38154         (diffutils, gzip): Update URLs.
38155
38156 2010-01-12  Bruno Haible  <bruno@clisp.org>
38157
38158         posix_spawn: Avoid test failure on Cygwin.
38159         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38160         characters.
38161         Reported by Simon Josefsson.
38162
38163 2010-01-12  Bruno Haible  <bruno@clisp.org>
38164
38165         * tests/test-cond.c (main): When skipping the test, show the reason.
38166
38167 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38168
38169         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38170
38171 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38172
38173         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38174         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38175
38176 2010-01-12  Eric Blake  <ebb9@byu.net>
38177
38178         build: guarantee AS_VAR_IF
38179         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38180         (gl_AS_VAR_IF): Move...
38181         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38182         Reported by Simon Josefsson.
38183
38184 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38185
38186         * lib/stdio.in.h: Fix typo.
38187
38188 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38189
38190         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38191         libgpg-error.
38192
38193 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38194
38195         * tests/test-xalloc-die.sh: Use $EXEEXT.
38196
38197 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38198             Bruno Haible  <bruno@clisp.org>
38199
38200         getlogin, getlogin_r: Avoid test failure.
38201         * tests/test-getlogin.c: Include <stdio.h>.
38202         (main): Skip the test when the function fails because stdin is not a
38203         tty.
38204         * tests/test-getlogin_r.c: Include <stdio.h>.
38205         (main): Skip the test when the function fails because stdin is not a
38206         tty.
38207
38208 2010-01-11  Eric Blake  <ebb9@byu.net>
38209
38210         tests: avoid more large file warnings
38211         * tests/test-fflush.c: Avoid warning about ftell use.
38212         * tests/test-fseek.c: Avoid warning about fseek use.
38213
38214 2010-01-10  Bruno Haible  <bruno@clisp.org>
38215
38216         nproc: Work better on Linux when /proc and /sys are not mounted.
38217         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38218         as lower bound when, on glibc/Linux systems,
38219         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38220         Suggested by Pádraig Brady <P@draigbrady.com>.
38221         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38222
38223         nproc: Refactor.
38224         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38225         extracted from num_processors.
38226         (num_processors): Call it.
38227
38228 2010-01-11  Jim Meyering  <meyering@redhat.com>
38229
38230         utimecmp: avoid new warning from upcoming gcc-4.5.0
38231         * lib/utimecmp.c (BILLION): Define using #define rather than an
38232         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38233
38234 2010-01-11  Eric Blake  <ebb9@byu.net>
38235
38236         math: add portability warnings for classification macros
38237         * modules/math (Depends-on): Add warn-on-use.
38238         (Makefile.am): Provide new substitutions.
38239         * m4/math_h.m4 (gl_MATH_H): Require inline.
38240         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38241         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38242         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38243         implement warnings.
38244
38245         unistd: warn on use of environ without module
38246         * modules/unistd (Depends-on): Add warn-on-use.
38247         (Makefile.am): Provide new substitutions.
38248         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38249         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38250
38251         stdio: warn on suspicious uses
38252         * modules/stdio (Depends-on): Add warn-on-use.
38253         (Makefile.am): Provide new substitutions.
38254         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38255         fseeko.
38256         * lib/stdio.in.h (gets): Always warn on use.
38257         (fseek, ftell): Adjust when warnings are issued, and honor
38258         _GL_NO_LARGE_FILES as a way to silence the warning.
38259         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38260         any warning about large file offsets.
38261         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38262         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38263         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38264         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38265         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38266         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38267         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38268         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38269
38270         warn-on-use: new module
38271         * modules/warn-on-use: New file.
38272         * build-aux/warn-on-use.h: Likewise.
38273         * m4/warn-on-use.m4: Likewise.
38274         * MODULES.html.sh (Support for building): Mention it.
38275
38276 2010-01-10  Bruno Haible  <bruno@clisp.org>
38277
38278         Tests for module 'unistr/u32-strdup'.
38279         * modules/unistr/u32-strdup-tests: New file.
38280         * tests/unistr/test-u32-strdup.c: New file.
38281
38282         Tests for module 'unistr/u16-strdup'.
38283         * modules/unistr/u16-strdup-tests: New file.
38284         * tests/unistr/test-u16-strdup.c: New file.
38285
38286         Tests for module 'unistr/u8-strdup'.
38287         * modules/unistr/u8-strdup-tests: New file.
38288         * tests/unistr/test-u8-strdup.c: New file.
38289         * tests/unistr/test-strdup.h: New file.
38290
38291         Tests for module 'unistr/u32-strncmp'.
38292         * modules/unistr/u32-strncmp-tests: New file.
38293         * tests/unistr/test-u32-strncmp.c: New file.
38294
38295         Tests for module 'unistr/u16-strncmp'.
38296         * modules/unistr/u16-strncmp-tests: New file.
38297         * tests/unistr/test-u16-strncmp.c: New file.
38298
38299         Tests for module 'unistr/u8-strncmp'.
38300         * modules/unistr/u8-strncmp-tests: New file.
38301         * tests/unistr/test-u8-strncmp.c: New file.
38302         * tests/unistr/test-strncmp.h: New file.
38303
38304         Tests for module 'unistr/u32-strcoll'.
38305         * modules/unistr/u32-strcoll-tests: New file.
38306         * tests/unistr/test-u32-strcoll.c: New file.
38307
38308         Tests for module 'unistr/u16-strcoll'.
38309         * modules/unistr/u16-strcoll-tests: New file.
38310         * tests/unistr/test-u16-strcoll.c: New file.
38311
38312         Tests for module 'unistr/u8-strcoll'.
38313         * modules/unistr/u8-strcoll-tests: New file.
38314         * tests/unistr/test-u8-strcoll.c: New file.
38315
38316         Tests for module 'unistr/u32-strcmp'.
38317         * modules/unistr/u32-strcmp-tests: New file.
38318         * tests/unistr/test-u32-strcmp.c: New file.
38319         * tests/unistr/test-u32-strcmp.h: New file.
38320
38321         Tests for module 'unistr/u16-strcmp'.
38322         * modules/unistr/u16-strcmp-tests: New file.
38323         * tests/unistr/test-u16-strcmp.c: New file.
38324         * tests/unistr/test-u16-strcmp.h: New file.
38325
38326         Tests for module 'unistr/u8-strcmp'.
38327         * modules/unistr/u8-strcmp-tests: New file.
38328         * tests/unistr/test-u8-strcmp.c: New file.
38329         * tests/unistr/test-u8-strcmp.h: New file.
38330         * tests/unistr/test-strcmp.h: New file.
38331
38332         Tests for module 'unistr/u32-strncat'.
38333         * modules/unistr/u32-strncat-tests: New file.
38334         * tests/unistr/test-u32-strncat.c: New file.
38335
38336         Tests for module 'unistr/u16-strncat'.
38337         * modules/unistr/u16-strncat-tests: New file.
38338         * tests/unistr/test-u16-strncat.c: New file.
38339
38340         Tests for module 'unistr/u8-strncat'.
38341         * modules/unistr/u8-strncat-tests: New file.
38342         * tests/unistr/test-u8-strncat.c: New file.
38343         * tests/unistr/test-strncat.h: New file.
38344
38345         Tests for module 'unistr/u32-strcat'.
38346         * modules/unistr/u32-strcat-tests: New file.
38347         * tests/unistr/test-u32-strcat.c: New file.
38348
38349         Tests for module 'unistr/u16-strcat'.
38350         * modules/unistr/u16-strcat-tests: New file.
38351         * tests/unistr/test-u16-strcat.c: New file.
38352
38353         Tests for module 'unistr/u8-strcat'.
38354         * modules/unistr/u8-strcat-tests: New file.
38355         * tests/unistr/test-u8-strcat.c: New file.
38356         * tests/unistr/test-strcat.h: New file.
38357
38358         Tests for module 'unistr/u32-stpncpy'.
38359         * modules/unistr/u32-stpncpy-tests: New file.
38360         * tests/unistr/test-u32-stpncpy.c: New file.
38361
38362         Tests for module 'unistr/u16-stpncpy'.
38363         * modules/unistr/u16-stpncpy-tests: New file.
38364         * tests/unistr/test-u16-stpncpy.c: New file.
38365
38366         Tests for module 'unistr/u8-stpncpy'.
38367         * modules/unistr/u8-stpncpy-tests: New file.
38368         * tests/unistr/test-u8-stpncpy.c: New file.
38369         * tests/unistr/test-stpncpy.h: New file.
38370
38371         Tests for module 'unistr/u32-strncpy'.
38372         * modules/unistr/u32-strncpy-tests: New file.
38373         * tests/unistr/test-u32-strncpy.c: New file.
38374
38375         Tests for module 'unistr/u16-strncpy'.
38376         * modules/unistr/u16-strncpy-tests: New file.
38377         * tests/unistr/test-u16-strncpy.c: New file.
38378
38379         Tests for module 'unistr/u8-strncpy'.
38380         * modules/unistr/u8-strncpy-tests: New file.
38381         * tests/unistr/test-u8-strncpy.c: New file.
38382         * tests/unistr/test-strncpy.h: New file.
38383
38384         Tests for module 'unistr/u32-stpcpy'.
38385         * modules/unistr/u32-stpcpy-tests: New file.
38386         * tests/unistr/test-u32-stpcpy.c: New file.
38387
38388         Tests for module 'unistr/u16-stpcpy'.
38389         * modules/unistr/u16-stpcpy-tests: New file.
38390         * tests/unistr/test-u16-stpcpy.c: New file.
38391
38392         Tests for module 'unistr/u8-stpcpy'.
38393         * modules/unistr/u8-stpcpy-tests: New file.
38394         * tests/unistr/test-u8-stpcpy.c: New file.
38395         * tests/unistr/test-stpcpy.h: New file.
38396
38397         Tests for module 'unistr/u32-strcpy'.
38398         * modules/unistr/u32-strcpy-tests: New file.
38399         * tests/unistr/test-u32-strcpy.c: New file.
38400
38401         Tests for module 'unistr/u16-strcpy'.
38402         * modules/unistr/u16-strcpy-tests: New file.
38403         * tests/unistr/test-u16-strcpy.c: New file.
38404
38405         Tests for module 'unistr/u8-strcpy'.
38406         * modules/unistr/u8-strcpy-tests: New file.
38407         * tests/unistr/test-u8-strcpy.c: New file.
38408         * tests/unistr/test-strcpy.h: New file.
38409
38410         Tests for module 'unistr/u32-strnlen'.
38411         * modules/unistr/u32-strnlen-tests: New file.
38412         * tests/unistr/test-u32-strnlen.c: New file.
38413
38414         Tests for module 'unistr/u16-strnlen'.
38415         * modules/unistr/u16-strnlen-tests: New file.
38416         * tests/unistr/test-u16-strnlen.c: New file.
38417
38418         Tests for module 'unistr/u8-strnlen'.
38419         * modules/unistr/u8-strnlen-tests: New file.
38420         * tests/unistr/test-u8-strnlen.c: New file.
38421         * tests/unistr/test-strnlen.h: New file.
38422
38423         Tests for module 'unistr/u32-strlen'.
38424         * modules/unistr/u32-strlen-tests: New file.
38425         * tests/unistr/test-u32-strlen.c: New file.
38426
38427         Tests for module 'unistr/u16-strlen'.
38428         * modules/unistr/u16-strlen-tests: New file.
38429         * tests/unistr/test-u16-strlen.c: New file.
38430
38431         Tests for module 'unistr/u8-strlen'.
38432         * modules/unistr/u8-strlen-tests: New file.
38433         * tests/unistr/test-u8-strlen.c: New file.
38434
38435         Tests for module 'unistr/u32-prev'.
38436         * modules/unistr/u32-prev-tests: New file.
38437         * tests/unistr/test-u32-prev.c: New file.
38438
38439         Tests for module 'unistr/u16-prev'.
38440         * modules/unistr/u16-prev-tests: New file.
38441         * tests/unistr/test-u16-prev.c: New file.
38442
38443         Tests for module 'unistr/u8-prev'.
38444         * modules/unistr/u8-prev-tests: New file.
38445         * tests/unistr/test-u8-prev.c: New file.
38446
38447         Tests for module 'unistr/u32-next'.
38448         * modules/unistr/u32-next-tests: New file.
38449         * tests/unistr/test-u32-next.c: New file.
38450
38451         Tests for module 'unistr/u16-next'.
38452         * modules/unistr/u16-next-tests: New file.
38453         * tests/unistr/test-u16-next.c: New file.
38454
38455         Tests for module 'unistr/u8-next'.
38456         * modules/unistr/u8-next-tests: New file.
38457         * tests/unistr/test-u8-next.c: New file.
38458
38459         Tests for module 'unistr/u32-strmbtouc'.
38460         * modules/unistr/u32-strmbtouc-tests: New file.
38461         * tests/unistr/test-u32-strmbtouc.c: New file.
38462
38463         Tests for module 'unistr/u16-strmbtouc'.
38464         * modules/unistr/u16-strmbtouc-tests: New file.
38465         * tests/unistr/test-u16-strmbtouc.c: New file.
38466
38467         Tests for module 'unistr/u8-strmbtouc'.
38468         * modules/unistr/u8-strmbtouc-tests: New file.
38469         * tests/unistr/test-u8-strmbtouc.c: New file.
38470
38471         Tests for module 'unistr/u32-strmblen'.
38472         * modules/unistr/u32-strmblen-tests: New file.
38473         * tests/unistr/test-u32-strmblen.c: New file.
38474
38475         Tests for module 'unistr/u16-strmblen'.
38476         * modules/unistr/u16-strmblen-tests: New file.
38477         * tests/unistr/test-u16-strmblen.c: New file.
38478
38479         Tests for module 'unistr/u8-strmblen'.
38480         * modules/unistr/u8-strmblen-tests: New file.
38481         * tests/unistr/test-u8-strmblen.c: New file.
38482
38483         Tests for module 'unistr/u32-cpy-alloc'.
38484         * modules/unistr/u32-cpy-alloc-tests: New file.
38485         * tests/unistr/test-u32-cpy-alloc.c: New file.
38486
38487         Tests for module 'unistr/u16-cpy-alloc'.
38488         * modules/unistr/u16-cpy-alloc-tests: New file.
38489         * tests/unistr/test-u16-cpy-alloc.c: New file.
38490
38491         Tests for module 'unistr/u8-cpy-alloc'.
38492         * modules/unistr/u8-cpy-alloc-tests: New file.
38493         * tests/unistr/test-u8-cpy-alloc.c: New file.
38494         * tests/unistr/test-cpy-alloc.h: New file.
38495
38496         Tests for module 'unistr/u32-mbsnlen'.
38497         * modules/unistr/u32-mbsnlen-tests: New file.
38498         * tests/unistr/test-u32-mbsnlen.c: New file.
38499
38500         Tests for module 'unistr/u16-mbsnlen'.
38501         * modules/unistr/u16-mbsnlen-tests: New file.
38502         * tests/unistr/test-u16-mbsnlen.c: New file.
38503
38504         Tests for module 'unistr/u8-mbsnlen'.
38505         * modules/unistr/u8-mbsnlen-tests: New file.
38506         * tests/unistr/test-u8-mbsnlen.c: New file.
38507
38508         Tests for module 'unistr/u32-chr'.
38509         * modules/unistr/u32-chr-tests: New file.
38510         * tests/unistr/test-u32-chr.c: New file.
38511
38512         Tests for module 'unistr/u16-chr'.
38513         * modules/unistr/u16-chr-tests: New file.
38514         * tests/unistr/test-u16-chr.c: New file.
38515
38516         Tests for module 'unistr/u8-chr'.
38517         * modules/unistr/u8-chr-tests: New file.
38518         * tests/unistr/test-u8-chr.c: New file.
38519         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38520
38521         Tests for module 'unistr/u32-cmp2'.
38522         * modules/unistr/u32-cmp2-tests: New file.
38523         * tests/unistr/test-u32-cmp2.c: New file.
38524
38525         Tests for module 'unistr/u16-cmp2'.
38526         * modules/unistr/u16-cmp2-tests: New file.
38527         * tests/unistr/test-u16-cmp2.c: New file.
38528
38529         Tests for module 'unistr/u8-cmp2'.
38530         * modules/unistr/u8-cmp2-tests: New file.
38531         * tests/unistr/test-u8-cmp2.c: New file.
38532         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38533
38534         Tests for module 'unistr/u32-cmp'.
38535         * modules/unistr/u32-cmp-tests: New file.
38536         * tests/unistr/test-u32-cmp.c: New file.
38537
38538         Tests for module 'unistr/u16-cmp'.
38539         * modules/unistr/u16-cmp-tests: New file.
38540         * tests/unistr/test-u16-cmp.c: New file.
38541
38542         Tests for module 'unistr/u8-cmp'.
38543         * modules/unistr/u8-cmp-tests: New file.
38544         * tests/unistr/test-u8-cmp.c: New file.
38545         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38546
38547         Tests for module 'unistr/u32-set'.
38548         * modules/unistr/u32-set-tests: New file.
38549         * tests/unistr/test-u32-set.c: New file.
38550
38551         Tests for module 'unistr/u16-set'.
38552         * modules/unistr/u16-set-tests: New file.
38553         * tests/unistr/test-u16-set.c: New file.
38554
38555         Tests for module 'unistr/u8-set'.
38556         * modules/unistr/u8-set-tests: New file.
38557         * tests/unistr/test-u8-set.c: New file.
38558         * tests/unistr/test-set.h: New file.
38559
38560         Tests for module 'unistr/u32-move'.
38561         * modules/unistr/u32-move-tests: New file.
38562         * tests/unistr/test-u32-move.c: New file.
38563
38564         Tests for module 'unistr/u16-move'.
38565         * modules/unistr/u16-move-tests: New file.
38566         * tests/unistr/test-u16-move.c: New file.
38567
38568         Tests for module 'unistr/u8-move'.
38569         * modules/unistr/u8-move-tests: New file.
38570         * tests/unistr/test-u8-move.c: New file.
38571         * tests/unistr/test-move.h: New file.
38572
38573         Tests for module 'unistr/u32-cpy'.
38574         * modules/unistr/u32-cpy-tests: New file.
38575         * tests/unistr/test-u32-cpy.c: New file.
38576
38577         Tests for module 'unistr/u16-cpy'.
38578         * modules/unistr/u16-cpy-tests: New file.
38579         * tests/unistr/test-u16-cpy.c: New file.
38580
38581         Tests for module 'unistr/u8-cpy'.
38582         * modules/unistr/u8-cpy-tests: New file.
38583         * tests/unistr/test-u8-cpy.c: New file.
38584         * tests/unistr/test-cpy.h: New file.
38585
38586 2010-01-09  Bruno Haible  <bruno@clisp.org>
38587
38588         Tests for module 'unistr/u32-uctomb'.
38589         * modules/unistr/u32-uctomb-tests: New file.
38590         * tests/unistr/test-u32-uctomb.c: New file.
38591
38592         Tests for module 'unistr/u16-uctomb'.
38593         * modules/unistr/u16-uctomb-tests: New file.
38594         * tests/unistr/test-u16-uctomb.c: New file.
38595
38596         Tests for module 'unistr/u8-uctomb'.
38597         * modules/unistr/u8-uctomb-tests: New file.
38598         * tests/unistr/test-u8-uctomb.c: New file.
38599
38600         Tests for module 'unistr/u32-mbtoucr'.
38601         * modules/unistr/u32-mbtoucr-tests: New file.
38602         * tests/unistr/test-u32-mbtoucr.c: New file.
38603
38604         Tests for module 'unistr/u16-mbtoucr'.
38605         * modules/unistr/u16-mbtoucr-tests: New file.
38606         * tests/unistr/test-u16-mbtoucr.c: New file.
38607
38608         Tests for module 'unistr/u8-mbtoucr'.
38609         * modules/unistr/u8-mbtoucr-tests: New file.
38610         * tests/unistr/test-u8-mbtoucr.c: New file.
38611
38612         Tests for module 'unistr/u32-mbtouc'.
38613         * modules/unistr/u32-mbtouc-tests: New file.
38614         * tests/unistr/test-u32-mbtouc.c: New file.
38615
38616         Tests for module 'unistr/u16-mbtouc'.
38617         * modules/unistr/u16-mbtouc-tests: New file.
38618         * tests/unistr/test-u16-mbtouc.c: New file.
38619
38620         Tests for module 'unistr/u8-mbtouc'.
38621         * modules/unistr/u8-mbtouc-tests: New file.
38622         * tests/unistr/test-u8-mbtouc.c: New file.
38623
38624         Tests for module 'unistr/u32-mbtouc-unsafe'.
38625         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38626         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38627         * tests/unistr/test-u32-mbtouc.h: New file.
38628
38629         Tests for module 'unistr/u16-mbtouc-unsafe'.
38630         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38631         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38632         * tests/unistr/test-u16-mbtouc.h: New file.
38633
38634         Tests for module 'unistr/u8-mbtouc-unsafe'.
38635         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38636         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38637         * tests/unistr/test-u8-mbtouc.h: New file.
38638
38639         Tests for module 'unistr/u32-mblen'.
38640         * modules/unistr/u32-mblen-tests: New file.
38641         * tests/unistr/test-u32-mblen.c: New file.
38642
38643         Tests for module 'unistr/u16-mblen'.
38644         * modules/unistr/u16-mblen-tests: New file.
38645         * tests/unistr/test-u16-mblen.c: New file.
38646
38647         Tests for module 'unistr/u8-mblen'.
38648         * modules/unistr/u8-mblen-tests: New file.
38649         * tests/unistr/test-u8-mblen.c: New file.
38650
38651         Tests for module 'unistr/u32-to-u16'.
38652         * modules/unistr/u32-to-u16-tests: New file.
38653         * tests/unistr/test-u32-to-u16.c: New file.
38654
38655         Tests for module 'unistr/u32-to-u8'.
38656         * modules/unistr/u32-to-u8-tests: New file.
38657         * tests/unistr/test-u32-to-u8.c: New file.
38658
38659         Tests for module 'unistr/u16-to-u32'.
38660         * modules/unistr/u16-to-u32-tests: New file.
38661         * tests/unistr/test-u16-to-u32.c: New file.
38662
38663         Tests for module 'unistr/u16-to-u8'.
38664         * modules/unistr/u16-to-u8-tests: New file.
38665         * tests/unistr/test-u16-to-u8.c: New file.
38666
38667         Tests for module 'unistr/u8-to-u32'.
38668         * modules/unistr/u8-to-u32-tests: New file.
38669         * tests/unistr/test-u8-to-u32.c: New file.
38670
38671         Tests for module 'unistr/u8-to-u16'.
38672         * modules/unistr/u8-to-u16-tests: New file.
38673         * tests/unistr/test-u8-to-u16.c: New file.
38674
38675         Tests for module 'unistr/u32-check'.
38676         * modules/unistr/u32-check-tests: New file.
38677         * tests/unistr/test-u32-check.c: New file.
38678
38679         Tests for module 'unistr/u16-check'.
38680         * modules/unistr/u16-check-tests: New file.
38681         * tests/unistr/test-u16-check.c: New file.
38682
38683         Tests for module 'unistr/u8-check'.
38684         * modules/unistr/u8-check-tests: New file.
38685         * tests/unistr/test-u8-check.c: New file.
38686
38687         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38688         (category_equals): New function.
38689         (main): Add more tests.
38690         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38691
38692         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38693
38694 2010-01-10  Bruno Haible  <bruno@clisp.org>
38695
38696         unistr/u*-strcoll: Try harder to distinguish different strings.
38697         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38698         compare s1 and s2 to see if they are different.
38699
38700 2010-01-10  Bruno Haible  <bruno@clisp.org>
38701
38702         unistr/u*-stpncpy: Fix the return value.
38703         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38704         description of the return value consistent with stpncpy in glibc.
38705         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38706         written non-NUL unit.
38707
38708 2010-01-10  Bruno Haible  <bruno@clisp.org>
38709
38710         unistr/u*-next: Add missing dependencies.
38711         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38712         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38713         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38714
38715 2010-01-10  Bruno Haible  <bruno@clisp.org>
38716
38717         unistr/u8-mbsnlen: Fix return value for incomplete character.
38718         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38719         u8_mblen.
38720         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38721         Remove unistr/u8-mblen.
38722         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38723         u16_mblen.
38724         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38725         Remove unistr/u16-mblen.
38726
38727 2010-01-10  Bruno Haible  <bruno@clisp.org>
38728
38729         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38730         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38731         Reported by Brian Gough <bjg@gnu.org> and
38732         Chris Clayton <chris2553@googlemail.com> via
38733         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38734
38735 2010-01-09  Bruno Haible  <bruno@clisp.org>
38736
38737         unistr/u16-to-u32: Reject invalid input.
38738         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38739         u16_mbtouc.
38740         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38741         Remove unistr/u16-mbtouc.
38742
38743         unistr/u16-to-u8: Reject invalid input.
38744         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38745         u16_mbtouc.
38746         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38747         Remove unistr/u16-mbtouc.
38748
38749         unistr/u8-to-u32: Reject invalid input.
38750         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38751         u8_mbtouc.
38752         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38753         Remove unistr/u8-mbtouc.
38754
38755         unistr/u8-to-u16: Reject invalid input.
38756         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38757         u8_mbtouc.
38758         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38759         Remove unistr/u8-mbtouc.
38760
38761 2010-01-09  Bruno Haible  <bruno@clisp.org>
38762
38763         Tests for module 'getlogin'.
38764         * modules/getlogin-tests: New file.
38765         * tests/test-getlogin.c: New file.
38766
38767         New module 'getlogin'.
38768         * lib/unistd.in.h (getlogin): New declaration.
38769         * lib/getlogin.c: New file.
38770         * m4/getlogin.m4: New file.
38771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38772         HAVE_GETLOGIN.
38773         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38774         HAVE_GETLOGIN.
38775         * modules/getlogin: New file.
38776         * doc/posix-functions/getlogin.texi: Mention the new module.
38777         Reported by John W. Eaton <jwe@gnu.org>.
38778
38779 2010-01-09  Bruno Haible  <bruno@clisp.org>
38780
38781         getlogin_r: Support for native Windows.
38782         * lib/getlogin_r.c: Include <windows.h>
38783         (getlogin_r): Implement for native Windows.
38784         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38785         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38786         via John W. Eaton <jwe@gnu.org>.
38787
38788 2010-01-09  Bruno Haible  <bruno@clisp.org>
38789
38790         getlogin_r: Small fixes.
38791         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38792         succeeds.
38793         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38794         before testing whether getlogin_r is declared. No need to set
38795         HAVE_DECL_GETLOGIN_R to 1.
38796         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38797
38798 2010-01-09  Bruno Haible  <bruno@clisp.org>
38799
38800         * lib/unistd.in.h (getlogin_r): Add comment.
38801
38802 2010-01-09  Bruno Haible  <bruno@clisp.org>
38803
38804         Tests for module 'getlogin_r'.
38805         * modules/getlogin_r-tests: New file.
38806         * tests/test-getlogin_r.c: New file.
38807
38808 2010-01-09  Jim Meyering  <meyering@redhat.com>
38809
38810         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38811         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38812         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38813
38814 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38815
38816         * lib/dup2.c (rpl_dup2): Improve comment.
38817
38818 2010-01-08  Eric Blake  <ebb9@byu.net>
38819
38820         maint.mk: allow packages to add makefile @@ exceptions
38821         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38822         (sc_makefile_check): Rename...
38823         (sc_makefile_at_at_check): ...to this, and use hook.
38824
38825         dup2: work around mingw bug
38826         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38827         Reported by Simon Josefsson.
38828
38829 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38830
38831         glob: Fix C++ compilation.
38832         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38833         C++.
38834
38835 2010-01-07  Bruno Haible  <bruno@clisp.org>
38836
38837         Fix indentation of wctype.in.h, broken since 2007-01-06.
38838         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38839
38840 2010-01-07  Bruno Haible  <bruno@clisp.org>
38841
38842         mbslen: Avoid collision with system function.
38843         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38844         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38845         * m4/mbslen.m4: New file.
38846         * modules/mbslen (Files): Add it.
38847         (configure.ac): Invoke gl_MBSLEN.
38848         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38849         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38850         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38851         via Ian Beckwith <ianb@erislabs.net>.
38852
38853 2010-01-07  Bruno Haible  <bruno@clisp.org>
38854
38855         dirent: Document the last fix.
38856         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38857
38858 2010-01-07  Bruno Haible  <bruno@clisp.org>
38859
38860         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38861         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38862         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38863         va_list are defined.
38864         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38865         Reported by Eric Blake.
38866
38867 2010-01-07  Bruno Haible  <bruno@clisp.org>
38868
38869         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38870         * modules/xlist (Depends-on): Add 'list',
38871         * modules/xoset (Depends-on): Add 'oset'.
38872         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38873
38874 2010-01-07  Bruno Haible  <bruno@clisp.org>
38875
38876         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38877         * doc/posix-functions/strncasecmp.texi: Likewise.
38878
38879 2010-01-07  Bruno Haible  <bruno@clisp.org>
38880
38881         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38882
38883 2010-01-07  John W. Eaton  <jwe@octave.org>
38884
38885         wctype: allow C++ use
38886         * lib/wctype.in.h: Add extern "C" block for C++.
38887
38888 2010-01-06  Eric Blake  <ebb9@byu.net>
38889
38890         maint.mk: detect incorrect GFDL usage
38891         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38892
38893 2010-01-06  Jim Meyering  <meyering@redhat.com>
38894         and Eric Blake  <ebb9@byu.net>
38895
38896         maint.mk: ignore multi-line copyright in NEWS
38897         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38898
38899 2010-01-06  Eric Blake  <ebb9@byu.net>
38900
38901         select: add missing dependency
38902         * modules/select-tests (Depends-on): Move sockets dependency...
38903         * modules/select (Depends-on): ...here.
38904         Reported by Ian Beckwith.
38905
38906         doc: regenerate INSTALL
38907         * doc/INSTALL: Reflect recent autoconf update.
38908         * doc/INSTALL.ISO: Likewise.
38909         * doc/INSTALL.UTF-8: Likewise.
38910
38911         pread: fix compilation on glibc
38912         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38913         Reported by Ralf Wildenhues.
38914
38915         dirent: fix test failure
38916         * lib/dirent.in.h (includes): Guarantee ino_t.
38917         Reported by Ralf Wildenhues.
38918
38919 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38920
38921         linkat, renameat: avoid bad free
38922         * lib/at-func2.c (at_func2): Fix typo.
38923         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38924
38925 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38926
38927         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38928         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38929         to avoid failure of symlink test later.
38930
38931 2010-01-06  Eric Blake  <ebb9@byu.net>
38932
38933         stdio, unistd: guarantee ssize_t
38934         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38935         2008 are exposed when needed.
38936         * lib/stdio.in.h (includes): Likewise.
38937         Reported by Ralf Wildenhues.
38938
38939 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38940
38941         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38942         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38943         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38944
38945 2010-01-06  Jim Meyering  <meyering@redhat.com>
38946
38947         readtokens: this module *does* require xalloc.h
38948         It uses only functions that were omitted by the old syntax-check rule.
38949         * lib/readtokens.c: Include "xalloc.h" once again.
38950         * modules/readtokens (Depends-on): Add xalloc.
38951         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38952
38953 2010-01-05  Eric Blake  <ebb9@byu.net>
38954
38955         maint: support 'make announcement' from a VPATH build
38956         * top/maint.mk (announcement): Look for correct NEWS file.
38957
38958 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38959
38960         utimens (fdutimens): ignore a negative FD, per contract
38961         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38962         when we have a valid file descriptor.  Otherwise, using a brand
38963         new glibc (with just-patched futimens that now fails with EBADF)
38964         would cause this function to fail with ENOSYS.
38965         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38966         See also http://bugzilla.redhat.com/552320.
38967
38968 2010-01-05  Eric Blake  <ebb9@byu.net>
38969
38970         strcase: document what it provides
38971         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38972         gnulib module.
38973         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38974         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38975
38976 2010-01-05  Jim Meyering  <meyering@redhat.com>
38977
38978         maint: remove useless inclusions of "xalloc.h"
38979         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38980         * lib/readtokens.c: Likewise.
38981         * lib/same.c: Likewise.
38982         * modules/getloadavg (Depends-on): Remove xalloc.
38983         * modules/readtokens: Likewise.
38984         * modules/same: Likewise.
38985
38986         maint.mk: include 4 more function names in alloca.h-checking regexp
38987         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38988         regexp.  Before, we would give a false-positive (saying alloca.h
38989         is included unnecessarily) when the only uses involved omitted symbols.
38990
38991         xalloc.h: use consistent formatting
38992         * lib/xalloc.h: Move declarations to start in the first column.
38993
38994 2010-01-05  Eric Blake  <ebb9@byu.net>
38995
38996         mkdir: avoid xalloc
38997         * lib/mkdir.c (includes): Drop unused header.
38998         Reported by John W. Eaton.
38999
39000 2010-01-04  Jim Meyering  <meyering@redhat.com>
39001
39002         nl_langinfo: avoid configure-time syntax error
39003         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39004         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39005         the empty string.  Don't let that provoke a shell syntax error.
39006
39007         regcomp, regexec, fnmatch: avoid array bounds read error
39008         * lib/regcomp.c (build_equiv_class): From glibc:
39009         Use only the low 24 bits of a findidx return value as an index
39010         into the weights array.  Patch by Ulrich Drepper:
39011         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39012         * lib/regexec.c (check_node_accept_bytes): Likewise.
39013         * lib/fnmatch_loop.c (FCT): Likewise.
39014
39015         regcomp: skip collseq lookup when there are no rules
39016         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39017         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39018
39019         regcomp: recognize ill-formed { } expressions
39020         * lib/regcomp.c (parse_dup_op): From glibc:
39021         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39022
39023         regcomp: fix typo in comment
39024         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39025         s/satisfy/satisfies/.
39026
39027         regcomp: sync from glibc: remove dead store
39028         * lib/regcomp.c (duplicate_node_closure): Remove useless
39029         search_duplicated_node call and dead store.
39030
39031         regcomp: sync from glibc; always use nl_langinfo
39032         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39033         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39034         * modules/regex (Depends-on): Add nl_langinfo.
39035
39036 2010-01-04  Eric Blake  <ebb9@byu.net>
39037
39038         fdopendir: fix configure test
39039         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39040
39041 2010-01-01  Bruno Haible  <bruno@clisp.org>
39042
39043         wchar: Remove unused configure check.
39044         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39045
39046 2010-01-01  Eric Blake  <ebb9@byu.net>
39047
39048         headers: make check of system header explicit
39049         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39050         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39051         ourselves.
39052         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39053         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39054         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39055         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39056         internals.
39057         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39058         missing.
39059         Suggested by Bruno Haible.
39060
39061 2010-01-01  Jim Meyering  <meyering@redhat.com>
39062
39063         ChangeLog: tweak to eliminate unnecessary copyright line
39064         * ChangeLog: Remove a copyright line that was mistakenly updated
39065         by today's update-copyright run.  Reported by Eric Blake.
39066
39067         test-update-copyright: don't let envvar setting cause test failure
39068         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39069
39070 2010-01-01  Bruno Haible  <bruno@clisp.org>
39071
39072         localename: Avoid gcc warning.
39073         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39074         function if it is not used.
39075
39076 2010-01-01  Jim Meyering  <meyering@redhat.com>
39077
39078         update nearly all FSF copyright year lists to include 2010
39079         Use the same procedure as for 2009, outlined in
39080         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
39081
39082         version-etc: set COPYRIGHT_YEAR to 2010
39083         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39084
39085 2009-12-31  Eric Blake  <ebb9@byu.net>
39086
39087         doc: correct availability of cygwin 1.5.x getopt
39088         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39089         variables.
39090         * doc/posix-functions/opterr.texi (opterr): Likewise.
39091         * doc/posix-functions/optind.texi (optind): Likewise.
39092         * doc/posix-functions/optopt.texi (optopt): Likewise.
39093         * doc/posix-functions/tzname.texi (tzname): Likewise.
39094
39095         openat: update maintainer
39096         * modules/openat (Maintainer): Add myself.
39097
39098         utimens: avoid shadowing warning
39099         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39100         buffers into one, to avoid shadowing, as well as avoiding a
39101         redundant stat.
39102         Reported by Jim Meyering.
39103
39104         test-dup2: avoid compiler warning
39105         * tests/test-dup2.c (is_inheritable): Only define if used.
39106
39107 2010-01-01  Bruno Haible  <bruno@clisp.org>
39108
39109         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39110         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39111         defined, use wctomb instead of wcrtomb.
39112
39113 2010-01-01  Bruno Haible  <bruno@clisp.org>
39114
39115         iconv: Reject native Solaris iconv.
39116         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39117         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39118
39119 2009-12-31  Bruno Haible  <bruno@clisp.org>
39120
39121         * tests/test-signal.c (main): Remove test of 'SIG'.
39122
39123 2009-12-31  Bruno Haible  <bruno@clisp.org>
39124
39125         spawn: Fix incomplete fix.
39126         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39127         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39128         warnings for GNULIB_POSIXCHECK again.
39129         Reported by Eric Blake.
39130
39131 2009-12-31  Bruno Haible  <bruno@clisp.org>
39132
39133         Avoid namespace pollution on glibc systems.
39134         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39135         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39136         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39137         glibc systems.
39138
39139 2009-12-31  Bruno Haible  <bruno@clisp.org>
39140
39141         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39142         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39143         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39144         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39145         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39146         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39147         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39148
39149 2009-12-31  Bruno Haible  <bruno@clisp.org>
39150
39151         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39152         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39153         afterwards.
39154
39155 2009-12-31  Bruno Haible  <bruno@clisp.org>
39156
39157         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39158         SYS_UTSNAME_H.
39159
39160 2009-12-31  Bruno Haible  <bruno@clisp.org>
39161
39162         spawn: Fix misapplied patch.
39163         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39164         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39165         warnings for GNULIB_POSIXCHECK.
39166
39167 2009-12-31  Bruno Haible  <bruno@clisp.org>
39168
39169         times: Update after sys_times changed.
39170         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39171         * modules/times (Files): Add it.
39172         (configure.ac): Invoke gl_FUNC_TIMES.
39173
39174 2009-12-31  Bruno Haible  <bruno@clisp.org>
39175
39176         Use AC_C_INLINE where necessary.
39177         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39178         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39179         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39180         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39181         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39182         * m4/mbiter.m4 (gl_MBITER): Likewise.
39183         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39184         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39185         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39186         * modules/u64 (configure.ac): Likewise.
39187
39188 2009-12-31  Bruno Haible  <bruno@clisp.org>
39189
39190         Use AC_C_INLINE instead of module 'inline' where possible.
39191         * modules/inline (Description): Clarify purpose.
39192         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39193         * modules/count-one-bits (Depends-on): Remove inline.
39194         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39195         * modules/openat (Depends-on): Remove inline.
39196         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39197         instead of depending on module 'inline'.
39198         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39199         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39200         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39201         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39202         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39203         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39204         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39205         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39206         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39207         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39208         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39209         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39210         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39211         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39212         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39213         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39214         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39215         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39216         Likewise.
39217         * modules/unictype/property-ascii-hex-digit (Depends-on,
39218         configure.ac): Likewise.
39219         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39220         configure.ac): Likewise.
39221         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39222         configure.ac): Likewise.
39223         * modules/unictype/property-bidi-block-separator (Depends-on,
39224         configure.ac): Likewise.
39225         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39226         configure.ac): Likewise.
39227         * modules/unictype/property-bidi-common-separator (Depends-on,
39228         configure.ac): Likewise.
39229         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39230         Likewise.
39231         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39232         configure.ac): Likewise.
39233         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39234         configure.ac): Likewise.
39235         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39236         configure.ac): Likewise.
39237         * modules/unictype/property-bidi-european-digit (Depends-on,
39238         configure.ac): Likewise.
39239         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39240         configure.ac): Likewise.
39241         * modules/unictype/property-bidi-left-to-right (Depends-on,
39242         configure.ac): Likewise.
39243         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39244         configure.ac): Likewise.
39245         * modules/unictype/property-bidi-other-neutral (Depends-on,
39246         configure.ac): Likewise.
39247         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39248         Likewise.
39249         * modules/unictype/property-bidi-segment-separator (Depends-on,
39250         configure.ac): Likewise.
39251         * modules/unictype/property-bidi-whitespace (Depends-on,
39252         configure.ac): Likewise.
39253         * modules/unictype/property-combining (Depends-on, configure.ac):
39254         Likewise.
39255         * modules/unictype/property-composite (Depends-on, configure.ac):
39256         Likewise.
39257         * modules/unictype/property-currency-symbol (Depends-on,
39258         configure.ac): Likewise.
39259         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39260         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39261         Likewise.
39262         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39263         configure.ac): Likewise.
39264         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39265         Likewise.
39266         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39267         Likewise.
39268         * modules/unictype/property-extender (Depends-on, configure.ac):
39269         Likewise.
39270         * modules/unictype/property-format-control (Depends-on, configure.ac):
39271         Likewise.
39272         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39273         Likewise.
39274         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39275         Likewise.
39276         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39277         Likewise.
39278         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39279         Likewise.
39280         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39281         Likewise.
39282         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39283         Likewise.
39284         * modules/unictype/property-id-start (Depends-on, configure.ac):
39285         Likewise.
39286         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39287         Likewise.
39288         * modules/unictype/property-ids-binary-operator (Depends-on,
39289         configure.ac): Likewise.
39290         * modules/unictype/property-ids-trinary-operator (Depends-on,
39291         configure.ac): Likewise.
39292         * modules/unictype/property-ignorable-control (Depends-on,
39293         configure.ac): Likewise.
39294         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39295         Likewise.
39296         * modules/unictype/property-join-control (Depends-on, configure.ac):
39297         Likewise.
39298         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39299         Likewise.
39300         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39301         Likewise.
39302         * modules/unictype/property-logical-order-exception (Depends-on,
39303         configure.ac): Likewise.
39304         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39305         Likewise.
39306         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39307         * modules/unictype/property-non-break (Depends-on, configure.ac):
39308         Likewise.
39309         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39310         Likewise.
39311         * modules/unictype/property-numeric (Depends-on, configure.ac):
39312         Likewise.
39313         * modules/unictype/property-other-alphabetic (Depends-on,
39314         configure.ac): Likewise.
39315         * modules/unictype/property-other-default-ignorable-code-point
39316         (Depends-on, configure.ac): Likewise.
39317         * modules/unictype/property-other-grapheme-extend (Depends-on,
39318         configure.ac): Likewise.
39319         * modules/unictype/property-other-id-continue (Depends-on,
39320         configure.ac): Likewise.
39321         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39322         Likewise.
39323         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39324         Likewise.
39325         * modules/unictype/property-other-math (Depends-on, configure.ac):
39326         Likewise.
39327         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39328         Likewise.
39329         * modules/unictype/property-paired-punctuation (Depends-on,
39330         configure.ac): Likewise.
39331         * modules/unictype/property-paragraph-separator (Depends-on,
39332         configure.ac): Likewise.
39333         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39334         Likewise.
39335         * modules/unictype/property-pattern-white-space (Depends-on,
39336         configure.ac): Likewise.
39337         * modules/unictype/property-private-use (Depends-on, configure.ac):
39338         Likewise.
39339         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39340         Likewise.
39341         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39342         Likewise.
39343         * modules/unictype/property-radical (Depends-on, configure.ac):
39344         Likewise.
39345         * modules/unictype/property-sentence-terminal (Depends-on,
39346         configure.ac): Likewise.
39347         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39348         Likewise.
39349         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39350         * modules/unictype/property-terminal-punctuation (Depends-on,
39351         configure.ac): Likewise.
39352         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39353         Likewise.
39354         * modules/unictype/property-unassigned-code-value (Depends-on,
39355         configure.ac): Likewise.
39356         * modules/unictype/property-unified-ideograph (Depends-on,
39357         configure.ac): Likewise.
39358         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39359         Likewise.
39360         * modules/unictype/property-variation-selector (Depends-on,
39361         configure.ac): Likewise.
39362         * modules/unictype/property-white-space (Depends-on, configure.ac):
39363         Likewise.
39364         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39365         Likewise.
39366         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39367         Likewise.
39368         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39369         Likewise.
39370         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39371         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39372         Likewise.
39373
39374 2009-12-31  Bruno Haible  <bruno@clisp.org>
39375
39376         Remove unnecessary AC_C_INLINE invocation.
39377         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39378         since 2009-08-21.
39379
39380 2009-12-31  Jim Meyering  <meyering@redhat.com>
39381
39382         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39383         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39384         With this change, we can all remove the gpg_key_ID = ... definition
39385         from our respective cfg.mk files.
39386
39387         maint.mk: create announcement template in ~/, not in /tmp
39388         * top/maint.mk (emit_upload_commands): Adjust.
39389         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39390         Remove temporary file, .ci-msg.
39391
39392 2009-12-31  Eric Blake  <ebb9@byu.net>
39393
39394         link-warning: always build headers with link warnings
39395         * modules/arpa_inet (Makefile.am): Always build replacement
39396         header.
39397         * modules/ctype (Makefile.am): Likewise.
39398         * modules/dirent (Makefile.am): Likewise.
39399         * modules/inttypes (Makefile.am): Likewise.
39400         * modules/langinfo (Makefile.am): Likewise.
39401         * modules/locale (Makefile.am): Likewise.
39402         * modules/spawn (Makefile.am): Likewise.
39403         * modules/sys_file (Makefile.am): Likewise.
39404         * modules/sys_ioctl (Makefile.am): Likewise.
39405         * modules/sys_select (Makefile.am): Likewise.
39406         * modules/sys_socket (Makefile.am): Likewise.
39407         * modules/sys_times (Makefile.am): Likewise.
39408         * modules/sys_utsname (Makefile.am): Likewise.
39409         * modules/sys_wait (Makefile.am): Likewise.
39410         * modules/wchar (Makefile.am): Likewise.
39411         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39412         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39413         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39414         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39415         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39416         Likewise.
39417         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39418         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39419         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39420         Likewise.
39421         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39422         Likewise.
39423         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39424         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39425         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39426         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39427         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39428         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39429         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39430         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39431         (gl_WCHAR_H_DEFAULTS): Likewise.
39432
39433 2009-12-31  Eric Blake  <ebb9@byu.net>
39434
39435         signal, spawn: use link warnings
39436         * lib/signal.in.h (sigset_t): Make unconditional.
39437         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39438         (sigpending, sigprocmask, sigaction): Add link warnings.
39439         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39440         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39441         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39442         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39443         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39444         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39445         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39446         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39447         (posix_spawn_file_actions_destroy)
39448         (posix_spawn_file_actions_addopen)
39449         (posix_spawn_file_actions_addclose)
39450         (posix_spawn_file_actions_adddup2): Likewise.
39451         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39452         * tests/test-signal.c (main): Enhance test.
39453
39454         spawn: improve wrapper support
39455         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39456         (gl_SPAWN_H_DEFAULTS): New defaults.
39457         * modules/spawn (Makefile.am): Substitute them.
39458         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39459         Only declare if missing or broken.
39460
39461         sys_times, sys_utsname: use include_next
39462         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39463         header.
39464         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39465         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39466         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39467         * modules/sys_times (Depends-on): Add include_next.
39468         (Makefile.am): Substitute additional values.
39469         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39470         * lib/sys_times.in.h (includes): Include native header, if
39471         available.
39472         * lib/sys_utsname.in.h (includes): Likewise.
39473         * tests/test-sys_times.c (main): Enhance test.
39474
39475         fdutimensat: revert prior patch
39476         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39477         utimens.h.
39478         Reported by Bruno Haible.
39479
39480 2009-12-30  Eric Blake  <ebb9@byu.net>
39481
39482         sys_wait: drop link-warning dependency
39483         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39484         link-warning efforts.
39485         * lib/sys_wait.in.h: Likewise.
39486
39487         fdutimensat: remove bogus dependency
39488         * modules/fdutimensat (Depends-on): Drop inline.
39489
39490         unistd: fix typo
39491         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39492
39493 2009-12-30  Bruno Haible  <bruno@clisp.org>
39494
39495         Fix compilation error with Solaris cc.
39496         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39497         * lib/unicase/u16-is-invariant.c: Likewise.
39498         * lib/unicase/u32-is-invariant.c: Likewise.
39499         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39500
39501 2009-12-30  Bruno Haible  <bruno@clisp.org>
39502
39503         Fix test crash.
39504         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39505         locales.
39506         Reported by Simon Josefsson <simon@josefsson.org>.
39507
39508 2009-12-30  Bruno Haible  <bruno@clisp.org>
39509
39510         Fix compilation error on most platforms.
39511         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39512         Reported by Simon Josefsson <simon@josefsson.org>
39513         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39514
39515 2009-12-30  Eric Blake  <ebb9@byu.net>
39516
39517         futimens, utimensat: work around ntfs-3g bug
39518         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39519         a ctime bug is present, and expand workaround to cover ntfs-3g.
39520         * lib/utimens.c (fdutimens, lutimens): Likewise.
39521         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39522         (validate_timespec): Adjust return value.
39523         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39524         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39525         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39526
39527 2009-12-29  Eric Blake  <ebb9@byu.net>
39528
39529         link-warning: make usage consistent
39530         * modules/ctype (Depends-on): Add link-warning.
39531         (Makefile.am): Update rules accordingly.
39532         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39533         * modules/locale (Depends-on, Makefile.am): Likewise.
39534         * modules/sys_file (Makefile.am): Likewise.
39535         * modules/getopt-posix (Makefile.am): Delete unused link warning
39536         efforts.
39537         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39538         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39539         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39540         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39541
39542         stdio: remove unused variables
39543         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39544         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39545         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39546
39547         tests: test more substitute headers
39548         * modules/ctype-tests: New file.
39549         * modules/dirent-tests: Likewise.
39550         * modules/spawn-tests: Likewise.
39551         * modules/sys_file-tests: Likewise.
39552         * modules/sys_ioctl-tests: Likewise.
39553         * modules/sys_wait-tests: Likewise.
39554         * tests/test-ctype.c: Likewise.
39555         * tests/test-dirent.c: Likewise.
39556         * tests/test-spawn.c: Likewise.
39557         * tests/test-sys_file.c: Likewise.
39558         * tests/test-sys_ioctl.c: Likewise.
39559         * tests/test-sys_wait.c: Likewise.
39560         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39561         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39562         whether or not flock is in use.
39563
39564         tests: remove License section from module
39565         * modules/arpa_inet-tests: Remove unneeded section.
39566         * modules/byteswap-tests: Likewise.
39567         * modules/ceilf-tests: Likewise.
39568         * modules/ceill-tests: Likewise.
39569         * modules/crypto/des-tests: Likewise.
39570         * modules/crypto/gc-arcfour-tests: Likewise.
39571         * modules/crypto/gc-arctwo-tests: Likewise.
39572         * modules/crypto/gc-des-tests: Likewise.
39573         * modules/crypto/gc-hmac-md5-tests: Likewise.
39574         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39575         * modules/crypto/gc-md2-tests: Likewise.
39576         * modules/crypto/gc-md4-tests: Likewise.
39577         * modules/crypto/gc-md5-tests: Likewise.
39578         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39579         * modules/crypto/gc-rijndael-tests: Likewise.
39580         * modules/crypto/gc-sha1-tests: Likewise.
39581         * modules/crypto/gc-tests: Likewise.
39582         * modules/crypto/md2-tests: Likewise.
39583         * modules/crypto/md4-tests: Likewise.
39584         * modules/fcntl-h-tests: Likewise.
39585         * modules/floorf-tests: Likewise.
39586         * modules/floorl-tests: Likewise.
39587         * modules/frexp-nolibm-tests: Likewise.
39588         * modules/frexp-tests: Likewise.
39589         * modules/frexpl-nolibm-tests: Likewise.
39590         * modules/frexpl-tests: Likewise.
39591         * modules/getaddrinfo-tests: Likewise.
39592         * modules/inttypes-tests: Likewise.
39593         * modules/isfinite-tests: Likewise.
39594         * modules/isinf-tests: Likewise.
39595         * modules/ldexpl-tests: Likewise.
39596         * modules/locale-tests: Likewise.
39597         * modules/math-tests: Likewise.
39598         * modules/netdb-tests: Likewise.
39599         * modules/netinet_in-tests: Likewise.
39600         * modules/printf-frexp-tests: Likewise.
39601         * modules/printf-frexpl-tests: Likewise.
39602         * modules/priv-set-tests: Likewise.
39603         * modules/random_r-tests: Likewise.
39604         * modules/round-tests: Likewise.
39605         * modules/roundf-tests: Likewise.
39606         * modules/roundl-tests: Likewise.
39607         * modules/search-tests: Likewise.
39608         * modules/select-tests: Likewise.
39609         * modules/signal-tests: Likewise.
39610         * modules/stdbool-tests: Likewise.
39611         * modules/stddef-tests: Likewise.
39612         * modules/stdint-tests: Likewise.
39613         * modules/stdio-tests: Likewise.
39614         * modules/stdlib-tests: Likewise.
39615         * modules/string-tests: Likewise.
39616         * modules/strings-tests: Likewise.
39617         * modules/sys_select-tests: Likewise.
39618         * modules/sys_socket-tests: Likewise.
39619         * modules/sys_stat-tests: Likewise.
39620         * modules/sys_time-tests: Likewise.
39621         * modules/sys_utsname-tests: Likewise.
39622         * modules/sysexits-tests: Likewise.
39623         * modules/time-tests: Likewise.
39624         * modules/trunc-tests: Likewise.
39625         * modules/truncf-tests: Likewise.
39626         * modules/truncl-tests: Likewise.
39627         * modules/tsearch-tests: Likewise.
39628         * modules/unistd-tests: Likewise.
39629         * modules/wchar-tests: Likewise.
39630         * modules/wctype-tests: Likewise.
39631
39632         tests: fix license on several tests
39633         * tests/test-des.c: Update to GPLv3+.
39634         * tests/test-flock.c: Likewise.
39635         * tests/test-fsync.c: Likewise.
39636         * tests/test-futimens.h: Likewise.
39637         * tests/test-gc-arcfour.c: Likewise.
39638         * tests/test-gc-arctwo.c: Likewise.
39639         * tests/test-gc-des.c: Likewise.
39640         * tests/test-gc-hmac-md5.c: Likewise.
39641         * tests/test-gc-hmac-sha1.c: Likewise.
39642         * tests/test-gc-md2.c: Likewise.
39643         * tests/test-gc-md4.c: Likewise.
39644         * tests/test-gc-md5.c: Likewise.
39645         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39646         * tests/test-gc-rijndael.c: Likewise.
39647         * tests/test-gc-sha1.c: Likewise.
39648         * tests/test-gc.c: Likewise.
39649         * tests/test-getcwd.c: Likewise.
39650         * tests/test-link.c: Likewise.
39651         * tests/test-link.h: Likewise.
39652         * tests/test-lutimens.h: Likewise.
39653         * tests/test-md2.c: Likewise.
39654         * tests/test-md4.c: Likewise.
39655         * tests/test-mkdir.h: Likewise.
39656         * tests/test-rename.c: Likewise.
39657         * tests/test-rename.h: Likewise.
39658         * tests/test-safe-alloc.c: Likewise.
39659         * tests/test-utimens-common.h: Likewise.
39660         * tests/test-utimens.h: Likewise.
39661
39662         maint: sync license texts
39663         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39664         * doc/gpl-3.0.texi: Revert copyright year update.
39665         * doc/lgpl-3.0.texi: Likewise.
39666
39667 2009-12-29  Jim Meyering  <meyering@redhat.com>
39668
39669         update nearly all FSF copyright year lists to include 2009
39670         The files named by the following are exempted:
39671             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39672               test -f "$dst" && { echo "$dst"; continue; }
39673               test -d "$dst" || continue
39674               echo "$dst"/$(basename "$src")
39675             done > exempt
39676             git ls-files tests/unictype >> exempt
39677         In the remaining files, convert to all-interval notation if
39678         - there is already at least one year interval like 2000-2003
39679         - the file is maintained by me
39680         - the file is in lib/uni*/, where that style already prevails
39681         Otherwise, use update-copyright's default.
39682
39683 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39684         and Eric Blake  <ebb9@byu.net>
39685
39686         tests: don't require debug system() to pass
39687         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39688         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39689         * tests/test-unlink.h (test_unlink_func): Likewise.
39690         * tests/test-fstatat.c (main): ...into callers.
39691         * tests/test-lstat.c (main): Likewise.
39692         * tests/test-rmdir.c (main): Likewise.
39693         * tests/test-unlink.c (main): Likewise.
39694         * tests/test-unlinkat.c (main): Likewise.
39695         * tests/test-areadlink-with-size.c (main): Don't require a
39696         debug-only system call to pass, aiding cross-testing to mingw.
39697         * tests/test-areadlink.c (main): Likewise.
39698         * tests/test-areadlinkat-with-size.c (main): Likewise.
39699         * tests/test-areadlinkat.c (main): Likewise.
39700         * tests/test-canonicalize-lgpl.c (main): Likewise.
39701         * tests/test-canonicalize.c (main): Likewise.
39702         * tests/test-chown.c (main): Likewise.
39703         * tests/test-fchownat.c (main): Likewise.
39704         * tests/test-lchown.c (main): Likewise.
39705         * tests/test-fdutimensat.c (main): Likewise.
39706         * tests/test-futimens.c (main): Likewise.
39707         * tests/test-link.c (main): Likewise.
39708         * tests/test-linkat.c (main): Likewise.
39709         * tests/test-mkdir.c (main): Likewise.
39710         * tests/test-mkdirat.c (main): Likewise.
39711         * tests/test-mkfifo.c (main): Likewise.
39712         * tests/test-mkfifoat.c (main): Likewise.
39713         * tests/test-mknod.c (main): Likewise.
39714         * tests/test-readlink.c (main): Likewise.
39715         * tests/test-remove.c (main): Likewise.
39716         * tests/test-rename.c (main): Likewise.
39717         * tests/test-renameat.c (main): Likewise.
39718         * tests/test-symlink.c (main): Likewise.
39719         * tests/test-symlinkat.c (main): Likewise.
39720         * tests/test-utimens.c (main): Likewise.
39721         * tests/test-utimensat.c (main): Likewise.
39722
39723 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39724
39725         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39726         on $(UNUSED_PARAMETER_H) to avoid build failure.
39727
39728 2009-12-28  Jim Meyering  <meyering@redhat.com>
39729
39730         update-copyright: you may specify a max. line length other than 72
39731         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39732
39733         maint: use consistent FSF copyright line syntax
39734         * lib/posixtm.c: Add missing comma in FSF copyright line.
39735         * lib/posixtm.h: Likewise.
39736         * lib/getugroups.c: Add missing ", Inc.".
39737
39738         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39739         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39740         FSF copyright line.  Remove trailing blanks.
39741
39742 2009-12-28  Eric Blake  <ebb9@byu.net>
39743
39744         test-dup2: reduce dependencies
39745         * modules/cloexec (Configure.ac): Set witness.
39746         * modules/dup2-tests (Depends-on): Drop cloexec.
39747         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39748         not present.
39749         Suggested by Bruno Haible.
39750
39751 2009-12-26  Bruno Haible  <bruno@clisp.org>
39752
39753         Remove an unneeded dependency.
39754         * modules/fseterr (Depends-on): Remove dup2.
39755
39756 2009-12-26  Eric Blake  <ebb9@byu.net>
39757
39758         tests: use macros.h in more places
39759         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39760         (ASSERT_STREAM): Provide default of stderr.
39761         * tests/test-dirent-safer.c: Include macros.h, using alternate
39762         stream for assertions.
39763         * tests/test-dup-safer.c: Likewise.
39764         * tests/test-freopen-safer.c: Likewise.
39765         * tests/test-getopt.c: Likewise.
39766         * tests/test-openat-safer.c: Likewise.
39767         * tests/test-pipe.c: Likewise.
39768         * tests/test-popen-safer.c: Likewise.
39769         * modules/dirent-safer-tests (Files): Include macros.h.
39770         * modules/unistd-safer-tests (Files): Likewise.
39771         * modules/freopen-safer-tests (Files): Likewise.
39772         * modules/getopt-posix-tests (Files): Likewise.
39773         * modules/openat-safer-tests (Files): Likewise.
39774         * modules/pipe-tests (Files): Likewise.
39775
39776 2009-12-26  Bruno Haible  <bruno@clisp.org>
39777
39778         javacomp: Portability fix.
39779         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39780         that it also works on Solaris.
39781
39782 2009-12-26  Bruno Haible  <bruno@clisp.org>
39783
39784         localename: Fix storage allocation of gl_locale_name_thread's result.
39785         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39786         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39787         all platforms that have 'uselocale'.
39788         (gl_locale_name_thread_unsafe): New function, extracted from
39789         gl_locale_name_thread.
39790         (gl_locale_name_thread): Call struniq on all platforms that have
39791         'uselocale'.
39792         * tests/test-localename.c (test_locale_name_thread): Check that the
39793         resulting strings are permanently allocated.
39794         * modules/localename-tests (Depends-on): Add strdup.
39795
39796 2009-12-26  Bruno Haible  <bruno@clisp.org>
39797
39798         * tests/test-localename.c (categories): Fill in the strings.
39799
39800 2009-12-26  Jim Meyering  <meyering@redhat.com>
39801
39802         isdir: complete the removal of m4/isdir.m4
39803         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39804
39805         isdir: clean up, since at least grep still uses it
39806         * lib/isdir.c: Include "isdir.h".
39807         (S_ISDIR): Remove now-unneeded definition.
39808         * modules/isdir (Files): Add lib/isdir.h.
39809         * lib/isdir.h: New file, with declaration.
39810         * m4/isdir.m4: Remove file -- unneeded.
39811
39812 2009-12-25  Bruno Haible  <bruno@clisp.org>
39813
39814         selinux-h: Make generated .h files standalone.
39815         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39816         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39817         * lib/se-selinux.in.h: Likewise.
39818         * modules/selinux-h (Depends-on): Add unused-parameter.
39819         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39820         selinux/selinux.h and selinux/context.h.
39821         Suggested by Eric Blake.
39822
39823 2009-12-25  Bruno Haible  <bruno@clisp.org>
39824
39825         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39826         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39827         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39828         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39829         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39830
39831 2009-12-24  Bruno Haible  <bruno@clisp.org>
39832
39833         openat: Fix warning.
39834         * lib/openat-proc.c: Include <unistd.h>.
39835
39836 2009-12-24  Bruno Haible  <bruno@clisp.org>
39837
39838         New module 'unused-parameter'.
39839         * build-aux/unused-parameter.h: New file, extracted from earlier
39840         gnulib-common.m4.
39841         * modules/unused-parameter: New file.
39842         * lib/unistr.h: Include unused-parameter.h.
39843         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39844         _GL_UNUSED.
39845         * modules/unistr/base (Depends-on): Add unused-parameter.
39846
39847 2009-12-24  Bruno Haible  <bruno@clisp.org>
39848
39849         Add missing dependencies to 'extensions' module.
39850         * m4/extensions.m4: Add comment.
39851         * modules/accept4 (Depends-on): Add extensions.
39852         * modules/dup3 (Depends-on): Likewise.
39853         * modules/fcntl (Depends-on): Likewise.
39854         * modules/futimens (Depends-on): Likewise.
39855         * modules/mknod (Depends-on): Likewise.
39856         * modules/pipe2 (Depends-on): Likewise.
39857         * modules/stat-time (Depends-on): Likewise.
39858         * modules/strcasestr-simple (Depends-on): Likewise.
39859         * modules/strsignal (Depends-on): Likewise.
39860         * modules/utimensat (Depends-on): Likewise.
39861         * modules/localcharset (Depends-on): Likewise. Needed because of
39862         gl_FCNTL_O_FLAGS.
39863         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39864         AC_TYPE_MBSTATE_T.
39865         * modules/wcsnrtombs (Depends-on): Likewise.
39866         * modules/wcsrtombs (Depends-on): Likewise.
39867
39868 2009-12-24  Bruno Haible  <bruno@clisp.org>
39869
39870         binary-io: Avoid gcc warning due to SET_BINARY.
39871         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39872         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39873
39874 2009-12-24  Bruno Haible  <bruno@clisp.org>
39875
39876         Avoid future namespace pollution on glibc systems.
39877         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39878         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39879         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39880         glibc systems.
39881
39882 2009-12-24  Bruno Haible  <bruno@clisp.org>
39883
39884         Refactor common macros used in tests.
39885         * tests/macros.h: New file.
39886         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39887         and/or <stdlib.h>, if appropriate.
39888         (ASSERT, SIZEOF): Remove macros.
39889         * tests/test-areadlink-with-size.c: Likewise.
39890         * tests/test-areadlinkat.c: Likewise.
39891         * tests/test-areadlinkat-with-size.c: Likewise.
39892         * tests/test-argmatch.c: Likewise.
39893         * tests/test-argv-iter.c: Likewise.
39894         * tests/test-array-mergesort.c: Likewise.
39895         * tests/test-array_list.c: Likewise.
39896         * tests/test-array_oset.c: Likewise.
39897         * tests/test-avltree_list.c: Likewise.
39898         * tests/test-avltree_oset.c: Likewise.
39899         * tests/test-avltreehash_list.c: Likewise.
39900         * tests/test-base64.c: Likewise.
39901         * tests/test-binary-io.c: Likewise.
39902         * tests/test-bitrotate.c: Likewise.
39903         * tests/test-btowc.c: Likewise.
39904         * tests/test-byteswap.c: Likewise.
39905         * tests/test-c-ctype.c: Likewise.
39906         * tests/test-c-stack.c: Likewise.
39907         * tests/test-c-strcasecmp.c: Likewise.
39908         * tests/test-c-strcasestr.c: Likewise.
39909         * tests/test-c-strncasecmp.c: Likewise.
39910         * tests/test-c-strstr.c: Likewise.
39911         * tests/test-canonicalize-lgpl.c: Likewise.
39912         * tests/test-canonicalize.c: Likewise.
39913         * tests/test-carray_list.c: Likewise.
39914         * tests/test-ceilf1.c: Likewise.
39915         * tests/test-ceilf2.c: Likewise.
39916         * tests/test-ceill.c: Likewise.
39917         * tests/test-chown.c: Likewise.
39918         * tests/test-cloexec.c: Likewise.
39919         * tests/test-copy-acl.c: Likewise.
39920         * tests/test-copy-file.c: Likewise.
39921         * tests/test-count-one-bits.c: Likewise.
39922         * tests/test-dprintf-posix.c: Likewise.
39923         * tests/test-dup2.c: Likewise.
39924         * tests/test-dup3.c: Likewise.
39925         * tests/test-duplocale.c: Likewise.
39926         * tests/test-fbufmode.c: Likewise.
39927         * tests/test-fchdir.c: Likewise.
39928         * tests/test-fchownat.c: Likewise.
39929         * tests/test-fcntl-safer.c: Likewise.
39930         * tests/test-fcntl.c: Likewise.
39931         * tests/test-fdopendir.c: Likewise.
39932         * tests/test-fdutimensat.c: Likewise.
39933         * tests/test-fflush2.c: Likewise.
39934         * tests/test-file-has-acl.c: Likewise.
39935         * tests/test-filevercmp.c: Likewise.
39936         * tests/test-flock.c: Likewise.
39937         * tests/test-floorf1.c: Likewise.
39938         * tests/test-floorf2.c: Likewise.
39939         * tests/test-floorl.c: Likewise.
39940         * tests/test-fnmatch.c: Likewise.
39941         * tests/test-fopen.h: Likewise.
39942         * tests/test-fpending.c: Likewise.
39943         * tests/test-fprintf-posix.c: Likewise.
39944         * tests/test-fpurge.c: Likewise.
39945         * tests/test-freadable.c: Likewise.
39946         * tests/test-freadahead.c: Likewise.
39947         * tests/test-freading.c: Likewise.
39948         * tests/test-freadptr.c: Likewise.
39949         * tests/test-freadptr2.c: Likewise.
39950         * tests/test-freadseek.c: Likewise.
39951         * tests/test-freopen.c: Likewise.
39952         * tests/test-frexp.c: Likewise.
39953         * tests/test-frexpl.c: Likewise.
39954         * tests/test-fseek.c: Likewise.
39955         * tests/test-fseeko.c: Likewise.
39956         * tests/test-fstatat.c: Likewise.
39957         * tests/test-fstrcmp.c: Likewise.
39958         * tests/test-fsync.c: Likewise.
39959         * tests/test-ftell.c: Likewise.
39960         * tests/test-ftello.c: Likewise.
39961         * tests/test-func.c: Likewise.
39962         * tests/test-futimens.c: Likewise.
39963         * tests/test-fwritable.c: Likewise.
39964         * tests/test-fwriting.c: Likewise.
39965         * tests/test-getcwd.c: Likewise.
39966         * tests/test-getdate.c: Likewise.
39967         * tests/test-getdelim.c: Likewise.
39968         * tests/test-getdtablesize.c: Likewise.
39969         * tests/test-getgroups.c: Likewise.
39970         * tests/test-getline.c: Likewise.
39971         * tests/test-getndelim2.c: Likewise.
39972         * tests/test-glob.c: Likewise.
39973         * tests/test-hash.c: Likewise.
39974         * tests/test-i-ring.c: Likewise.
39975         * tests/test-iconv-utf.c: Likewise.
39976         * tests/test-iconv.c: Likewise.
39977         * tests/test-idpriv-drop.c: Likewise.
39978         * tests/test-idpriv-droptemp.c: Likewise.
39979         * tests/test-inet_ntop.c: Likewise.
39980         * tests/test-inet_pton.c: Likewise.
39981         * tests/test-isblank.c: Likewise.
39982         * tests/test-isfinite.c: Likewise.
39983         * tests/test-isinf.c: Likewise.
39984         * tests/test-isnan.c: Likewise.
39985         * tests/test-isnand.h: Likewise.
39986         * tests/test-isnanf.h: Likewise.
39987         * tests/test-isnanl.h: Likewise.
39988         * tests/test-lchown.c: Likewise.
39989         * tests/test-ldexpl.c: Likewise.
39990         * tests/test-link.c: Likewise.
39991         * tests/test-linkat.c: Likewise.
39992         * tests/test-linked_list.c: Likewise.
39993         * tests/test-linkedhash_list.c: Likewise.
39994         * tests/test-localename.c: Likewise.
39995         * tests/test-lseek.c: Likewise.
39996         * tests/test-lstat.c: Likewise.
39997         * tests/test-mbmemcasecmp.c: Likewise.
39998         * tests/test-mbmemcasecoll.c: Likewise.
39999         * tests/test-mbrtowc.c: Likewise.
40000         * tests/test-mbscasecmp.c: Likewise.
40001         * tests/test-mbscasestr1.c: Likewise.
40002         * tests/test-mbscasestr2.c: Likewise.
40003         * tests/test-mbscasestr3.c: Likewise.
40004         * tests/test-mbscasestr4.c: Likewise.
40005         * tests/test-mbschr.c: Likewise.
40006         * tests/test-mbscspn.c: Likewise.
40007         * tests/test-mbsinit.c: Likewise.
40008         * tests/test-mbsncasecmp.c: Likewise.
40009         * tests/test-mbsnrtowcs.c: Likewise.
40010         * tests/test-mbspbrk.c: Likewise.
40011         * tests/test-mbspcasecmp.c: Likewise.
40012         * tests/test-mbsrchr.c: Likewise.
40013         * tests/test-mbsrtowcs.c: Likewise.
40014         * tests/test-mbsspn.c: Likewise.
40015         * tests/test-mbsstr1.c: Likewise.
40016         * tests/test-mbsstr2.c: Likewise.
40017         * tests/test-mbsstr3.c: Likewise.
40018         * tests/test-memchr.c: Likewise.
40019         * tests/test-memchr2.c: Likewise.
40020         * tests/test-memcmp.c: Likewise.
40021         * tests/test-memmem.c: Likewise.
40022         * tests/test-memrchr.c: Likewise.
40023         * tests/test-mkdir.c: Likewise.
40024         * tests/test-mkdirat.c: Likewise.
40025         * tests/test-mkfifo.c: Likewise.
40026         * tests/test-mkfifoat.c: Likewise.
40027         * tests/test-mknod.c: Likewise.
40028         * tests/test-nanosleep.c: Likewise.
40029         * tests/test-nl_langinfo.c: Likewise.
40030         * tests/test-obstack-printf.c: Likewise.
40031         * tests/test-open.c: Likewise.
40032         * tests/test-openat.c: Likewise.
40033         * tests/test-pipe-filter-gi1.c: Likewise.
40034         * tests/test-pipe-filter-gi2-main.c: Likewise.
40035         * tests/test-pipe-filter-ii1.c: Likewise.
40036         * tests/test-pipe-filter-ii2-main.c: Likewise.
40037         * tests/test-pipe2.c: Likewise.
40038         * tests/test-popen.h: Likewise.
40039         * tests/test-posixtm.c: Likewise.
40040         * tests/test-pread.c: Likewise.
40041         * tests/test-printf-frexp.c: Likewise.
40042         * tests/test-printf-frexpl.c: Likewise.
40043         * tests/test-printf-posix.c: Likewise.
40044         * tests/test-priv-set.c: Likewise.
40045         * tests/test-quotearg.c: Likewise.
40046         * tests/test-random_r.c: Likewise.
40047         * tests/test-rawmemchr.c: Likewise.
40048         * tests/test-rbtree_list.c: Likewise.
40049         * tests/test-rbtree_oset.c: Likewise.
40050         * tests/test-rbtreehash_list.c: Likewise.
40051         * tests/test-readlink.c: Likewise.
40052         * tests/test-remove.c: Likewise.
40053         * tests/test-rename.c: Likewise.
40054         * tests/test-renameat.c: Likewise.
40055         * tests/test-rmdir.c: Likewise.
40056         * tests/test-round1.c: Likewise.
40057         * tests/test-roundf1.c: Likewise.
40058         * tests/test-roundl.c: Likewise.
40059         * tests/test-safe-alloc.c: Likewise.
40060         * tests/test-sameacls.c: Likewise.
40061         * tests/test-set-mode-acl.c: Likewise.
40062         * tests/test-setenv.c: Likewise.
40063         * tests/test-sigaction.c: Likewise.
40064         * tests/test-signbit.c: Likewise.
40065         * tests/test-sleep.c: Likewise.
40066         * tests/test-snprintf-posix.c: Likewise.
40067         * tests/test-snprintf.c: Likewise.
40068         * tests/test-sprintf-posix.c: Likewise.
40069         * tests/test-stat-time.c: Likewise.
40070         * tests/test-stat.c: Likewise.
40071         * tests/test-strcasestr.c: Likewise.
40072         * tests/test-strchrnul.c: Likewise.
40073         * tests/test-strerror.c: Likewise.
40074         * tests/test-striconv.c: Likewise.
40075         * tests/test-striconveh.c: Likewise.
40076         * tests/test-striconveha.c: Likewise.
40077         * tests/test-strsignal.c: Likewise.
40078         * tests/test-strstr.c: Likewise.
40079         * tests/test-strtod.c: Likewise.
40080         * tests/test-strverscmp.c: Likewise.
40081         * tests/test-symlink.c: Likewise.
40082         * tests/test-symlinkat.c: Likewise.
40083         * tests/test-trunc1.c: Likewise.
40084         * tests/test-trunc2.c: Likewise.
40085         * tests/test-truncf1.c: Likewise.
40086         * tests/test-truncf2.c: Likewise.
40087         * tests/test-truncl.c: Likewise.
40088         * tests/test-uname.c: Likewise.
40089         * tests/test-unlink.c: Likewise.
40090         * tests/test-unlinkat.c: Likewise.
40091         * tests/test-unsetenv.c: Likewise.
40092         * tests/test-usleep.c: Likewise.
40093         * tests/test-utimens.c: Likewise.
40094         * tests/test-utimensat.c: Likewise.
40095         * tests/test-vasnprintf-posix.c: Likewise.
40096         * tests/test-vasnprintf-posix2.c: Likewise.
40097         * tests/test-vasnprintf.c: Likewise.
40098         * tests/test-vasprintf-posix.c: Likewise.
40099         * tests/test-vasprintf.c: Likewise.
40100         * tests/test-vdprintf-posix.c: Likewise.
40101         * tests/test-vfprintf-posix.c: Likewise.
40102         * tests/test-vprintf-posix.c: Likewise.
40103         * tests/test-vsnprintf-posix.c: Likewise.
40104         * tests/test-vsnprintf.c: Likewise.
40105         * tests/test-vsprintf-posix.c: Likewise.
40106         * tests/test-wcrtomb.c: Likewise.
40107         * tests/test-wcsnrtombs.c: Likewise.
40108         * tests/test-wcsrtombs.c: Likewise.
40109         * tests/test-wctype.c: Likewise.
40110         * tests/test-wcwidth.c: Likewise.
40111         * tests/test-xfprintf-posix.c: Likewise.
40112         * tests/test-xmemdup0.c: Likewise.
40113         * tests/test-xprintf-posix.c: Likewise.
40114         * tests/test-xvasprintf.c: Likewise.
40115         * tests/unicase/test-locale-language.c: Likewise.
40116         * tests/unicase/test-mapping-part1.h: Likewise.
40117         * tests/unicase/test-predicate-part1.h: Likewise.
40118         * tests/unicase/test-u8-casecmp.c: Likewise.
40119         * tests/unicase/test-u8-casecoll.c: Likewise.
40120         * tests/unicase/test-u8-casefold.c: Likewise.
40121         * tests/unicase/test-u8-is-cased.c: Likewise.
40122         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40123         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40124         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40125         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40126         * tests/unicase/test-u8-tolower.c: Likewise.
40127         * tests/unicase/test-u8-totitle.c: Likewise.
40128         * tests/unicase/test-u8-toupper.c: Likewise.
40129         * tests/unicase/test-u16-casecmp.c: Likewise.
40130         * tests/unicase/test-u16-casecoll.c: Likewise.
40131         * tests/unicase/test-u16-casefold.c: Likewise.
40132         * tests/unicase/test-u16-is-cased.c: Likewise.
40133         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40134         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40135         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40136         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40137         * tests/unicase/test-u16-tolower.c: Likewise.
40138         * tests/unicase/test-u16-totitle.c: Likewise.
40139         * tests/unicase/test-u16-toupper.c: Likewise.
40140         * tests/unicase/test-u32-casecmp.c: Likewise.
40141         * tests/unicase/test-u32-casecoll.c: Likewise.
40142         * tests/unicase/test-u32-casefold.c: Likewise.
40143         * tests/unicase/test-u32-is-cased.c: Likewise.
40144         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40145         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40146         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40147         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40148         * tests/unicase/test-u32-tolower.c: Likewise.
40149         * tests/unicase/test-u32-totitle.c: Likewise.
40150         * tests/unicase/test-u32-toupper.c: Likewise.
40151         * tests/unicase/test-ulc-casecmp.c: Likewise.
40152         * tests/unicase/test-ulc-casecoll.c: Likewise.
40153         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40154         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40155         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40156         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40157         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40158         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40159         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40160         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40161         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40162         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40163         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40164         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40165         * tests/unictype/test-bidi_byname.c: Likewise.
40166         * tests/unictype/test-bidi_name.c: Likewise.
40167         * tests/unictype/test-bidi_of.c: Likewise.
40168         * tests/unictype/test-bidi_test.c: Likewise.
40169         * tests/unictype/test-block_list.c: Likewise.
40170         * tests/unictype/test-block_of.c: Likewise.
40171         * tests/unictype/test-block_test.c: Likewise.
40172         * tests/unictype/test-categ_and.c: Likewise.
40173         * tests/unictype/test-categ_and_not.c: Likewise.
40174         * tests/unictype/test-categ_byname.c: Likewise.
40175         * tests/unictype/test-categ_name.c: Likewise.
40176         * tests/unictype/test-categ_none.c: Likewise.
40177         * tests/unictype/test-categ_of.c: Likewise.
40178         * tests/unictype/test-categ_or.c: Likewise.
40179         * tests/unictype/test-categ_test_withtable.c: Likewise.
40180         * tests/unictype/test-combining.c: Likewise.
40181         * tests/unictype/test-decdigit.c: Likewise.
40182         * tests/unictype/test-digit.c: Likewise.
40183         * tests/unictype/test-mirror.c: Likewise.
40184         * tests/unictype/test-numeric.c: Likewise.
40185         * tests/unictype/test-pr_byname.c: Likewise.
40186         * tests/unictype/test-pr_test.c: Likewise.
40187         * tests/unictype/test-predicate-part1.h: Likewise.
40188         * tests/unictype/test-scripts.c: Likewise.
40189         * tests/unictype/test-sy_c_ident.c: Likewise.
40190         * tests/unictype/test-sy_java_ident.c: Likewise.
40191         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40192         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40193         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40194         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40195         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40196         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40197         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40198         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40199         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40200         * tests/uninorm/test-compat-decomposition.c: Likewise.
40201         * tests/uninorm/test-composition.c: Likewise.
40202         * tests/uninorm/test-decomposing-form.c: Likewise.
40203         * tests/uninorm/test-decomposition.c: Likewise.
40204         * tests/uninorm/test-u8-nfc.c: Likewise.
40205         * tests/uninorm/test-u8-nfd.c: Likewise.
40206         * tests/uninorm/test-u8-nfkc.c: Likewise.
40207         * tests/uninorm/test-u8-nfkd.c: Likewise.
40208         * tests/uninorm/test-u8-normcmp.c: Likewise.
40209         * tests/uninorm/test-u8-normcoll.c: Likewise.
40210         * tests/uninorm/test-u16-nfc.c: Likewise.
40211         * tests/uninorm/test-u16-nfd.c: Likewise.
40212         * tests/uninorm/test-u16-nfkc.c: Likewise.
40213         * tests/uninorm/test-u16-nfkd.c: Likewise.
40214         * tests/uninorm/test-u16-normcmp.c: Likewise.
40215         * tests/uninorm/test-u16-normcoll.c: Likewise.
40216         * tests/uninorm/test-u32-nfc.c: Likewise.
40217         * tests/uninorm/test-u32-nfd.c: Likewise.
40218         * tests/uninorm/test-u32-nfkc.c: Likewise.
40219         * tests/uninorm/test-u32-nfkd.c: Likewise.
40220         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40221         * tests/uninorm/test-u32-normcmp.c: Likewise.
40222         * tests/uninorm/test-u32-normcoll.c: Likewise.
40223         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40224         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40225         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40226         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40227         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40228         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40229         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40230         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40231         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40232         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40233         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40234         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40235         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40236         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40237         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40238         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40239         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40240         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40241         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40242         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40243         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40244         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40245         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40246         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40247         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40248         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40249         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40250         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40251         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40252         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40253         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40254         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40255         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40256         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40257         * tests/uniwidth/test-u8-width.c: Likewise.
40258         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40259         * tests/uniwidth/test-u16-width.c: Likewise.
40260         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40261         * tests/uniwidth/test-u32-width.c: Likewise.
40262         * tests/uniwidth/test-uc_width.c: Likewise.
40263         * tests/uniwidth/test-uc_width2.c: Likewise.
40264         * modules/acl-tests (Files): Add tests/macros.h.
40265         * modules/areadlink-tests (Files): Likewise.
40266         * modules/areadlink-with-size-tests (Files): Likewise.
40267         * modules/areadlinkat-tests (Files): Likewise.
40268         * modules/areadlinkat-with-size-tests (Files): Likewise.
40269         * modules/argmatch-tests (Files): Likewise.
40270         * modules/argv-iter-tests (Files): Likewise.
40271         * modules/array-list-tests (Files): Likewise.
40272         * modules/array-mergesort-tests (Files): Likewise.
40273         * modules/array-oset-tests (Files): Likewise.
40274         * modules/avltree-list-tests (Files): Likewise.
40275         * modules/avltree-oset-tests (Files): Likewise.
40276         * modules/avltreehash-list-tests (Files): Likewise.
40277         * modules/base64-tests (Files): Likewise.
40278         * modules/binary-io-tests (Files): Likewise.
40279         * modules/bitrotate-tests (Files): Likewise.
40280         * modules/btowc-tests (Files): Likewise.
40281         * modules/byteswap-tests (Files): Likewise.
40282         * modules/c-ctype-tests (Files): Likewise.
40283         * modules/c-stack-tests (Files): Likewise.
40284         * modules/c-strcase-tests (Files): Likewise.
40285         * modules/c-strcasestr-tests (Files): Likewise.
40286         * modules/c-strstr-tests (Files): Likewise.
40287         * modules/canonicalize-lgpl-tests (Files): Likewise.
40288         * modules/canonicalize-tests (Files): Likewise.
40289         * modules/carray-list-tests (Files): Likewise.
40290         * modules/ceilf-tests (Files): Likewise.
40291         * modules/ceill-tests (Files): Likewise.
40292         * modules/chown-tests (Files): Likewise.
40293         * modules/cloexec-tests (Files): Likewise.
40294         * modules/copy-file-tests (Files): Likewise.
40295         * modules/count-one-bits-tests (Files): Likewise.
40296         * modules/dprintf-posix-tests (Files): Likewise.
40297         * modules/dup2-tests (Files): Likewise.
40298         * modules/dup3-tests (Files): Likewise.
40299         * modules/duplocale-tests (Files): Likewise.
40300         * modules/fbufmode-tests (Files): Likewise.
40301         * modules/fchdir-tests (Files): Likewise.
40302         * modules/fcntl-safer-tests (Files): Likewise.
40303         * modules/fcntl-tests (Files): Likewise.
40304         * modules/fdopendir-tests (Files): Likewise.
40305         * modules/fdutimensat-tests (Files): Likewise.
40306         * modules/fflush-tests (Files): Likewise.
40307         * modules/filevercmp-tests (Files): Likewise.
40308         * modules/flock-tests (Files): Likewise.
40309         * modules/floorf-tests (Files): Likewise.
40310         * modules/floorl-tests (Files): Likewise.
40311         * modules/fnmatch-tests (Files): Likewise.
40312         * modules/fopen-safer-tests (Files): Likewise.
40313         * modules/fopen-tests (Files): Likewise.
40314         * modules/fpending-tests (Files): Likewise.
40315         * modules/fprintf-posix-tests (Files): Likewise.
40316         * modules/fpurge-tests (Files): Likewise.
40317         * modules/freadable-tests (Files): Likewise.
40318         * modules/freadahead-tests (Files): Likewise.
40319         * modules/freading-tests (Files): Likewise.
40320         * modules/freadptr-tests (Files): Likewise.
40321         * modules/freadseek-tests (Files): Likewise.
40322         * modules/freopen-tests (Files): Likewise.
40323         * modules/frexp-nolibm-tests (Files): Likewise.
40324         * modules/frexp-tests (Files): Likewise.
40325         * modules/frexpl-nolibm-tests (Files): Likewise.
40326         * modules/frexpl-tests (Files): Likewise.
40327         * modules/fseek-tests (Files): Likewise.
40328         * modules/fseeko-tests (Files): Likewise.
40329         * modules/fstrcmp-tests (Files): Likewise.
40330         * modules/fsync-tests (Files): Likewise.
40331         * modules/ftell-tests (Files): Likewise.
40332         * modules/ftello-tests (Files): Likewise.
40333         * modules/func-tests (Files): Likewise.
40334         * modules/futimens-tests (Files): Likewise.
40335         * modules/fwritable-tests (Files): Likewise.
40336         * modules/fwriting-tests (Files): Likewise.
40337         * modules/getcwd-tests (Files): Likewise.
40338         * modules/getdate-tests (Files): Likewise.
40339         * modules/getdelim-tests (Files): Likewise.
40340         * modules/getdtablesize-tests (Files): Likewise.
40341         * modules/getgroups-tests (Files): Likewise.
40342         * modules/getline-tests (Files): Likewise.
40343         * modules/getndelim2-tests (Files): Likewise.
40344         * modules/glob-tests (Files): Likewise.
40345         * modules/hash-tests (Files): Likewise.
40346         * modules/i-ring-tests (Files): Likewise.
40347         * modules/iconv-tests (Files): Likewise.
40348         * modules/iconv_open-utf-tests (Files): Likewise.
40349         * modules/idpriv-drop-tests (Files): Likewise.
40350         * modules/idpriv-droptemp-tests (Files): Likewise.
40351         * modules/inet_ntop-tests (Files): Likewise.
40352         * modules/inet_pton-tests (Files): Likewise.
40353         * modules/isblank-tests (Files): Likewise.
40354         * modules/isfinite-tests (Files): Likewise.
40355         * modules/isinf-tests (Files): Likewise.
40356         * modules/isnan-tests (Files): Likewise.
40357         * modules/isnand-nolibm-tests (Files): Likewise.
40358         * modules/isnand-tests (Files): Likewise.
40359         * modules/isnanf-nolibm-tests (Files): Likewise.
40360         * modules/isnanf-tests (Files): Likewise.
40361         * modules/isnanl-nolibm-tests (Files): Likewise.
40362         * modules/isnanl-tests (Files): Likewise.
40363         * modules/lchown-tests (Files): Likewise.
40364         * modules/ldexpl-tests (Files): Likewise.
40365         * modules/link-tests (Files): Likewise.
40366         * modules/linkat-tests (Files): Likewise.
40367         * modules/linked-list-tests (Files): Likewise.
40368         * modules/linkedhash-list-tests (Files): Likewise.
40369         * modules/localename-tests (Files): Likewise.
40370         * modules/lseek-tests (Files): Likewise.
40371         * modules/lstat-tests (Files): Likewise.
40372         * modules/mbmemcasecmp-tests (Files): Likewise.
40373         * modules/mbmemcasecoll-tests (Files): Likewise.
40374         * modules/mbrtowc-tests (Files): Likewise.
40375         * modules/mbscasecmp-tests (Files): Likewise.
40376         * modules/mbscasestr-tests (Files): Likewise.
40377         * modules/mbschr-tests (Files): Likewise.
40378         * modules/mbscspn-tests (Files): Likewise.
40379         * modules/mbsinit-tests (Files): Likewise.
40380         * modules/mbsncasecmp-tests (Files): Likewise.
40381         * modules/mbsnrtowcs-tests (Files): Likewise.
40382         * modules/mbspbrk-tests (Files): Likewise.
40383         * modules/mbspcasecmp-tests (Files): Likewise.
40384         * modules/mbsrchr-tests (Files): Likewise.
40385         * modules/mbsrtowcs-tests (Files): Likewise.
40386         * modules/mbsspn-tests (Files): Likewise.
40387         * modules/mbsstr-tests (Files): Likewise.
40388         * modules/memchr-tests (Files): Likewise.
40389         * modules/memchr2-tests (Files): Likewise.
40390         * modules/memcmp-tests (Files): Likewise.
40391         * modules/memmem-tests (Files): Likewise.
40392         * modules/memrchr-tests (Files): Likewise.
40393         * modules/mkdir-tests (Files): Likewise.
40394         * modules/mkfifo-tests (Files): Likewise.
40395         * modules/mkfifoat-tests (Files): Likewise.
40396         * modules/mknod-tests (Files): Likewise.
40397         * modules/nanosleep-tests (Files): Likewise.
40398         * modules/nl_langinfo-tests (Files): Likewise.
40399         * modules/obstack-printf-tests (Files): Likewise.
40400         * modules/open-tests (Files): Likewise.
40401         * modules/openat-tests (Files): Likewise.
40402         * modules/pipe-filter-gi-tests (Files): Likewise.
40403         * modules/pipe-filter-ii-tests (Files): Likewise.
40404         * modules/pipe2-tests (Files): Likewise.
40405         * modules/popen-safer-tests (Files): Likewise.
40406         * modules/popen-tests (Files): Likewise.
40407         * modules/posixtm-tests (Files): Likewise.
40408         * modules/pread-tests (Files): Likewise.
40409         * modules/printf-frexp-tests (Files): Likewise.
40410         * modules/printf-frexpl-tests (Files): Likewise.
40411         * modules/printf-posix-tests (Files): Likewise.
40412         * modules/priv-set-tests (Files): Likewise.
40413         * modules/quotearg-tests (Files): Likewise.
40414         * modules/random_r-tests (Files): Likewise.
40415         * modules/rawmemchr-tests (Files): Likewise.
40416         * modules/rbtree-list-tests (Files): Likewise.
40417         * modules/rbtree-oset-tests (Files): Likewise.
40418         * modules/rbtreehash-list-tests (Files): Likewise.
40419         * modules/readlink-tests (Files): Likewise.
40420         * modules/remove-tests (Files): Likewise.
40421         * modules/rename-tests (Files): Likewise.
40422         * modules/renameat-tests (Files): Likewise.
40423         * modules/rmdir-tests (Files): Likewise.
40424         * modules/round-tests (Files): Likewise.
40425         * modules/roundf-tests (Files): Likewise.
40426         * modules/roundl-tests (Files): Likewise.
40427         * modules/safe-alloc-tests (Files): Likewise.
40428         * modules/setenv-tests (Files): Likewise.
40429         * modules/sigaction-tests (Files): Likewise.
40430         * modules/signbit-tests (Files): Likewise.
40431         * modules/sleep-tests (Files): Likewise.
40432         * modules/snprintf-posix-tests (Files): Likewise.
40433         * modules/snprintf-tests (Files): Likewise.
40434         * modules/sprintf-posix-tests (Files): Likewise.
40435         * modules/stat-tests (Files): Likewise.
40436         * modules/stat-time-tests (Files): Likewise.
40437         * modules/strcasestr-tests (Files): Likewise.
40438         * modules/strchrnul-tests (Files): Likewise.
40439         * modules/strerror-tests (Files): Likewise.
40440         * modules/striconv-tests (Files): Likewise.
40441         * modules/striconveh-tests (Files): Likewise.
40442         * modules/striconveha-tests (Files): Likewise.
40443         * modules/strsignal-tests (Files): Likewise.
40444         * modules/strstr-tests (Files): Likewise.
40445         * modules/strtod-tests (Files): Likewise.
40446         * modules/strverscmp-tests (Files): Likewise.
40447         * modules/symlink-tests (Files): Likewise.
40448         * modules/symlinkat-tests (Files): Likewise.
40449         * modules/trunc-tests (Files): Likewise.
40450         * modules/truncf-tests (Files): Likewise.
40451         * modules/truncl-tests (Files): Likewise.
40452         * modules/uname-tests (Files): Likewise.
40453         * modules/unicase/cased-tests (Files): Likewise.
40454         * modules/unicase/ignorable-tests (Files): Likewise.
40455         * modules/unicase/locale-language-tests (Files): Likewise.
40456         * modules/unicase/tolower-tests (Files): Likewise.
40457         * modules/unicase/totitle-tests (Files): Likewise.
40458         * modules/unicase/toupper-tests (Files): Likewise.
40459         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40460         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40461         * modules/unicase/u8-casefold-tests (Files): Likewise.
40462         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40463         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40464         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40465         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40466         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40467         * modules/unicase/u8-tolower-tests (Files): Likewise.
40468         * modules/unicase/u8-totitle-tests (Files): Likewise.
40469         * modules/unicase/u8-toupper-tests (Files): Likewise.
40470         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40471         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40472         * modules/unicase/u16-casefold-tests (Files): Likewise.
40473         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40474         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40475         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40476         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40477         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40478         * modules/unicase/u16-tolower-tests (Files): Likewise.
40479         * modules/unicase/u16-totitle-tests (Files): Likewise.
40480         * modules/unicase/u16-toupper-tests (Files): Likewise.
40481         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40482         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40483         * modules/unicase/u32-casefold-tests (Files): Likewise.
40484         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40485         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40486         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40487         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40488         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40489         * modules/unicase/u32-tolower-tests (Files): Likewise.
40490         * modules/unicase/u32-totitle-tests (Files): Likewise.
40491         * modules/unicase/u32-toupper-tests (Files): Likewise.
40492         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40493         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40494         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40495         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40496         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40497         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40498         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40499         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40500         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40501         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40502         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40503         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40504         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40505         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40506         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40507         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40508         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40509         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40510         * modules/unictype/block-list-tests (Files): Likewise.
40511         * modules/unictype/block-of-tests (Files): Likewise.
40512         * modules/unictype/block-test-tests (Files): Likewise.
40513         * modules/unictype/category-C-tests (Files): Likewise.
40514         * modules/unictype/category-Cc-tests (Files): Likewise.
40515         * modules/unictype/category-Cf-tests (Files): Likewise.
40516         * modules/unictype/category-Cn-tests (Files): Likewise.
40517         * modules/unictype/category-Co-tests (Files): Likewise.
40518         * modules/unictype/category-Cs-tests (Files): Likewise.
40519         * modules/unictype/category-L-tests (Files): Likewise.
40520         * modules/unictype/category-Ll-tests (Files): Likewise.
40521         * modules/unictype/category-Lm-tests (Files): Likewise.
40522         * modules/unictype/category-Lo-tests (Files): Likewise.
40523         * modules/unictype/category-Lt-tests (Files): Likewise.
40524         * modules/unictype/category-Lu-tests (Files): Likewise.
40525         * modules/unictype/category-M-tests (Files): Likewise.
40526         * modules/unictype/category-Mc-tests (Files): Likewise.
40527         * modules/unictype/category-Me-tests (Files): Likewise.
40528         * modules/unictype/category-Mn-tests (Files): Likewise.
40529         * modules/unictype/category-N-tests (Files): Likewise.
40530         * modules/unictype/category-Nd-tests (Files): Likewise.
40531         * modules/unictype/category-Nl-tests (Files): Likewise.
40532         * modules/unictype/category-No-tests (Files): Likewise.
40533         * modules/unictype/category-P-tests (Files): Likewise.
40534         * modules/unictype/category-Pc-tests (Files): Likewise.
40535         * modules/unictype/category-Pd-tests (Files): Likewise.
40536         * modules/unictype/category-Pe-tests (Files): Likewise.
40537         * modules/unictype/category-Pf-tests (Files): Likewise.
40538         * modules/unictype/category-Pi-tests (Files): Likewise.
40539         * modules/unictype/category-Po-tests (Files): Likewise.
40540         * modules/unictype/category-Ps-tests (Files): Likewise.
40541         * modules/unictype/category-S-tests (Files): Likewise.
40542         * modules/unictype/category-Sc-tests (Files): Likewise.
40543         * modules/unictype/category-Sk-tests (Files): Likewise.
40544         * modules/unictype/category-Sm-tests (Files): Likewise.
40545         * modules/unictype/category-So-tests (Files): Likewise.
40546         * modules/unictype/category-Z-tests (Files): Likewise.
40547         * modules/unictype/category-Zl-tests (Files): Likewise.
40548         * modules/unictype/category-Zp-tests (Files): Likewise.
40549         * modules/unictype/category-Zs-tests (Files): Likewise.
40550         * modules/unictype/category-and-not-tests (Files): Likewise.
40551         * modules/unictype/category-and-tests (Files): Likewise.
40552         * modules/unictype/category-byname-tests (Files): Likewise.
40553         * modules/unictype/category-name-tests (Files): Likewise.
40554         * modules/unictype/category-none-tests (Files): Likewise.
40555         * modules/unictype/category-of-tests (Files): Likewise.
40556         * modules/unictype/category-or-tests (Files): Likewise.
40557         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40558         * modules/unictype/combining-class-tests (Files): Likewise.
40559         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40560         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40561         * modules/unictype/ctype-blank-tests (Files): Likewise.
40562         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40563         * modules/unictype/ctype-digit-tests (Files): Likewise.
40564         * modules/unictype/ctype-graph-tests (Files): Likewise.
40565         * modules/unictype/ctype-lower-tests (Files): Likewise.
40566         * modules/unictype/ctype-print-tests (Files): Likewise.
40567         * modules/unictype/ctype-punct-tests (Files): Likewise.
40568         * modules/unictype/ctype-space-tests (Files): Likewise.
40569         * modules/unictype/ctype-upper-tests (Files): Likewise.
40570         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40571         * modules/unictype/decimal-digit-tests (Files): Likewise.
40572         * modules/unictype/digit-tests (Files): Likewise.
40573         * modules/unictype/mirror-tests (Files): Likewise.
40574         * modules/unictype/numeric-tests (Files): Likewise.
40575         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40576         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40577         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40578         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40579         Likewise.
40580         * modules/unictype/property-bidi-block-separator-tests (Files):
40581         Likewise.
40582         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40583         Likewise.
40584         * modules/unictype/property-bidi-common-separator-tests (Files):
40585         Likewise.
40586         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40587         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40588         Likewise.
40589         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40590         Likewise.
40591         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40592         Likewise.
40593         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40594         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40595         Likewise.
40596         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40597         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40598         Likewise.
40599         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40600         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40601         * modules/unictype/property-bidi-segment-separator-tests (Files):
40602         Likewise.
40603         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40604         * modules/unictype/property-byname-tests (Files): Likewise.
40605         * modules/unictype/property-combining-tests (Files): Likewise.
40606         * modules/unictype/property-composite-tests (Files): Likewise.
40607         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40608         * modules/unictype/property-dash-tests (Files): Likewise.
40609         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40610         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40611         Likewise.
40612         * modules/unictype/property-deprecated-tests (Files): Likewise.
40613         * modules/unictype/property-diacritic-tests (Files): Likewise.
40614         * modules/unictype/property-extender-tests (Files): Likewise.
40615         * modules/unictype/property-format-control-tests (Files): Likewise.
40616         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40617         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40618         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40619         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40620         * modules/unictype/property-hyphen-tests (Files): Likewise.
40621         * modules/unictype/property-id-continue-tests (Files): Likewise.
40622         * modules/unictype/property-id-start-tests (Files): Likewise.
40623         * modules/unictype/property-ideographic-tests (Files): Likewise.
40624         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40625         * modules/unictype/property-ids-trinary-operator-tests (Files):
40626         Likewise.
40627         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40628         * modules/unictype/property-iso-control-tests (Files): Likewise.
40629         * modules/unictype/property-join-control-tests (Files): Likewise.
40630         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40631         * modules/unictype/property-line-separator-tests (Files): Likewise.
40632         * modules/unictype/property-logical-order-exception-tests (Files):
40633         Likewise.
40634         * modules/unictype/property-lowercase-tests (Files): Likewise.
40635         * modules/unictype/property-math-tests (Files): Likewise.
40636         * modules/unictype/property-non-break-tests (Files): Likewise.
40637         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40638         * modules/unictype/property-numeric-tests (Files): Likewise.
40639         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40640         * modules/unictype/property-other-default-ignorable-code-point-tests
40641         (Files): Likewise.
40642         * modules/unictype/property-other-grapheme-extend-tests (Files):
40643         Likewise.
40644         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40645         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40646         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40647         * modules/unictype/property-other-math-tests (Files): Likewise.
40648         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40649         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40650         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40651         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40652         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40653         * modules/unictype/property-private-use-tests (Files): Likewise.
40654         * modules/unictype/property-punctuation-tests (Files): Likewise.
40655         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40656         * modules/unictype/property-radical-tests (Files): Likewise.
40657         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40658         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40659         * modules/unictype/property-space-tests (Files): Likewise.
40660         * modules/unictype/property-terminal-punctuation-tests (Files):
40661         Likewise.
40662         * modules/unictype/property-test-tests (Files): Likewise.
40663         * modules/unictype/property-titlecase-tests (Files): Likewise.
40664         * modules/unictype/property-unassigned-code-value-tests (Files):
40665         Likewise.
40666         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40667         * modules/unictype/property-uppercase-tests (Files): Likewise.
40668         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40669         * modules/unictype/property-white-space-tests (Files): Likewise.
40670         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40671         * modules/unictype/property-xid-start-tests (Files): Likewise.
40672         * modules/unictype/property-zero-width-tests (Files): Likewise.
40673         * modules/unictype/scripts-tests (Files): Likewise.
40674         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40675         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40676         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40677         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40678         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40679         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40680         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40681         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40682         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40683         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40684         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40685         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40686         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40687         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40688         * modules/uninorm/composition-tests (Files): Likewise.
40689         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40690         * modules/uninorm/decomposition-tests (Files): Likewise.
40691         * modules/uninorm/filter-tests (Files): Likewise.
40692         * modules/uninorm/nfc-tests (Files): Likewise.
40693         * modules/uninorm/nfd-tests (Files): Likewise.
40694         * modules/uninorm/nfkc-tests (Files): Likewise.
40695         * modules/uninorm/nfkd-tests (Files): Likewise.
40696         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40697         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40698         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40699         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40700         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40701         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40702         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40703         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40704         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40705         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40706         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40707         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40708         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40709         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40710         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40711         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40712         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40713         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40714         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40715         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40716         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40717         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40718         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40719         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40720         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40721         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40722         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40723         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40724         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40725         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40726         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40727         * modules/uniwidth/u8-width-tests (Files): Likewise.
40728         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40729         * modules/uniwidth/u16-width-tests (Files): Likewise.
40730         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40731         * modules/uniwidth/u32-width-tests (Files): Likewise.
40732         * modules/uniwidth/width-tests (Files): Likewise.
40733         * modules/unlink-tests (Files): Likewise.
40734         * modules/unsetenv-tests (Files): Likewise.
40735         * modules/usleep-tests (Files): Likewise.
40736         * modules/utimens-tests (Files): Likewise.
40737         * modules/utimensat-tests (Files): Likewise.
40738         * modules/vasnprintf-posix-tests (Files): Likewise.
40739         * modules/vasnprintf-tests (Files): Likewise.
40740         * modules/vasprintf-posix-tests (Files): Likewise.
40741         * modules/vasprintf-tests (Files): Likewise.
40742         * modules/vdprintf-posix-tests (Files): Likewise.
40743         * modules/vfprintf-posix-tests (Files): Likewise.
40744         * modules/vprintf-posix-tests (Files): Likewise.
40745         * modules/vsnprintf-posix-tests (Files): Likewise.
40746         * modules/vsnprintf-tests (Files): Likewise.
40747         * modules/vsprintf-posix-tests (Files): Likewise.
40748         * modules/wcrtomb-tests (Files): Likewise.
40749         * modules/wcsnrtombs-tests (Files): Likewise.
40750         * modules/wcsrtombs-tests (Files): Likewise.
40751         * modules/wctype-tests (Files): Likewise.
40752         * modules/wcwidth-tests (Files): Likewise.
40753         * modules/xmemdup0-tests (Files): Likewise.
40754         * modules/xprintf-posix-tests (Files): Likewise.
40755         * modules/xvasprintf-tests (Files): Likewise.
40756
40757 2009-12-24  Eric Blake  <ebb9@byu.net>
40758
40759         test-nanosleep: fix typo
40760         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40761         patch.
40762         Reported by Bruno Haible.
40763
40764 2009-12-24  Bruno Haible  <bruno@clisp.org>
40765
40766         Reduce namespace pollution on glibc systems.
40767         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40768         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40769         systems.
40770         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40771         <getopt.h> on glibc systems.
40772         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40773         systems.
40774         * lib/fcntl.c: Include <unistd.h> here instead.
40775
40776 2009-12-24  Bruno Haible  <bruno@clisp.org>
40777
40778         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40779
40780 2009-12-24  Eric Blake  <ebb9@byu.net>
40781
40782         tests: add signature checks
40783         * tests/signature.h (SIGNATURE_CHECK): New file.
40784         * modules/atexit-tests (Files): Use it.
40785         * modules/btowc-tests (Files): Likewise.
40786         * modules/canonicalize-lgpl-tests (Files): Likewise.
40787         * modules/ceilf-tests (Files): Likewise.
40788         * modules/ceill-tests (Files): Likewise.
40789         * modules/chown-tests (Files): Likewise.
40790         * modules/dprintf-posix-tests (Files): Likewise.
40791         * modules/dup2-tests (Files): Likewise.
40792         * modules/dup3-tests (Files): Likewise.
40793         * modules/duplocale-tests (Files): Likewise.
40794         * modules/fchdir-tests (Files): Likewise.
40795         * modules/fcntl-tests (Files): Likewise.
40796         * modules/fdopendir-tests (Files): Likewise.
40797         * modules/fflush-tests (Files): Likewise.
40798         * modules/flock-tests (Files): Likewise.
40799         * modules/floorf-tests (Files): Likewise.
40800         * modules/floorl-tests (Files): Likewise.
40801         * modules/fnmatch-tests (Files): Likewise.
40802         * modules/fopen-tests (Files): Likewise.
40803         * modules/fprintf-posix-tests (Files): Likewise.
40804         * modules/freopen-tests (Files): Likewise.
40805         * modules/frexp-nolibm-tests (Files): Likewise.
40806         * modules/frexp-tests (Files): Likewise.
40807         * modules/frexpl-nolibm-tests (Files): Likewise.
40808         * modules/frexpl-tests (Files): Likewise.
40809         * modules/fseek-tests (Files): Likewise.
40810         * modules/fseeko-tests (Files): Likewise.
40811         * modules/fsync-tests (Files): Likewise.
40812         * modules/ftell-tests (Files): Likewise.
40813         * modules/ftello-tests (Files): Likewise.
40814         * modules/futimens-tests (Files): Likewise.
40815         * modules/getaddrinfo-tests (Files): Likewise.
40816         * modules/getcwd-tests (Files): Likewise.
40817         * modules/getdelim-tests (Files): Likewise.
40818         * modules/getdtablesize-tests (Files): Likewise.
40819         * modules/getgroups-tests (Files): Likewise.
40820         * modules/gethostname-tests (Files): Likewise.
40821         * modules/getline-tests (Files): Likewise.
40822         * modules/getopt-posix-tests (Files): Likewise.
40823         * modules/gettimeofday-tests (Files): Likewise.
40824         * modules/glob-tests (Files): Likewise.
40825         * modules/iconv-tests (Files): Likewise.
40826         * modules/inet_ntop-tests (Files): Likewise.
40827         * modules/inet_pton-tests (Files): Likewise.
40828         * modules/isblank-tests (Files): Likewise.
40829         * modules/lchown-tests (Files): Likewise.
40830         * modules/ldexpl-tests (Files): Likewise.
40831         * modules/link-tests (Files): Likewise.
40832         * modules/linkat-tests (Files): Likewise.
40833         * modules/lseek-tests (Files): Likewise.
40834         * modules/lstat-tests (Files): Likewise.
40835         * modules/mbrtowc-tests (Files): Likewise.
40836         * modules/mbsinit-tests (Files): Likewise.
40837         * modules/mbsnrtowcs-tests (Files): Likewise.
40838         * modules/mbsrtowcs-tests (Files): Likewise.
40839         * modules/memchr-tests (Files): Likewise.
40840         * modules/memcmp-tests (Files): Likewise.
40841         * modules/memmem-tests (Files): Likewise.
40842         * modules/memrchr-tests (Files): Likewise.
40843         * modules/mkdir-tests (Files): Likewise.
40844         * modules/mkfifo-tests (Files): Likewise.
40845         * modules/mkfifoat-tests (Files): Likewise.
40846         * modules/mknod-tests (Files): Likewise.
40847         * modules/nanosleep-tests (Files): Likewise.
40848         * modules/nl_langinfo-tests (Files): Likewise.
40849         * modules/obstack-printf-tests (Files): Likewise.
40850         * modules/open-tests (Files): Likewise.
40851         * modules/openat-tests (Files): Likewise.
40852         * modules/perror-tests (Files): Likewise.
40853         * modules/pipe2-tests (Files): Likewise.
40854         * modules/poll-tests (Files): Likewise.
40855         * modules/popen-tests (Files): Likewise.
40856         * modules/posix_spawn-tests (Files): Likewise.
40857         * modules/posix_spawnp-tests (Files): Likewise.
40858         * modules/pread-tests (Files): Likewise.
40859         * modules/printf-posix-tests (Files): Likewise.
40860         * modules/pty-tests (Files): Likewise.
40861         * modules/random_r-tests (Files): Likewise.
40862         * modules/rawmemchr-tests (Files): Likewise.
40863         * modules/readlink-tests (Files): Likewise.
40864         * modules/remove-tests (Files): Likewise.
40865         * modules/rename-tests (Files): Likewise.
40866         * modules/renameat-tests (Files): Likewise.
40867         * modules/rmdir-tests (Files): Likewise.
40868         * modules/round-tests (Files): Likewise.
40869         * modules/roundf-tests (Files): Likewise.
40870         * modules/roundl-tests (Files): Likewise.
40871         * modules/select-tests (Files): Likewise.
40872         * modules/setenv-tests (Files): Likewise.
40873         * modules/sigaction-tests (Files): Likewise.
40874         * modules/sleep-tests (Files): Likewise.
40875         * modules/snprintf-posix-tests (Files): Likewise.
40876         * modules/snprintf-tests (Files): Likewise.
40877         * modules/sprintf-posix-tests (Files): Likewise.
40878         * modules/stat-tests (Files): Likewise.
40879         * modules/strcasestr-tests (Files): Likewise.
40880         * modules/strchrnul-tests (Files): Likewise.
40881         * modules/strerror-tests (Files): Likewise.
40882         * modules/strsignal-tests (Files): Likewise.
40883         * modules/strstr-tests (Files): Likewise.
40884         * modules/strtod-tests (Files): Likewise.
40885         * modules/strverscmp-tests (Files): Likewise.
40886         * modules/symlink-tests (Files): Likewise.
40887         * modules/symlinkat-tests (Files): Likewise.
40888         * modules/times-tests (Files): Likewise.
40889         * modules/trunc-tests (Files): Likewise.
40890         * modules/truncf-tests (Files): Likewise.
40891         * modules/truncl-tests (Files): Likewise.
40892         * modules/tsearch-tests (Files): Likewise.
40893         * modules/uname-tests (Files): Likewise.
40894         * modules/unlink-tests (Files): Likewise.
40895         * modules/unsetenv-tests (Files): Likewise.
40896         * modules/usleep-tests (Files): Likewise.
40897         * modules/utimensat-tests (Files): Likewise.
40898         * modules/vasprintf-tests (Files): Likewise.
40899         * modules/vdprintf-posix-tests (Files): Likewise.
40900         * modules/vfprintf-posix-tests (Files): Likewise.
40901         * modules/vprintf-posix-tests (Files): Likewise.
40902         * modules/vsnprintf-posix-tests (Files): Likewise.
40903         * modules/vsnprintf-tests (Files): Likewise.
40904         * modules/vsprintf-posix-tests (Files): Likewise.
40905         * modules/wcrtomb-tests (Files): Likewise.
40906         * modules/wcsnrtombs-tests (Files): Likewise.
40907         * modules/wcsrtombs-tests (Files): Likewise.
40908         * modules/wcwidth-tests (Files): Likewise.
40909         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40910         * tests/test-isinf.c (isinf): Likewise.
40911         * tests/test-isnan.c (isnan): Likewise.
40912         * tests/test-signbit.c (signbit): Likewise.
40913         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40914         declaration, either as macro or with correct signature.
40915         (select): Ensure function under test is declared with correct
40916         signature in correct header.
40917         * tests/test-atexit.c (atexit): Likewise.
40918         * tests/test-btowc.c (btowc): Likewise.
40919         * tests/test-canonicalize-lgpl.c (realpath)
40920         (canonicalize_file_name): Likewise.
40921         * tests/test-ceilf1.c (ceilf): Likewise.
40922         * tests/test-ceill.c (ceill): Likewise.
40923         * tests/test-chown.c (chown): Likewise.
40924         * tests/test-dprintf-posix.c (dprintf): Likewise.
40925         * tests/test-dup2.c (dup2): Likewise.
40926         * tests/test-dup3.c (dup3): Likewise.
40927         * tests/test-duplocale.c (duplocale): Likewise.
40928         * tests/test-fchdir.c (fchdir): Likewise.
40929         * tests/test-fchownat.c (fchownat): Likewise.
40930         * tests/test-fcntl.c (fcntl): Likewise.
40931         * tests/test-fdopendir.c (fdopendir): Likewise.
40932         * tests/test-fflush.c (fflush): Likewise.
40933         * tests/test-flock.c (flock): Likewise.
40934         * tests/test-floorf1.c (floorf): Likewise.
40935         * tests/test-floorl.c (floorl): Likewise.
40936         * tests/test-fnmatch.c (fnmatch): Likewise.
40937         * tests/test-fopen.c (fopen): Likewise.
40938         * tests/test-fprintf-posix.c (fprintf): Likewise.
40939         * tests/test-freopen.c (freopen): Likewise.
40940         * tests/test-frexp.c (frexp): Likewise.
40941         * tests/test-frexpl.c (frexpl): Likewise.
40942         * tests/test-fseek.c (fseek): Likewise.
40943         * tests/test-fseeko.c (fseeko): Likewise.
40944         * tests/test-fstatat.c (fstatat): Likewise.
40945         * tests/test-fsync.c (fsync): Likewise.
40946         * tests/test-ftell.c (ftell): Likewise.
40947         * tests/test-ftello.c (ftello): Likewise.
40948         * tests/test-futimens.c (futimens): Likewise.
40949         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40950         (gai_strerror): Likewise.
40951         * tests/test-getcwd.c (getcwd): Likewise.
40952         * tests/test-getdelim.c (getdelim): Likewise.
40953         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40954         * tests/test-getgroups.c (getgroups): Likewise.
40955         * tests/test-gethostname.c (gethostname): Likewise.
40956         * tests/test-getline.c (getline): Likewise.
40957         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40958         Likewise.
40959         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40960         * tests/test-glob.c (glob, globfree): Likewise.
40961         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40962         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40963         * tests/test-inet_pton.c (inet_pton): Likewise.
40964         * tests/test-isblank.c (isblank): Likewise.
40965         * tests/test-lchown.c (lchown): Likewise.
40966         * tests/test-ldexpl.c (ldexpl): Likewise.
40967         * tests/test-link.c (link): Likewise.
40968         * tests/test-linkat.c (linkat): Likewise.
40969         * tests/test-lseek.c (lseek): Likewise.
40970         * tests/test-lstat.c (lstat): Likewise.
40971         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40972         * tests/test-mbsinit.c (mbsinit): Likewise.
40973         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40974         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40975         * tests/test-memchr.c (memchr): Likewise.
40976         * tests/test-memcmp.c (memcmp): Likewise.
40977         * tests/test-memmem.c (memmem): Likewise.
40978         * tests/test-memrchr.c (memrchr): Likewise.
40979         * tests/test-mkdir.c (mkdir): Likewise.
40980         * tests/test-mkdirat.c (mkdirat): Likewise.
40981         * tests/test-mkfifo.c (mkfifo): Likewise.
40982         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40983         * tests/test-mknod.c (mknod): Likewise.
40984         * tests/test-nanosleep.c (nanosleep): Likewise.
40985         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40986         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40987         Likewise.
40988         * tests/test-open.c (open): Likewise.
40989         * tests/test-openat.c (openat): Likewise.
40990         * tests/test-perror.c (perror): Likewise.
40991         * tests/test-pipe2.c (pipe2): Likewise.
40992         * tests/test-poll.c (poll): Likewise.
40993         * tests/test-popen.c (popen, pclose): Likewise.
40994         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40995         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40996         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40997         (posix_spawn_file_actions_destroy)
40998         (posix_spawn_file_actions_addclose)
40999         (posix_spawn_file_actions_addopen)
41000         (posix_spawn_file_actions_adddup2): Likewise.
41001         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41002         * tests/test-pread.c (pread): Likewise.
41003         * tests/test-printf-posix.c (printf): Likewise.
41004         * tests/test-pty.c (openpty, forkpty): Likewise.
41005         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41006         (random_r): Likewise.
41007         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41008         * tests/test-readlink.c (readlink): Likewise.
41009         * tests/test-remove.c (remove): Likewise.
41010         * tests/test-rename.c (rename): Likewise.
41011         * tests/test-renameat.c (renameat): Likewise.
41012         * tests/test-rmdir.c (rmdir): Likewise.
41013         * tests/test-round1.c (round): Likewise.
41014         * tests/test-roundf1.c (roundf): Likewise.
41015         * tests/test-roundl.c (roundl): Likewise.
41016         * tests/test-setenv.c (setenv): Likewise.
41017         * tests/test-sigaction.c (sigaction): Likewise.
41018         * tests/test-sleep.c (sleep): Likewise.
41019         * tests/test-snprintf.c (snprintf): Likewise.
41020         * tests/test-sprintf-posix.c (sprintf): Likewise.
41021         * tests/test-stat.c (stat): Likewise.
41022         * tests/test-stpncpy.c (stpncpy): Likewise.
41023         * tests/test-strcasestr.c (strcasestr): Likewise.
41024         * tests/test-strchrnul.c (strchrnul): Likewise.
41025         * tests/test-strerror.c (strerror): Likewise.
41026         * tests/test-strsignal.c (strsignal): Likewise.
41027         * tests/test-strstr.c (strstr): Likewise.
41028         * tests/test-strtod.c (strtod): Likewise.
41029         * tests/test-strverscmp.c (strverscmp): Likewise.
41030         * tests/test-symlink.c (symlink): Likewise.
41031         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41032         * tests/test-times.c (times): Likewise.
41033         * tests/test-trunc1.c (trunc): Likewise.
41034         * tests/test-truncf1.c (truncf): Likewise.
41035         * tests/test-truncl.c (truncl): Likewise.
41036         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41037         Likewise.
41038         * tests/test-uname.c (uname): Likewise.
41039         * tests/test-unlink.c (unlink): Likewise.
41040         * tests/test-unlinkat.c (unlinkat): Likewise.
41041         * tests/test-unsetenv.c (unsetenv): Likewise.
41042         * tests/test-usleep.c (usleep): Likewise.
41043         * tests/test-utimensat.c (utimensat): Likewise.
41044         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41045         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41046         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41047         * tests/test-vprintf-posix.c (vprintf): Likewise.
41048         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41049         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41050         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41051         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41052         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41053         * tests/test-wcwidth.c (wcwidth): Likewise.
41054
41055         build: pull in conditional headers during GNULIB_POSIXCHECK
41056         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41057         definitions from any conditionally-included headers.
41058         * lib/stdlib.in.h (includes): Likewise.
41059         * lib/unistd.in.h (includes): Likewise.
41060
41061 2009-12-24  Bruno Haible  <bruno@clisp.org>
41062
41063         * tests/test-argv-iter.c: Include header file being tested immediately
41064         after config.h.
41065         * tests/test-base64.c: Likewise.
41066         * tests/test-flock.c: Likewise.
41067         * tests/test-fsync.c: Likewise.
41068         * tests/test-getdate.c: Likewise.
41069         * tests/test-getndelim2.c: Likewise.
41070         * tests/test-isfinite.c: Likewise.
41071         * tests/test-isinf.c: Likewise.
41072         * tests/test-strerror.c: Likewise.
41073         * tests/test-strsignal.c: Likewise.
41074
41075 2009-12-23  Eric Blake  <ebb9@byu.net>
41076
41077         unistd: work around cygwin bug
41078         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
41079         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
41080         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41081
41082 2009-12-23  Bruno Haible  <bruno@clisp.org>
41083
41084         localename: More tests.
41085         * tests/test-localename.c (SIZEOF): New macro.
41086         (categories): New variable.
41087         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41088         test_locale_name_default): Add test w.r.t. thread locale.
41089         (test_locale_name_thread): New function.
41090         (main): Invoke it.
41091
41092         localename: Make aware of thread locale.
41093         * lib/localename.h (gl_locale_name_thread): New declaration.
41094         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41095         behaviour with respect to thread locale.
41096         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41097         <langinfo.h>, glthread/lock.h.
41098         (SIZE_BITS): New macro.
41099         (string_hash): New function.
41100         (struct hash_node): New type.
41101         (HASH_TABLE_SIZE): New macro.
41102         (struniq_hash_table, struniq_lock): New variables.
41103         (struniq): New function.
41104         (gl_locale_name_thread): New function.
41105         (gl_locale_name): Invoke it.
41106         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41107         * modules/localename (Depends-on): Add lock.
41108         Reported by Mike Gran <spk121@yahoo.com>.
41109
41110 2009-12-23  Eric Blake  <ebb9@byu.net>
41111
41112         va-args: new module
41113         * modules/va-args: New file.
41114         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41115         * MODULES.html.sh (Core language properties): Mention it.
41116
41117         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41118         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41119         named alias for __attribute__((__unused__)).
41120         * lib/chown.c: Update client.
41121         * lib/fchmodat.c: Likewise.
41122         * lib/fts.c: Likewise.
41123         * lib/getdate.y: Likewise.
41124         * lib/getgroups.c: Likewise.
41125         * lib/getopt.c: Likewise.
41126         * lib/getugroups.c: Likewise.
41127         * lib/mkdir.c: Likewise.
41128         * lib/mkfifo.c: Likewise.
41129         * lib/mkfifoat.c: Likewise.
41130         * lib/mknod.c: Likewise.
41131         * lib/mknodat.c: Likewise.
41132         * lib/readlink.c: Likewise.
41133         * lib/se-context.in.h: Likewise.
41134         * lib/se-selinux.in.h: Likewise.
41135         * lib/sockets.c: Likewise.
41136         * lib/symlink.c: Likewise.
41137         * lib/symlinkat.c: Likewise.
41138         * lib/unicodeio.c: Likewise.
41139         * lib/unistr.h: Likewise.
41140         * tests/test-areadlink.c: Likewise.
41141         * tests/test-areadlinkat.c: Likewise.
41142         * tests/test-filenamecat.c: Likewise.
41143         * tests/test-fseeko.c: Likewise.
41144         * tests/test-ftello.c: Likewise.
41145         * tests/test-getdate.c: Likewise.
41146         * tests/test-getgroups.c: Likewise.
41147         * tests/test-gethostname.c: Likewise.
41148         * tests/test-quotearg.c: Likewise.
41149         * tests/test-version-etc.c: Likewise.
41150         * tests/test-xalloc-die.c: Likewise.
41151         * tests/test-xfprintf-posix.c: Likewise.
41152         * tests/test-xprintf-posix.c: Likewise.
41153         * tests/test-xvasprintf.c: Likewise.
41154
41155         tests: avoid compiler warnings
41156         * tests/test-fcntl.c (main): Delete unused parameters.
41157         * tests/test-freopen-safer.c (main): Likewise.
41158         * tests/test-xalloc-die.c (main): Mark unused parameters.
41159         * tests/test-fseeko.c (main): Likewise.
41160         * tests/test-ftello.c (main): Likewise.
41161         * tests/test-nanosleep.c (main): Avoid declaration warning.
41162         * tests/test-sleep.c (main): Likewise.
41163         * tests/test-unsetenv.c (main): Silence warning about string
41164         literal.
41165         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41166
41167 2009-12-23  Bruno Haible  <bruno@clisp.org>
41168
41169         * tests/test-localename.c (test_locale_name): New function, extracted
41170         from main. Also test mixed situations.
41171         (test_locale_name_posix, test_locale_name_environ,
41172         test_locale_name_default): New functions.
41173         (main): Invoke them all.
41174         * modules/localename-tests (configure.ac): Test for newlocale.
41175
41176 2009-12-23  Bruno Haible  <bruno@clisp.org>
41177
41178         unistd: Ensure getcwd gets declared before being overridden.
41179         * lib/unistd.in.h: Conditionally include <io.h>.
41180
41181 2009-12-22  Bruno Haible  <bruno@clisp.org>
41182
41183         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41184         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41185         (gl_WCHAR_H): Invoke it.
41186         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41187         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41188         Reported by Karl Berry <karl@freefriends.org>.
41189
41190 2009-12-22  Eric Blake  <ebb9@byu.net>
41191
41192         math, unistd: avoid redundant includes
41193         * lib/math.in.h (isnan): No need to re-include <math.h>.
41194         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41195
41196         getsubopt: work around cygwin bug
41197         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41198         avoid conflicting with system getsubopt.
41199         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41200         bug.
41201
41202         getopt: synchronize from glibc
41203         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41204         parameter order.  Adjust all callers.
41205         (_getopt_internal_r, main): Adjust quoting in error messages.
41206         Drop considerations for outdated POSIX 1003.2 error message.
41207         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41208         callers.
41209         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41210
41211         test-getopt: test stderr behavior
41212         * modules/getopt-posix-tests (Depends-on): Add dup2.
41213         * tests/test-getopt.c (ASSERT): Avoid stderr.
41214         (main): Move stderr to a temporary file.
41215         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41216         Instead, add parameter to inform caller if output occurred.
41217         (test_getopt): Adjust all existing tests to expect silence, and
41218         add new tests of leading ":".
41219         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41220         glibc shortcomings with leading "-:" or "+:" in optstring.
41221         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41222         Likewise.
41223         * doc/posix-functions/getopt.texi (getopt): Likewise.
41224
41225         test-getopt: enhance test
41226         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41227         supports optind=0.
41228         * tests/test-getopt.c (OPTIND_MIN): Move...
41229         * tests/test-getopt.h (OPTIND_MIN): ...here.
41230         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41231         Require that optind=0 works, since modern BSD supports it in
41232         addition to optreset, and since coreutils expects it.
41233         (test_getopt_long_only): New test.
41234         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41235         glibc shortcomings with 'W;', and enforcement of optind=0.
41236         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41237         Likewise.
41238
41239 2009-12-21  Bruno Haible  <bruno@clisp.org>
41240
41241         localename: Improvements for MacOS X and Cygwin.
41242         * lib/localename.h (gl_locale_name_environ): New declaration.
41243         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41244         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41245         (gl_locale_name_posix): Invoke it.
41246         (gl_locale_name_default): Add comments. Use Windows native API also on
41247         Cygwin.
41248
41249 2009-12-21  Bruno Haible  <bruno@clisp.org>
41250
41251         Update list of Win32 locale ids.
41252         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41253         (LANG_SAMI): Renamed from LANG_SAAMI.
41254         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41255         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41256         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41257         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41258         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41259         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41260         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41261         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41262         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41263         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41264         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41265         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41266         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41267         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41268         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41269         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41270         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41271         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41272         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41273         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41274         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41275         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41276         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41277         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41278         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41279         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41280         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41281         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41282         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41283         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41284         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41285         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41286         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41287         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41288         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41289         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41290         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41291         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41292         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41293         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41294         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41295         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41296         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41297         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41298         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41299         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41300         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41301         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41302         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41303         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41304         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41305         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41306         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41307         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41308         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41309         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41310         Add more languages and countries for Sami, Sorbian. Add more countries
41311         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41312         for Pashto. Change country for Syriac, Tswana.
41313
41314 2009-12-21  Eric Blake  <ebb9@byu.net>
41315
41316         test-utimens: avoid spurious failure
41317         * tests/test-chown.h (nap): Factor...
41318         * tests/nap.h: ...into new file.
41319         * tests/test-lchown.h (nap): Avoid duplication.
41320         * tests/test-utimens-common.h (nap): Use shared implementation,
41321         necessary on file systems with 1-second resolution.
41322         * modules/chown-tests (Files): Include new file.
41323         * modules/fdutimensat-tests (Files): Likewise.
41324         * modules/futimens-tests (Files): Likewise.
41325         * modules/lchown-tests (Files): Likewise.
41326         * modules/openat-tests (Files): Likewise.
41327         * modules/utimens-tests (Files): Likewise.
41328         * modules/utimensat-tests (Files): Likewise.
41329
41330 2009-12-19  Eric Blake  <ebb9@byu.net>
41331
41332         futimens, utimensat: work around Linux bug
41333         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41334         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41335         * lib/utimensat.c (rpl_utimensat): Work around it.
41336         * lib/futimens.c (rpl_futimens): Adjust comment.
41337
41338         utimens: work around Linux ctime bug
41339         * lib/utimens.c (detect_ctime_bug): New helper function.
41340         (update_timespec): Differentiate between workaround needed for
41341         this bug vs. what is needed for systems that lack utimensat.
41342         (fdutimens, lutimens): Work around bug.
41343
41344         utimens: check for ctime update
41345         * tests/test-utimens-common.h (check_ctime): Define.
41346         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41347         * tests/test-futimens.h (test_futimens): Likewise.
41348         * tests/test-lutimens.h (test_lutimens): Likewise.
41349         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41350         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41351
41352 2009-12-19  Bruno Haible  <bruno@clisp.org>
41353
41354         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41355         * tests/test-dprintf-posix2.sh: New file.
41356         * tests/test-dprintf-posix2.c: New file.
41357         * modules/dprintf-posix-tests (Files): Add them.
41358         (configure.ac): Check for getrlimit and setrlimit.
41359         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41360
41361 2009-12-19  Bruno Haible  <bruno@clisp.org>
41362
41363         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41364         * tests/test-fprintf-posix3.sh: New file.
41365         * tests/test-fprintf-posix3.c: New file.
41366         * modules/fprintf-posix-tests (Files): Add them.
41367         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41368
41369 2009-12-19  Eric Blake  <ebb9@byu.net>
41370
41371         dirfd: fix prototype
41372         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41373         * lib/dirfd.c (dirfd): Likewise.
41374
41375         canonicalize: reduce memory usage
41376         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41377         allocation to size.
41378         Reported by Solar Designer <solar@openwall.com>.
41379
41380 2009-12-19  Bruno Haible  <bruno@clisp.org>
41381
41382         New module attribute 'Applicability'.
41383         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41384         * gnulib-tool: New option --extract-applicability.
41385         (func_usage): Document it.
41386         (sed_extract_prog): Recognize it.
41387         (func_get_applicability): New function.
41388         (func_import): Generalize handling of 'link-warning' module.
41389         * modules/link-warning (Applicability): New section.
41390         * modules/arg-nonnull (Applicability): New section.
41391         Repoted by Simon Josefsson <simon@josefsson.org>.
41392
41393 2009-12-19  Bruno Haible  <bruno@clisp.org>
41394
41395         fflush: tweak
41396         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41397         * lib/fseeko.c (rpl_fseeko): Likewise.
41398
41399 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41400
41401         * lib/gl_list.h: Fix typo in comment.
41402
41403 2009-12-16  Eric Blake  <ebb9@byu.net>
41404
41405         fcntl: use to simplify other modules
41406         * modules/cloexec (Depends-on): Add fcntl.
41407         * modules/fchdir (Depends-on): Likewise.
41408         * modules/fd-safer-flag (Depends-on): Likewise.
41409         * modules/unistd-safer (Depends-on): Likewise.
41410         * modules/dup3 (configure.ac): Set module indicator.
41411         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41412         missing.
41413         * lib/fchdir.c (_gl_register_dup): Fix comment.
41414         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41415         * lib/dup-safer.c (dup_safer): Likewise.
41416         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41417         * lib/dup3.c (dup3): Likewise.
41418         * tests/test-fchdir.c (main): Enhance test.
41419         Fixes a dup_cloexec bug reported by Ondřej Vašík.
41420
41421         fcntl: port portions of fcntl to mingw
41422         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41423         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41424         replacement for mingw.
41425         * modules/fcntl (Description): Update.
41426         (Depends-on): Add dup2.
41427         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41428         * modules/fcntl-h (Makefile.am): Substitute it.
41429         * lib/fcntl.in.h (fcntl): Update declaration.
41430         (F_DUPFD, F_GETFD): New macros, when needed.
41431         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41432         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41433         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41434         we now guarantee.
41435
41436         fcntl: work around cygwin bug in F_DUPFD
41437         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41438         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41439         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41440         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41441         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41442
41443         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41444         * modules/fcntl (Files): List new files.
41445         (configure.ac): Run a test.
41446         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41447         * lib/fcntl.c (rpl_fcntl): Likewise.
41448         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41449         (gl_FCNTL_H): Always replace fcntl.h.
41450         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41451         * lib/fcntl.in.h (fcntl): Declare replacement.
41452         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41453         needed, plus a witness.
41454         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41455         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41456         * tests/test-fcntl.c: New file.
41457         * modules/fcntl-tests: Likewise.
41458
41459         binary-io: avoid potential compilation warning
41460         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41461         directives.
41462
41463         fflush: avoid compilation error on NetBSD
41464         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41465         between off_t and fpos_t, since the latter is sometimes a struct.
41466         * lib/fseeko.c (rpl_fseeko): Likewise.
41467         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41468
41469 2009-12-15  Eric Blake  <ebb9@byu.net>
41470
41471         fcntl-h, stdio, sys_ioctl: fix declarations
41472         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41473         function must not take arguments.
41474         * lib/sys_ioctl.in.h (ioctl): Likewise.
41475         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41476         (open): Add a link warning.
41477
41478 2009-12-15  Jim Meyering  <meyering@redhat.com>
41479
41480         areadlink, areadlink-with-size: relax license to LGPLv2+
41481         * modules/areadlink (License): Relax to LGPLv2+.
41482         * modules/areadlink-with-size (License): Likewise.
41483
41484 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41485             Bruno Haible  <bruno@clisp.org>
41486
41487         *printf: Fix memory leak.
41488         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41489         * lib/vfprintf.c (vfprintf): Likewise.
41490         * lib/dprintf.c (dprintf): Likewise.
41491         * lib/vdprintf.c (vdprintf): Likewise.
41492
41493 2009-12-14  Eric Blake  <ebb9@byu.net>
41494
41495         accept4: adjust module dependencies
41496         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41497
41498         utimens: one more try at avoiding compiler warning
41499         * lib/utimens.c (lutimens): Lower scope of result.
41500
41501 2009-12-13  Bruno Haible  <bruno@clisp.org>
41502
41503         Move the malloc checking from module 'list' to new module 'xlist'.
41504         * modules/xlist: New file.
41505         * lib/gl_xlist.h: New file.
41506         * lib/gl_xlist.c: New file.
41507         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41508         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41509         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41510         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41511         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41512         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41513         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41514         gl_sortedlist_nx_add): New declarations.
41515         (struct gl_list_implementation): Rename and change methods accordingly.
41516         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41517         (gl_list_nx_create): Renamed from gl_list_create.
41518         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41519         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41520         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41521         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41522         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41523         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41524         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41525         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41526         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41527         gl_list_create_empty.
41528         (gl_list_nx_create): Renamed from gl_list_create.
41529         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41530         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41531         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41532         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41533         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41534         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41535         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41536         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41537         * lib/gl_array_list.c: Don't include xalloc.h.
41538         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41539         NULL upon out-of-memory.
41540         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41541         out-of-memory.
41542         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41543         Change return type to 'int'.
41544         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41545         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41546         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41547         upon out-of-memory.
41548         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41549         upon out-of-memory.
41550         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41551         upon out-of-memory.
41552         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41553         upon out-of-memory.
41554         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41555         out-of-memory.
41556         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41557         Update.
41558         (gl_array_list_implementation): Update.
41559         * lib/gl_carray_list.c: Don't include xalloc.h.
41560         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41561         Return NULL upon out-of-memory.
41562         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41563         out-of-memory.
41564         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41565         Change return type to 'int'.
41566         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41567         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41568         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41569         upon out-of-memory.
41570         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41571         upon out-of-memory.
41572         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41573         out-of-memory.
41574         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41575         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41576         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41577         Update.
41578         (gl_carray_list_implementation): Update.
41579         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41580         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41581         gl_linked_create_empty. Return NULL upon out-of-memory.
41582         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41583         out-of-memory.
41584         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41585         Change return type to 'int'. Return -1 upon out-of-memory.
41586         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41587         out-of-memory.
41588         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41589         upon out-of-memory.
41590         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41591         upon out-of-memory.
41592         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41593         NULL upon out-of-memory.
41594         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41595         upon out-of-memory.
41596         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41597         out-of-memory.
41598         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41599         Update.
41600         * lib/gl_linked_list.c: Don't include xalloc.h.
41601         (gl_linked_list_implementation): Update.
41602         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41603         (add_to_bucket): Change return type to 'int'.
41604         (gl_linkedhash_list_implementation): Update.
41605         * lib/gl_anytree_list1.h (free_subtree): New function.
41606         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41607         gl_tree_create_empty. Return NULL upon out-of-memory.
41608         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41609         Change return type to 'int'. Return -1 upon out-of-memory.
41610         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41611         out-of-memory.
41612         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41613         (gl_tree_remove_node): New function, moved here from
41614         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41615         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41616         Update.
41617         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41618         malloc, not xmalloc. Return NULL upon out-of-memory.
41619         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41620         out-of-memory.
41621         (gl_tree_remove_node_from_tree): New function, extracted from
41622         gl_tree_remove_node.
41623         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41624         upon out-of-memory.
41625         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41626         out-of-memory.
41627         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41628         upon out-of-memory.
41629         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41630         upon out-of-memory.
41631         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41632         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41633         not xmalloc. Return NULL upon out-of-memory.
41634         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41635         out-of-memory.
41636         (gl_tree_remove_node_from_tree): New function, extracted from
41637         gl_tree_remove_node.
41638         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41639         upon out-of-memory.
41640         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41641         out-of-memory.
41642         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41643         upon out-of-memory.
41644         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41645         upon out-of-memory.
41646         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41647         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41648         gl_anytree_list1.h before gl_anyavltree_list2.h.
41649         (gl_avltree_list_implementation): Update.
41650         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41651         gl_anytree_list1.h before gl_anyavltree_list2.h.
41652         (gl_rbtree_list_implementation): Update.
41653         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41654         Change return type to 'int'. Return -1 upon out-of-memory. Use
41655         __builtin_expect.
41656         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41657         (gl_avltreehash_list_implementation): Update.
41658         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41659         (gl_rbtreehash_list_implementation): Update.
41660         * modules/array-list (Depends-on): Remove xalloc.
41661         * modules/carray-list (Depends-on): Likewise.
41662         * modules/linked-list (Depends-on): Likewise.
41663         * modules/linkedhash-list (Depends-on): Likewise.
41664         * modules/avltree-list (Depends-on): Likewise.
41665         * modules/rbtree-list (Depends-on): Likewise.
41666         * modules/avltreehash-list (Depends-on): Likewise.
41667         * modules/rbtreehash-list (Depends-on): Likewise.
41668
41669         * modules/xsublist: New file.
41670         * lib/gl_xsublist.h: New file.
41671         * lib/gl_xsublist.c: New file.
41672         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41673         (gl_sublist_nx_create): New declaration.
41674         * lib/gl_sublist.c: Don't include xalloc.h.
41675         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41676         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41677         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41678         Change return type to 'int'. Return -1 upon out-of-memory.
41679         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41680         upon out-of-memory.
41681         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41682         NULL upon out-of-memory.
41683         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41684         upon out-of-memory.
41685         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41686         NULL upon out-of-memory.
41687         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41688         NULL upon out-of-memory.
41689         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41690         upon out-of-memory.
41691         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41692         (gl_sublist_list_implementation): Update.
41693         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41694         upon out-of-memory.
41695         * modules/sublist (Depends-on): Remove xalloc.
41696
41697         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41698         * tests/test-carray_list.c: Likewise.
41699         * tests/test-linked_list.c: Likewise.
41700         * tests/test-linkedhash_list.c: Likewise.
41701         * tests/test-avltree_list.c: Likewise.
41702         * tests/test-rbtree_list.c: Likewise.
41703         * tests/test-avltreehash_list.c: Likewise.
41704         * tests/test-rbtreehash_list.c: Likewise.
41705         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41706         * modules/carray-list-tests (Makefile.am): Likewise.
41707         * modules/linked-list-tests (Makefile.am): Likewise.
41708         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41709         * modules/avltree-list-tests (Makefile.am): Likewise.
41710         * modules/rbtree-list-tests (Makefile.am): Likewise.
41711         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41712         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41713
41714         * NEWS: Mention the changes.
41715
41716         * lib/clean-temp.c: Include gl_xlist.h.
41717         * modules/clean-temp (Depends-on): Add xlist.
41718
41719         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41720         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41721
41722         * tests/test-array_oset.c: Include gl_xlist.h.
41723         * modules/array-oset-tests (Depends-on): Add xlist.
41724
41725         Reported by José E. Marchesi <jemarch@gnu.org>.
41726
41727 2009-12-13  Bruno Haible  <bruno@clisp.org>
41728
41729         Move the malloc checking from module 'oset' to new module 'xoset'.
41730         * modules/xoset: New file.
41731         * lib/gl_xoset.h: New file.
41732         * lib/gl_xoset.c: New file.
41733         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41734         declarations.
41735         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41736         (struct gl_oset_implementation): Rename and change methods accordingly.
41737         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41738         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41739         'int'. Mark as __warn_unused_result__.
41740         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41741         gl_oset_create_empty.
41742         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41743         'int'.
41744         * lib/gl_array_oset.c: Don't include xalloc.h.
41745         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41746         malloc, not xmalloc.
41747         (grow): Change return type to 'int'. Don't call xalloc_die.
41748         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41749         to 'int'.
41750         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41751         'int'.
41752         (gl_array_oset_implementation): Update.
41753         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41754         gl_tree_create_empty.
41755         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41756         'int'.
41757         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41758         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41759         xmalloc.
41760         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41761         not xmalloc.
41762         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41763         xmalloc.
41764         (gl_avltree_oset_implementation): Update.
41765         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41766         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41767         xmalloc.
41768         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41769         not xmalloc.
41770         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41771         xmalloc.
41772         (gl_rbtree_oset_implementation): Update.
41773         * modules/array-oset (Depends-on): Remove xalloc.
41774         * modules/avltree-oset (Depends-on): Likewise.
41775         * modules/rbtree-oset (Depends-on): Likewise.
41776         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41777         * tests/test-avltree_oset.c: Likewise.
41778         * tests/test-rbtree_oset.c: Likewise.
41779         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41780         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41781         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41782         * NEWS: Mention the change.
41783
41784 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41785
41786         maint.mk: allow a project to override release-prep commands
41787         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41788         commands into a new rule.
41789         (release-prep): New rule.
41790         (release-prep-hook): New overridable variable.
41791
41792 2009-12-13  Bruno Haible  <bruno@clisp.org>
41793
41794         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41795
41796 2009-12-13  Jim Meyering  <meyering@redhat.com>
41797
41798         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41799         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41800
41801 2009-12-12  Bruno Haible  <bruno@clisp.org>
41802
41803         duplocale: Tweak.
41804         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41805
41806 2009-12-12  Karl Berry  <karl@gnu.org>
41807
41808         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41809
41810 2009-12-12  Bruno Haible  <bruno@clisp.org>
41811
41812         * m4/po.m4: Undo incorrect untabification.
41813
41814 2009-12-12  Bruno Haible  <bruno@clisp.org>
41815
41816         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41817         * modules/c-strtod (Depends-on): Add locale.
41818         * modules/c-strtold (Depends-on): Likewise.
41819
41820 2009-12-12  Bruno Haible  <bruno@clisp.org>
41821
41822         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41823
41824 2009-12-11  Eric Blake  <ebb9@byu.net>
41825
41826         setenv: relax requirement in light of POSIX ruling
41827         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41828         not NULL.
41829         * tests/test-setenv.c (main): Relax test.
41830         * tests/test-unsetenv.c (main): Likewise.
41831         * doc/posix-functions/setenv.texi (setenv): Document this.
41832         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41833
41834 2009-12-11  Bruno Haible  <bruno@clisp.org>
41835
41836         New module 'fd-safer-flag'.
41837         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41838         * lib/dup-safer.c (dup_safer_flag): Remove function.
41839         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41840         * lib/fd-safer.c (fd_safer_flag): Remove function.
41841         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41842         * modules/cloexec (configure.ac): Drop indicator macro.
41843         * modules/fd-safer-flag: New file.
41844         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41845         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41846         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41847
41848 2009-12-11  Bruno Haible  <bruno@clisp.org>
41849
41850         Tests for module 'nl_langinfo'.
41851         * modules/nl_langinfo-tests: New file.
41852         * tests/test-nl_langinfo.sh: New file.
41853         * tests/test-nl_langinfo.c: New file.
41854
41855         New module 'nl_langinfo'.
41856         * lib/nl_langinfo.c: New file.
41857         * m4/nl_langinfo.m4: New file.
41858         * modules/nl_langinfo: New file.
41859         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41860
41861 2009-12-11  Bruno Haible  <bruno@clisp.org>
41862
41863         Tests for module 'langinfo'.
41864         * modules/langinfo-tests: New file.
41865         * tests/test-langinfo.c: New file.
41866
41867         New module 'langinfo'.
41868         * lib/langinfo.in.h: New file.
41869         * m4/langinfo_h.m4: New file.
41870         * modules/langinfo: New file.
41871         * doc/posix-headers/langinfo.texi: Mention the new module.
41872
41873 2009-12-11  Bruno Haible  <bruno@clisp.org>
41874
41875         * lib/config.charset: Untabify.
41876
41877 2009-12-11  Bruno Haible  <bruno@clisp.org>
41878
41879         * modules/unistd-safer (configure.ac): Drop indicator macro.
41880
41881 2009-12-11  Bruno Haible  <bruno@clisp.org>
41882
41883         Move pipe2-safer code to its own file.
41884         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41885         * lib/pipe-safer.c (pipe2_safer): Remove function.
41886         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41887         (Makefile.am): Add it to lib_SOURCES.
41888
41889 2009-12-10  Bruno Haible  <bruno@clisp.org>
41890
41891         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41892
41893 2009-12-10  Bruno Haible  <bruno@clisp.org>
41894
41895         Declare which arguments expect non-NULL values, for GCC and clang.
41896         * build-aux/arg-nonnull.h: New file.
41897         * modules/arg-nonnull: New file.
41898         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41899         (inet_ntop, inet_pton): Use it.
41900         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41901         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41902         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41903         (open, openat): Use it.
41904         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41905         (fnmatch): Use it.
41906         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41907         (getopt, getopt_long, getopt_long_only): Use it.
41908         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41909         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41910         Use it.
41911         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41912         (iconv_open): Use it.
41913         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41914         (strtoimax, strtoumax): Use it.
41915         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41916         (duplocale): Use it.
41917         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41918         (frexp, frexpl): Use it.
41919         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41920         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41921         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41922         (tsearch, tfind, tdelete, twalk): Use it.
41923         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41924         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41925         sigpending): Use it.
41926         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41927         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41928         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41929         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41930         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41931         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41932         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41933         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41934         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41935         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41936         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41937         Use it.
41938         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41939         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41940         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41941         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41942         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41943         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41944         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41945         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41946         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41947         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41948         strtoull, unsetenv): Use it.
41949         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41950         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41951         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41952         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41953         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41954         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41955         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41956         (strcasecmp, strncasecmp): Use it.
41957         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41958         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41959         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41960         rpl_setsockopt): Use it.
41961         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41962         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41963         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41964         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41965         (gettimeofday): Use it.
41966         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41967         (times): Use it.
41968         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41969         (uname): Use it.
41970         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41971         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41972         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41973         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41974         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41975         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41976         unlinkat, write): Use it.
41977         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41978         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41979         * lib/argv-iter.h: Include arg-nonnull.h.
41980         (_ATTRIBUTE_NONNULL_): Remove macro.
41981         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41982         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41983         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41984         optimization.
41985         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41986         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41987         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41988         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41989         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41990         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41991         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41992         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41993         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41994         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41995         * modules/dirent (Depends-on): Add arg-nonnull.
41996         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41997         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41998         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41999         * modules/fnmatch (Depends-on): Add arg-nonnull.
42000         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42001         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42002         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42003         * modules/glob (Depends-on): Add arg-nonnull.
42004         (Makefile.am): Insert arg-nonnull.h into glob.h.
42005         * modules/iconv_open (Depends-on): Add arg-nonnull.
42006         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42007         * modules/inttypes (Depends-on): Add arg-nonnull.
42008         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42009         * modules/locale (Depends-on): Add arg-nonnull.
42010         (Makefile.am): Insert arg-nonnull.h into locale.h.
42011         * modules/math (Depends-on): Add arg-nonnull.
42012         (Makefile.am): Insert arg-nonnull.h into math.h.
42013         * modules/netdb (Depends-on): Add arg-nonnull.
42014         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42015         * modules/search (Depends-on): Add arg-nonnull.
42016         (Makefile.am): Insert arg-nonnull.h into search.h.
42017         * modules/signal (Depends-on): Add arg-nonnull.
42018         (Makefile.am): Insert arg-nonnull.h into signal.h.
42019         * modules/spawn (Depends-on): Add arg-nonnull.
42020         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42021         * modules/stdio (Depends-on): Add arg-nonnull.
42022         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42023         * modules/stdlib (Depends-on): Add arg-nonnull.
42024         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42025         * modules/string (Depends-on): Add arg-nonnull.
42026         (Makefile.am): Insert arg-nonnull.h into string.h.
42027         * modules/strings (Depends-on): Add arg-nonnull.
42028         (Makefile.am): Insert arg-nonnull.h into strings.h.
42029         * modules/sys_socket (Depends-on): Add arg-nonnull.
42030         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42031         * modules/sys_stat (Depends-on): Add arg-nonnull.
42032         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42033         * modules/sys_time (Depends-on): Add arg-nonnull.
42034         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42035         * modules/sys_times (Depends-on): Add arg-nonnull.
42036         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42037         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42038         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42039         * modules/time (Depends-on): Add arg-nonnull.
42040         (Makefile.am): Insert arg-nonnull.h into time.h.
42041         * modules/unistd (Depends-on): Add arg-nonnull.
42042         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42043         * modules/wchar (Depends-on): Add arg-nonnull.
42044         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42045         * modules/argv-iter (Depends-on): Add arg-nonnull.
42046         * tests/test-canonicalize.c (null_ptr): New function.
42047         (main): Use it.
42048         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42049         (main): Use it.
42050         * tests/test-memmem.c (null_ptr): New function.
42051         (main): Use it.
42052         Reported by Jim Meyering.
42053
42054 2009-12-10  Bruno Haible  <bruno@clisp.org>
42055
42056         Use spaces for indentation, not tabs.
42057         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42058         * m4/*.m4: Untabify.
42059         * build-aux/*.h: Untabify.
42060         * tests/**/*.[hc]: Untabify.
42061         * README: New section "Indent with spaces, not TABs", based on
42062         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42063         * NEWS: Mention the change.
42064
42065 2009-12-10  Bruno Haible  <bruno@clisp.org>
42066
42067         pty test: Fix link error.
42068         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42069         test_pty_LDADD.
42070
42071 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42072
42073         * modules/pty: New file.
42074         * modules/pty-tests: New file.
42075         * m4/pty.m4: New file.
42076         * tests/test-pty.c: New file.
42077         * doc/glibc-headers/pty.texi: Modified.
42078         * doc/glibc-functions/forkpty.texi: Modified.
42079         * doc/glibc-functions/openpty.texi: Modified.
42080
42081 2009-12-10  Bruno Haible  <bruno@clisp.org>
42082
42083         Avoid syntax error in C++ mode.
42084         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42085
42086 2009-12-10  Bruno Haible  <bruno@clisp.org>
42087
42088         Use sed with option -e.
42089         * gnulib-tool (func_version, func_emit_copyright_notice,
42090         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42091         option -e to sed.
42092         * modules/link-warning (Makefile.am): Likewise.
42093
42094 2009-12-10  Jim Meyering  <meyering@redhat.com>
42095
42096         mgetgroups: do not write bytes beyond end of malloc'd buffer
42097         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42098         username, we call getgroups with a one-element-shorter buffer,
42099         but still told it the length was original, max_n_groups.
42100
42101 2009-12-09  Eric Blake  <ebb9@byu.net>
42102
42103         cloexec: relax license
42104         * modules/cloexec (Maintainer): Add myself.
42105         (License): Use LGPL, not GPL.
42106
42107         link-warning: optimize generation
42108         * modules/link-warning (Makefile.am): Reduce process usage.
42109
42110 2009-12-09  Bruno Haible  <bruno@clisp.org>
42111
42112         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42113         workaround was added on 2009-11-17.
42114
42115 2009-12-09  Jim Meyering  <meyering@redhat.com>
42116             Bruno Haible  <bruno@clisp.org>
42117
42118         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42119         * modules/link-warning (Makefile.am): Make the comment-removing sed
42120         command more robust in the face of bootstrap-prepended comment lines.
42121
42122 2009-12-09  Bruno Haible  <bruno@clisp.org>
42123
42124         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42125         most one group.
42126
42127 2009-12-09  Simon Josefsson <simon@josefsson.org>
42128             Bruno Haible  <bruno@clisp.org>
42129
42130         * build-aux/link-warning.h: Add copyright notice.
42131         * modules/link-warning (Makefile.am): Generate link-warning.h from
42132         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42133         * NEWS: Mention change in link-warning module.
42134         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42135         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42136         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42137         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42138         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42139         * modules/math (Makefile.am): Add dependency to math.h.
42140         * modules/search (Makefile.am): Add dependency to search.h.
42141         * modules/signal (Makefile.am): Add dependency to signal.h.
42142         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42143         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42144         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42145         * modules/string (Makefile.am): Add dependency to string.h.
42146         * modules/strings (Makefile.am): Add dependency to strings.h.
42147         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42148         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42149         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42150         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42151         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42152         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42153         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42154         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42155         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42156
42157 2009-12-09  Bruno Haible  <bruno@clisp.org>
42158
42159         fchdir: Optimize away rpl_fstat when possible.
42160         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42161         REPLACE_OPEN_DIRECTORY.
42162         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42163
42164 2009-12-09  Bruno Haible  <bruno@clisp.org>
42165
42166         * lib/fchdir.c: Update comment.
42167
42168 2009-12-09  Bruno Haible  <bruno@clisp.org>
42169
42170         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42171
42172 2009-12-08  Eric Blake  <ebb9@byu.net>
42173
42174         fchdir: avoid memory leak on re-registration.
42175         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42176
42177 2009-12-08  Jim Meyering  <meyering@redhat.com>
42178
42179         init.sh: avoid Solaris 10 /bin/sh portability problem
42180         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42181         sourced script:
42182           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42183           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42184           bar
42185         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42186         and two tests used that idiom.
42187         * tests/init.sh: Update suggested usage comments.
42188         (path_prepend_): New function, to be used in place
42189         of the --src-path=DIR option.
42190         (setup_): Move PATH-prepending code into path_prepend_.
42191         * tests/test-pread.sh: Adapt to new usage.
42192         * tests/test-xalloc-die.sh: Likewise.
42193
42194 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42195
42196         * doc/gnulib.texi (Glibc pty.h): Add.
42197         * doc/glibc-functions/forkpty.texi: Add.
42198         * doc/glibc-functions/openpty.texi: Add.
42199         Suggested by Bruno Haible.
42200
42201 2009-12-08  Eric Blake  <ebb9@byu.net>
42202
42203         fchdir: fix logic bugs
42204         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42205         * tests/test-fchdir.c (main): Enhance test.
42206         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42207         is in use.
42208
42209         dup2: fix logic bugs
42210         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42211         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42212         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42213         exists.
42214         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42215
42216 2009-12-07  Eric Blake  <ebb9@byu.net>
42217
42218         unlink: fix m4 detection
42219         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42220
42221         unistd-safer: add unit test
42222         * modules/unistd-safer-tests: New file.
42223         * tests/test-dup-safer.c: Likewise.
42224         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42225         * tests/test-dup2.c (setmode): Likewise.
42226         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42227
42228         cloexec: preserve text vs. binary across dup_cloexec
42229         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42230         mode.
42231         * modules/dup2-tests (Depends-on): Add binary-io.
42232         * modules/cloexec-tests (Depends-on): Likewise.
42233         * tests/test-dup2.c (setmode, is_mode): New helpers.
42234         (main): Add tests that translation mode is preserved.
42235         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42236         Reported by Bruno Haible.
42237
42238         mgetgroups: reduce duplicate listings
42239         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42240         resulting array.
42241         * tests/test-chown.h (test_chown): Simplify client.
42242         * tests/test-lchown.h (test_lchown): Likewise.
42243
42244 2009-12-06  Bruno Haible  <bruno@clisp.org>
42245
42246         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42247         value.
42248
42249 2009-12-06  Bruno Haible  <bruno@clisp.org>
42250
42251         * lib/progname.c: Include stdio.h, stdlib.h.
42252         (set_program_name): Reject a NULL argument.
42253
42254 2009-12-05  Eric Blake  <ebb9@byu.net>
42255
42256         pipe2-safer: new module
42257         * modules/pipe2-safer: New file.
42258         * lib/unistd-safer.h (pipe2_safer): New prototype.
42259         * lib/unistd--.h (pipe2): New wrapper.
42260         * lib/pipe-safer.c (pipe2_safer): New function.
42261         * modules/pipe (Depends-on): Add pipe2-safer.
42262         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42263
42264         stdlib-safer: preserve cloexec flag for mkostemp[s]
42265         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42266         fd_safer_flag.
42267
42268         unistd-safer: allow preservation of cloexec status via flag
42269         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42270         prototypes.
42271         * lib/dup-safer.c (dup_safer_flag): New function.
42272         * lib/fd-safer.c (fd_safer_flag): Likewise.
42273         * modules/cloexec (configure.ac): Set witness.
42274
42275         test-dup2: enhance test
42276         * modules/dup2-tests (Depends-on): Add cloexec.
42277         * tests/test-dup2.c (main): Enhance test.
42278
42279         cloexec: add dup_cloexec
42280         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42281         header and comments.
42282         * lib/cloexec.c (set_cloexec_flag): Add comments.
42283         (dup_cloexec): New function, with mingw implementation borrowed
42284         from...
42285         * lib/w32spawn.h (dup_noinherit): ...here.
42286         * modules/execute (Depends-on): Add cloexec.
42287         * modules/pipe (Depends-on): Likewise.
42288         * modules/cloexec (Depends-on): Add dup2.
42289         * modules/cloexec-tests (Files): New file.
42290         * tests/test-cloexec.c: Likewise.
42291
42292         test-xalloc-die: fix test for mingw
42293         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42294         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42295         directory and .exe suffix off argv[0] output.
42296
42297         test-fseeko: fix test for mingw
42298         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42299         than undefining fseek, so test will pass on mingw.
42300
42301 2009-12-05  Bruno Haible  <bruno@clisp.org>
42302
42303         * lib/progname.h (set_program_name): Clarify specification.
42304         * lib/progname.c (set_program_name): Likewise.
42305         Reported by Jim Meyering.
42306
42307 2009-12-05  Jim Meyering  <meyering@redhat.com>
42308
42309         maint.mk: backslash-escape parens in default regexp
42310         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42311         backslash-escape the literal parentheses.
42312
42313         maint.mk: news-date-check: use grep -E
42314         * top/maint.mk (today): Define a Make variable, not a...
42315         (news-date-check): ...shell variable.
42316         (news-date-regexp): Use the Make variable.
42317         Use grep's -E option.  Change the failing diagnostic to mention
42318         the variable, $(news-date-regexp).
42319
42320 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42321
42322         maintainer-makefile: allow customization of NEWS entry format
42323         * top/maint.mk (news-date-regexp): New overridable variable.
42324         (news-date-check): Use it.
42325
42326 2009-12-04  Eric Blake  <ebb9@byu.net>
42327
42328         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42329         * lib/mgetgroups.h (xgetgroups): New prototype.
42330         * lib/mgetgroups.c (xgetgroups): New wrapper.
42331         (mgetgroups): Handle ENOSYS.
42332         * modules/mgetgroups (Depends-on): Add realloc.
42333         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42334
42335         mgetgroups: avoid argument promotion issues with -1
42336         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42337         for invalid gid_t.
42338         * tests/test-chown.h (getegid, test_chown): Likewise.
42339         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42340
42341 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42342
42343         exclude: Fix header file problems.
42344         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42345
42346 2009-12-01  Jim Meyering  <meyering@redhat.com>
42347
42348         fts: fts_open: do not let an empty string cause immediate failure
42349         This is required in support of GNU rm, for which the command
42350         "rm A '' B" must process and remove both A and B, in spite of
42351         the empty string argument.
42352         * lib/fts.c (fts_open): Do not let the presence of an empty string
42353         cause fts_open to fail immediately.  Most fts-using tools must be
42354         able to process all arguments, in order, and can be expected to
42355         diagnose such arguments themselves.
42356
42357 2009-11-30  Eric Blake  <ebb9@byu.net>
42358
42359         utimens: fix compilation error
42360         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42361         Declare variable at right scope.
42362
42363 2009-11-29  Jim Meyering  <meyering@redhat.com>
42364
42365         bootstrap: handle perl-5.11's changed --version output
42366         * build-aux/bootstrap (get_version): Handle perl separately,
42367         since perl-5.11's --version output is different.
42368
42369 2009-11-28  Jim Meyering  <meyering@redhat.com>
42370
42371         userspec: depend on the inttostr module, too
42372         * modules/userspec (Depends-on): Add inttostr.
42373
42374         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42375         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42376         number of MAXUID when it evaluates to (uid_t) -1.
42377         Likewise for group ID.  Reported by Matt McCutchen in
42378         <http://savannah.gnu.org/bugs/?28113>
42379
42380         userspec: reformat to use spaces, not TABs
42381         * lib/userspec.c: Expand TABs to spaces.
42382         Add Emacs' "indent-tabs-mode: nil" hint.
42383
42384 2009-11-27  Eric Blake  <ebb9@byu.net>
42385
42386         getopt-gnu: flush out another BSD bug
42387         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42388         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42389         flush out BSD bug.
42390         * tests/test-getopt.h (test_getopt): End lists with NULL.
42391         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42392         (test_getopt_long_posix): Enhance test.
42393         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42394         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42395         getopt-gnu.
42396         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42397         Likewise.
42398
42399 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42400
42401         * modules/idpriv-droptemp-tests (Notice): Fix text.
42402
42403 2009-11-27  Jim Meyering  <meyering@redhat.com>
42404
42405         test-xalloc-die: avoid spurious failure due to libtool argv difference
42406         In a libtool-enabled project, this test would fail due to a difference
42407         in the emitted program name, e.g.,
42408         -test-xalloc-die: memory exhausted
42409         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42410         Use program to avoid that.
42411         * modules/xalloc-die-tests (Depends-on): Add progname.
42412         * tests/test-xalloc-die.c: Include progname.h".
42413         (program_name): Remove decl.
42414         (main): Call set_program_name.
42415         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42416
42417 2009-11-26  Richard Jones  <rjones@redhat.com>
42418
42419         w32sock: leave win32 error in place.
42420         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42421
42422 2009-11-26  Eric Blake  <ebb9@byu.net>
42423
42424         init.sh: suggest to use skip_ and fail_ functions in comments
42425         * tests/init.sh: Add a sentence.
42426
42427 2009-11-25  Bruno Haible  <bruno@clisp.org>
42428
42429         init.sh: add documentation in comments
42430         * tests/init.sh: Add some developer and user documentation.
42431
42432 2009-11-26  Jim Meyering  <meyering@redhat.com>
42433
42434         init.sh: accommodate even those who specify bogus srcdir manually
42435         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42436         configure-time tests to be sanitized, so that there is no need to
42437         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42438         (with no double quotes) suffices.  However, since tests may be
42439         invoked manually, and since you may explicitly set srcdir to the
42440         name of a directory containing spaces, do quote its uses here.
42441         * tests/test-pread.sh: Likewise.
42442         Suggested by Bruno Haible.
42443
42444         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42445         * tests/test-pread.sh: Write no data into the pipe, because
42446         test-pread actually reads none.  This avoids a diagnostic,
42447         "bash: echo: write error: Broken pipe", that arises in the unusual
42448         event something is ignoring SIGPIPE, and might be interpreted
42449         as some sort of failure.  Reported by Bruno Haible.
42450
42451 2009-11-25  Jim Meyering  <meyering@redhat.com>
42452
42453         test-pread: cover failure with ESPIPE and EINVAL
42454         * tests/test-pread.c (main): Test for failure, too.
42455         * tests/test-pread.sh: Invoke with stdin on a pipe.
42456         Suggested by Eric Blake.
42457
42458         pread: improvement and fix
42459         * modules/pread (Depends-on): Depend on lseek, for portability to
42460         e.g., mingw.  Suggested by Eric Blake.
42461         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42462
42463         unistd.in.h: correct declaration of pread
42464         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42465         Reported by Richard W.M. Jones.
42466
42467         test-pread.sh: distribute the test script
42468         * modules/pread-tests (Files): Include test-pread.sh.
42469
42470         test-pread.sh: clean up
42471         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42472         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42473         That is unnecessary, since it's always ".".
42474         Suggestion from Eric Blake.
42475
42476         test-pread.sh: make executable
42477         * tests/test-pread.sh: Set executable bit.
42478         Reported by Eric Blake.
42479
42480         correct typo in test-pread.sh
42481         * tests/test-pread.sh: Add #! line.
42482
42483         test pread
42484         * tests/test-pread.c: New file.
42485         * tests/test-pread.sh: Likewise.
42486         * modules/pread-tests: Likewise.
42487
42488         pread: new module
42489         * modules/pread: New file.
42490         * lib/unistd.in.h (pread): Define/declare.
42491         * lib/pread.c (pread): New file.
42492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42493         * modules/unistd (Makefile.am): Substitute witnesses.
42494         * doc/posix-functions/pread.texi (pread): Update.
42495         * MODULES.html.sh: Add pread.
42496
42497 2009-11-25  Jim Meyering  <meyering@redhat.com>
42498
42499         tests/init.sh: new file to be used via most *.sh tests
42500         * tests/init.sh: New file.
42501
42502 2009-11-25  Eric Blake  <ebb9@byu.net>
42503
42504         utimens: work around older Linux failure with symlinks
42505         * lib/utimens.c (lutimensat_works_really): New variable.
42506         (fdutimens, lutimens): Use it to manage kernels that support
42507         nanosecond times on files, but not on symlinks.
42508         Reported by Ondřej Vašík.
42509
42510         utimes: fix configure grammar
42511         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42512
42513 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42514
42515         regex: Fix fastmap for multibyte character ranges.
42516         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42517         characters when a multibyte character range is included.
42518
42519 2009-11-22  Andy Wingo  <wingo@pobox.com>
42520
42521         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42522         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42523
42524 2009-11-24  Bruno Haible  <bruno@clisp.org>
42525
42526         doc: Most *_l functions exist in MacOS X 10.5.
42527         * doc/posix-functions/duplocale.texi: Update platforms list.
42528         * doc/posix-functions/freelocale.texi: Likewise.
42529         * doc/posix-functions/newlocale.texi: Likewise.
42530         * doc/posix-functions/uselocale.texi: Likewise.
42531         * doc/posix-functions/isalnum_l.texi: Likewise.
42532         * doc/posix-functions/isalpha_l.texi: Likewise.
42533         * doc/posix-functions/isblank_l.texi: Likewise.
42534         * doc/posix-functions/iscntrl_l.texi: Likewise.
42535         * doc/posix-functions/isdigit_l.texi: Likewise.
42536         * doc/posix-functions/isgraph_l.texi: Likewise.
42537         * doc/posix-functions/islower_l.texi: Likewise.
42538         * doc/posix-functions/isprint_l.texi: Likewise.
42539         * doc/posix-functions/ispunct_l.texi: Likewise.
42540         * doc/posix-functions/isspace_l.texi: Likewise.
42541         * doc/posix-functions/isupper_l.texi: Likewise.
42542         * doc/posix-functions/iswalnum_l.texi: Likewise.
42543         * doc/posix-functions/iswalpha_l.texi: Likewise.
42544         * doc/posix-functions/iswblank_l.texi: Likewise.
42545         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42546         * doc/posix-functions/iswctype_l.texi: Likewise.
42547         * doc/posix-functions/iswdigit_l.texi: Likewise.
42548         * doc/posix-functions/iswgraph_l.texi: Likewise.
42549         * doc/posix-functions/iswlower_l.texi: Likewise.
42550         * doc/posix-functions/iswprint_l.texi: Likewise.
42551         * doc/posix-functions/iswpunct_l.texi: Likewise.
42552         * doc/posix-functions/iswspace_l.texi: Likewise.
42553         * doc/posix-functions/iswupper_l.texi: Likewise.
42554         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42555         * doc/posix-functions/isxdigit_l.texi: Likewise.
42556         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42557         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42558         * doc/posix-functions/strcoll_l.texi: Likewise.
42559         * doc/posix-functions/strfmon_l.texi: Likewise.
42560         * doc/posix-functions/strftime_l.texi: Likewise.
42561         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42562         * doc/posix-functions/strxfrm_l.texi: Likewise.
42563         * doc/posix-functions/tolower_l.texi: Likewise.
42564         * doc/posix-functions/toupper_l.texi: Likewise.
42565         * doc/posix-functions/towctrans_l.texi: Likewise.
42566         * doc/posix-functions/towlower_l.texi: Likewise.
42567         * doc/posix-functions/towupper_l.texi: Likewise.
42568         * doc/posix-functions/wcscoll_l.texi: Likewise.
42569         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42570         * doc/posix-functions/wctrans_l.texi: Likewise.
42571         * doc/posix-functions/wctype_l.texi: Likewise.
42572         * doc/glibc-functions/strptime_l.texi: Likewise.
42573         * doc/glibc-functions/strtod_l.texi: Likewise.
42574         * doc/glibc-functions/strtof_l.texi: Likewise.
42575         * doc/glibc-functions/strtol_l.texi: Likewise.
42576         * doc/glibc-functions/strtold_l.texi: Likewise.
42577         * doc/glibc-functions/strtoll_l.texi: Likewise.
42578         * doc/glibc-functions/strtoul_l.texi: Likewise.
42579         * doc/glibc-functions/strtoull_l.texi: Likewise.
42580         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42581         * doc/glibc-functions/wcstod_l.texi: Likewise.
42582         * doc/glibc-functions/wcstof_l.texi: Likewise.
42583         * doc/glibc-functions/wcstol_l.texi: Likewise.
42584         * doc/glibc-functions/wcstold_l.texi: Likewise.
42585         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42586         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42587         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42588
42589 2009-11-24  Bruno Haible  <bruno@clisp.org>
42590
42591         duplocale: Fix logic bug.
42592         * lib/duplocale.c: Don't include <langinfo.h>.
42593         (_NL_LOCALE_NAME): Remove macro.
42594         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42595         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42596
42597 2009-11-23  Jim Meyering  <meyering@redhat.com>
42598
42599         test-update-copyright: don't hard-code /usr/bin/perl
42600         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42601         perl to print the current year.  Gilles Espinasse reported that
42602         the replaced use of perl was hard-coded as /usr/bin/perl.
42603
42604 2009-11-23  Bruno Haible  <bruno@clisp.org>
42605
42606         duplocale: Add support for glibc 2.3.x.
42607         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42608
42609 2009-11-22  Bruno Haible  <bruno@clisp.org>
42610
42611         vasnprintf: Tiny optimization.
42612         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42613         MacOS X.
42614
42615 2009-11-22  Bruno Haible  <bruno@clisp.org>
42616
42617         Tests for module 'duplocale'.
42618         * modules/duplocale-tests: New file.
42619         * tests/test-duplocale.c: New file.
42620
42621         New module 'duplocale'.
42622         * m4/duplocale.m4: New file.
42623         * lib/locale.in.h (duplocale): New declaration.
42624         * lib/duplocale.c: New file.
42625         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42626         gl_LOCALE_H_DEFAULTS): New macros.
42627         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42628         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42629         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42630         REPLACE_DUPLOCALE.
42631         * modules/duplocale: New file.
42632         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42633
42634 2009-11-22  Bruno Haible  <bruno@clisp.org>
42635
42636         * modules/locale-tests (configure.ac): Test for newlocale function.
42637         * tests/test-locale.c: When the system has extended locale functions,
42638         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42639
42640         locale: Make locale_t available when possible.
42641         * lib/locale.in.h: Include <xlocale.h> when it exists.
42642         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42643         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42644         * modules/locale (Depends-on): Add extensions.
42645         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42646         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42647
42648 2009-11-22  Bruno Haible  <bruno@clisp.org>
42649
42650         Add comments.
42651         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42652         invocation.
42653         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42654         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42655         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42656
42657 2009-11-22  Bruno Haible  <bruno@clisp.org>
42658
42659         error: account for the possibility of freopen (stdout).
42660         * lib/error.c: Include <unistd.h>.
42661         (flush_stdout): New function, extracted from error and error_at_line.
42662         Determine stdout's fd dynamically.
42663         (error, error_at_line): Invoke flush_stdout.
42664         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42665         * modules/error (Depends-on): Add unistd.
42666
42667 2009-11-22  Bruno Haible  <bruno@clisp.org>
42668
42669         diffseq: Add comment.
42670         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42671
42672 2009-11-22  Jim Meyering  <meyering@redhat.com>
42673
42674         c-stack: avoid defining an unused static function
42675         * lib/c-stack.c (find_stack_direction): Do not define this function
42676         when it will not be used.
42677
42678         diffseq: avoid spurious gcc warnings
42679         * lib/diffseq.h (IF_LINT2): Define.
42680         (compareseq): Use it to initialize two members of "part".
42681         This avoids two used-uninitialized warnings.
42682
42683 2009-11-21  Jim Meyering  <meyering@redhat.com>
42684
42685         c-stack: avoid "ignoring return value of `write'" warning
42686         * lib/c-stack.c: Include "ignore-value.h".
42687         (die): Explicitly ignore each write return value.
42688         * modules/c-stack (Depends-on): Add ignore-value.
42689
42690 2009-11-21  Bruno Haible  <bruno@clisp.org>
42691
42692         diffseq: reduce scope of variable 'best'.
42693         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42694         variable, earlier used for two different purposes.
42695
42696 2009-11-21  Jim Meyering  <meyering@redhat.com>
42697
42698         diffseq: remove useless assignment to "best"
42699         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42700         assignment.  At that point "best" is already guaranteed to be zero.
42701
42702 2009-11-20  Eric Blake  <ebb9@byu.net>
42703
42704         build: mention ftp redirector in release announcements
42705         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42706         values that used to come from cfg.mk; mention FTP redirect URL.
42707         * build-aux/announce-gen: Mention the mirror list.
42708         Suggested by Karl Berry.
42709
42710         nanosleep: improve port to mingw
42711         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42712         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42713         LIB_NANOSLEEP, but only when needed.
42714         * modules/select (Link): Document LIBSOCKET.
42715         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42716         enough.
42717
42718         nanosleep: work around cygwin bug
42719         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42720         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42721         bug.
42722         (getnow): Delete, not needed.
42723         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42724         LIB_CLOCK_GETTIME.
42725         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42726         clock-time, gettime.
42727         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42728         bug.
42729         * modules/nanosleep-tests: New test.
42730         * tests/test-nanosleep.c: New file.
42731
42732         sleep: work around cygwin bug
42733         * lib/sleep.c (rpl_sleep): Work around the bug.
42734         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42735         (gl_PREREQ_SLEEP): Delete unused macro.
42736         * modules/sleep (Depends-on): Add verify.
42737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42738         * modules/unistd (Makefile.am): Substitute witness.
42739         * lib/unistd.in.h (sleep): Update prototype.
42740         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42741         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42742         * modules/sleep-tests (Depends-on): Check for alarm.
42743
42744 2009-11-20  Jim Meyering  <meyering@redhat.com>
42745
42746         maint.mk: improve sc_prohibit_magic_number_exit
42747         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42748         so it does not match uses like System.exit(1).
42749         Add comments showing how to correct all offenders.
42750
42751 2009-11-19  Eric Blake  <ebb9@byu.net>
42752
42753         xalloc-die-tests: add missing library
42754         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42755
42756         test-xvasprintf: silence compiler warnings
42757         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42758         empty string from gcc.
42759
42760 2009-11-19  Jim Meyering  <meyering@redhat.com>
42761
42762         xfreopen: new module, from coreutils
42763         * modules/xfreopen: New module.
42764         * lib/xfreopen.c: New file.
42765         * lib/xfreopen.h: New file.
42766         * MODULES.html.sh (File stream based Input/Output"): Add it.
42767
42768 2009-11-19  Eric Blake  <ebb9@byu.net>
42769
42770         manywarnings: depend on warnings
42771         * modules/manywarnings (Depends-on): Add warnings.
42772
42773         build: avoid compiler warnings
42774         * lib/select.c (rpl_select): Delete unused variable.
42775         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42776
42777 2009-11-18  Eric Blake  <ebb9@byu.net>
42778
42779         tests: avoid false negative with --with-packager
42780         * tests/test-version-etc.sh: Discard packager information.
42781         * tests/test-argp-version-etc-1.sh: Likewise.
42782         Reported by Mike Frysinger.
42783
42784         utimens: fix regression on Solaris
42785         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42786         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42787         can only change fd timestamps via futimesat.  Instead, use an
42788         additional witness macro to avoid BSD bug.
42789         Reported by Jim Meyering.
42790
42791 2009-11-17  Eric Blake  <ebb9@byu.net>
42792
42793         usleep: use it to simplify tests
42794         * modules/stat-time-tests (Depends-on): Add usleep.
42795         (configure.ac): Drop usleep check.
42796         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42797         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42798         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42799         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42800         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42801         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42802         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42803         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42804         Likewise.
42805         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42806         * tests/test-lchown.h (nap): Likewise.
42807         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42808         * tests/test-stat-time.c (nap): Likewise.
42809         * tests/test-utimens-common.h (nap): Update comments.
42810
42811         usleep: new module
42812         * modules/usleep: New file.
42813         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42814         * lib/usleep.c (usleep): Likewise.
42815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42816         * modules/unistd (Makefile.am): Substitute witnesses.
42817         * lib/unistd.in.h (usleep): Add declaration.
42818         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42819         * MODULES.html.sh (Date and time): Likewise.
42820         * modules/usleep-tests (Depends-on): New test.
42821         * tests/test-usleep.c: New file.
42822
42823         chown: work around OpenBSD bug
42824         * lib/chown.c (rpl_chown): Work around the bug.
42825         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42826         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42827         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42828         * modules/chown (Depends-on): Add stdbool.
42829         * modules/lchown (Depends-on): Likewise.
42830         * doc/posix-functions/chown.texi (chown): Document the bug.
42831         * doc/posix-functions/lchown.texi (lchown): Likewise.
42832         * tests/test-lchown.h (test_chown): Relax test.
42833
42834         mkstemp: avoid conflict with C++ keyword template
42835         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42836         * lib/mkostemp.c (mkostemp): Likewise.
42837         * lib/mkostemps.c (mkostemps): Likewise.
42838         * lib/mkstemp.c (mkstemp): Likewise.
42839         * lib/mkstemps.c (mkstemps): Likewise.
42840
42841         xalloc-die-tests: optimize
42842         * tests/test-xalloc-die.sh: Reduce number of processes.
42843
42844 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42845
42846         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42847         patch from ludo@gnu.org (Ludovic Courtès).
42848
42849 2009-11-17  Jim Meyering  <meyering@redhat.com>
42850
42851         version-etc: use proper license string
42852         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42853         * modules/version-etc-fsf: Likewise.
42854
42855 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42856
42857         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42858         printed to stdout.  Deal with EOL differences.
42859
42860 2009-11-17  Eric Blake  <ebb9@byu.net>
42861
42862         unsetenv: work around Solaris bug
42863         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42864         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42865         Reported by Jim Meyering.
42866
42867         vasnprintf: avoid compiler warnings
42868         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42869         variables.
42870         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42871
42872 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42873
42874         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42875         settings since xalloc-die is no longer the self test,
42876         xalloc-die.sh is.
42877
42878 2009-11-17  Jim Meyering  <meyering@redhat.com>
42879
42880         test-xalloc-die.sh: make the code agree with the commit log
42881         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42882         at the end, just in case you happen to have a test-xalloc-die
42883         program in some other PATH directory.
42884
42885         test-xalloc-die.sh: fix a portability bug
42886         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42887         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42888         Otherwise, argv[0] (as often seen in diagnostics) would be too
42889         system-dependent, sometimes with, and sometimes without the leading "./".
42890
42891         version-etc-fsf: relax license to LGPLv3+
42892         * modules/version-etc-fsf (License): Relax license.
42893
42894 2009-11-16  Eric Blake  <ebb9@byu.net>
42895
42896         xalloc-die-tests: avoid printing null pointer
42897         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42898         shell script.
42899         * tests/test-xalloc-die.c (program_name): Declare.
42900         * tests/test-xalloc-die.sh (tmpfiles): New file.
42901
42902         setenv, unsetenv: work around various bugs
42903         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42904         (setenv) [HAVE_SETENV]: Work around bugs.
42905         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42906         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42907         for bugs.
42908         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42909         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42910         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42911         * modules/stdlib (Makefile.am): Update substitutions.
42912         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42913         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42914         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42915         * modules/setenv-tests: New test.
42916         * modules/unsetenv-tests: Likewise.
42917         * tests/test-setenv.c: New file.
42918         * tests/test-unsetenv.c: Likewise.
42919
42920 2009-11-16  Jim Meyering  <meyering@redhat.com>
42921
42922         version-etc: relax license to LGPLv3+
42923         * modules/version-etc (License): Relax license.
42924
42925         better AC_REQUIRE expanded-before-required-warning avoidance
42926         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42927         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42928         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42929         which is no longer needed.
42930
42931 2009-11-16  Eric Blake  <ebb9@byu.net>
42932
42933         test-freading: clean up temporary file
42934         * tests/test-freading.c (main): Remove file on success, and use
42935         ASSERT more liberally.
42936         Reported by Jim Meyering.
42937
42938 2009-11-16  Jim Meyering  <meyering@redhat.com>
42939
42940         avoid new AC_REQUIRE expanded-before-required warnings
42941         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42942         merely using it.
42943         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42944         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42945
42946 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42947
42948         * tests/test-xalloc-die.c: New file.
42949         * modules/xalloc-die-tests: New file.
42950         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42951         XFAIL_TESTS so it can be appended by modules.
42952
42953 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42954
42955         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42956         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42957
42958 2009-11-14  Eric Blake  <ebb9@byu.net>
42959
42960         fnmatch: avoid compiler warning
42961         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42962         to silence compiler warning about mismatch signedness in ?:.
42963         Reported by Robert Millan.
42964
42965         intprops: add double-inclusion guard
42966         * lib/intprops.h: Allow idempotent includes.
42967         Suggested by Bruce Korb.
42968
42969         openat: detect Solaris fchownat bug
42970         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42971         penalizing glibc chownat when only lchownat is broken.
42972         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42973         trailing slash bugs.
42974         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42975         * modules/openat-tests (Files): Include more files.
42976         (Depends-on): Add mgetgroups, sleep, stat-time.
42977         (configure.ac): Add additional checks.
42978         (Makefile.am): Build new test.
42979         * tests/test-fchownat.c: New file.
42980
42981         lchown: detect Solaris and FreeBSD bug
42982         * lib/lchown.c (rpl_lchown): Work around bug.
42983         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42985         * modules/unistd (Makefile.am): Populate it.
42986         * lib/unistd.in.h (lchown): Update declaration.
42987         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42988         * modules/lchown-tests: New file.
42989         * tests/test-lchown.h (test_lchown): Likewise.
42990         * tests/test-lchown.c (main): Likewise.
42991
42992         chown: detect Solaris and FreeBSD bug
42993         * lib/chown.c (rpl_chown): Work around bug.
42994         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42995         (gl_PREREQ_CHOWN): Delete.
42996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42997         * modules/unistd (Makefile.am): Populate it.
42998         * lib/unistd.in.h (chown): Update declaration.
42999         * lib/lchown.c (chown): Update client.
43000         * modules/lchown (Depends-on): Add lstat.
43001         * doc/posix-functions/chown.texi (chown): Document the bug.
43002         * doc/posix-functions/getgroups.texi (getgroups): Document
43003         getgroups pitfall.
43004         * modules/chown-tests: New file.
43005         * tests/test-chown.h (test_chown): Likewise.
43006         * tests/test-chown.c (main): Likewise.
43007
43008 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43009
43010         gnulib-tool: correctly detect absence of m4 directories
43011         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43012
43013 2009-11-14  Jim Meyering  <meyering@redhat.com>
43014
43015         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43016         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43017
43018 2009-11-14  John W. Eaton  <jwe@gnu.org>
43019
43020         strftime.h: wrap function declaration in extern "C" block
43021         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43022
43023 2009-11-13  Eric Blake  <ebb9@byu.net>
43024
43025         getgroups: avoid compiler warning
43026         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43027
43028         getgroups: work around FreeBSD bug
43029         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43030         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43031         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43032         * tests/test-getgroups.c (main): Fix buffer overrun.
43033
43034         getgroups: avoid compilation failure
43035         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43036         * modules/getgroups (Depends-on): Add stdint.
43037
43038 2009-11-13  Jim Meyering  <meyering@redhat.com>
43039
43040         test-getgroups: avoid compilation failure
43041         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43042
43043 2009-11-13  Eric Blake  <ebb9@byu.net>
43044
43045         mgetgroups: new module, taken from coreutils
43046         * modules/mgetgroups: New file.
43047         * lib/mgetgroups.h: Likewise.
43048         * lib/mgetgroups.c (mgetgroups): Likewise.
43049         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43050         * MODULES.html.sh (Users and groups): Mention it.
43051
43052         getgroups: don't expose GETGROUPS_T to user
43053         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43054         an element at a time if GETGROUPS_T is wrong size.
43055         * lib/getugroups.h (getugroups): Change signature.
43056         * lib/unistd.in.h (getgroups): Likewise.
43057         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43058         signature needs fixing.
43059         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43060         AC_TYPE_GETGROUPS.
43061         * modules/group-member (Depends-on): Add getgroups.
43062         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43063         (group_member): Rely on getgroups replacement.
43064         * lib/getugroups.c (getugroups): Use gid_t.
43065         * tests/test-getgroups.c (main): Likewise.
43066         * NEWS: Mention the signature change.
43067         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43068         problem with signature.
43069         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43070         GETGROUPS_T is still useful for setgroups.
43071
43072         getgroups, getugroups: provide stubs for mingw
43073         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43074         * lib/getugroups.c (getugroups): Likewise.
43075         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43076         function.  Modernize replacement scheme.
43077         (gl_PREREQ_GETGROUPS): Delete.
43078         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
43079         * modules/getgroups (configure.ac): Declare witness.
43080         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43081         * modules/unistd (Depends-on): Substitute witness.
43082         * lib/unistd.in.h (getgroups): Declare replacement.
43083
43084         getgroups: avoid calling exit
43085         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43086         drop xalloc.
43087         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43088         dependencies.
43089         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43090         exiting, in the rare case of malloc failure.
43091
43092         getgroups: fix logic error
43093         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43094         has more than 20 groups.
43095         * modules/getgroups-tests: New test.
43096         * tests/test-getgroups.c: New file.
43097
43098 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43099
43100         * tests/test-base64.c: Improve.
43101
43102 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43103
43104         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43105         Blake <ebb9@byu.net>.
43106
43107 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43108
43109         * tests/test-xvasprintf.c: Add %s%s related checks.
43110
43111 2009-11-12  Eric Blake  <ebb9@byu.net>
43112
43113         version-etc: match standards.texi style
43114         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43115         and use <> only for URLs.
43116
43117 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43118
43119         fts: do not fail on a submount during traversal
43120         * lib/fts.c (fts_build): Read the stat info again after opening
43121         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43122         Original report at http://bugzilla.redhat.com/501848.
43123
43124 2009-11-12  Jim Meyering  <meyering@redhat.com>
43125
43126         bootstrap: sync from coreutils
43127         * build-aux/bootstrap (bootstrap_epilogue): New function.
43128         Use git_modules_config in one more place.  This make bootstrap's
43129         --gnulib-srcdir option more useful for testing.
43130
43131         bootstrap: generalize autoheader check
43132         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43133         AC_CONFIG_HEADERS.
43134
43135 2009-11-11  Eric Blake  <ebb9@byu.net>
43136
43137         mkfifoat: use new modules for Solaris and BSD bugs
43138         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43139         * lib/mkfifoat.c (mknodat): Split...
43140         * lib/mknodat.c (mknodat): ...into new file.
43141         * modules/mkfifoat (Files): Ship new file.
43142         (Depends-on): Add mkfifo, mknod.
43143         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43144         (Depends-on): Add symlink.
43145         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43146         redundant with test_mkfifo.h.
43147         (do_mkfifoat, do_mknodat): New helpers.
43148
43149         mknod: new module
43150         * modules/mknod: New file.
43151         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43152         * lib/mknod.c (mknod): Likewise.
43153         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43154         defaults.
43155         * modules/sys_stat (Makefile.am): Substitute them.
43156         * lib/sys_stat.in.h (mknod): Declare replacement.
43157         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43158         Document it.
43159         * doc/posix-functions/mknod.texi (mknod): Likewise.
43160         * modules/mknod-tests: New test.
43161         * tests/test-mknod.c: Likewise.
43162
43163         mkfifo: new module
43164         * modules/mkfifo: New file.
43165         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43166         * lib/mkfifo.c (mkfifo): Likewise.
43167         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43168         defaults.
43169         * modules/sys_stat (Makefile.am): Substitute them.
43170         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43171         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43172         Document it.
43173         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43174         * modules/mkfifo-tests: New test.
43175         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43176         from test-mkfifoat.c.
43177         * tests/test-mkfifo.c: New file.
43178
43179         readlink: detect FreeBSD bug
43180         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43181         slash on symlink.
43182         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43183         * tests/test-readlink.h (test_readlink): Enhance test.
43184
43185         symlink: detect FreeBSD bug
43186         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43187         slash on symlink.
43188         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43189         * tests/test-symlink.h (test_symlink): Enhance test.
43190
43191 2009-11-10  Eric Blake  <ebb9@byu.net>
43192
43193         link: detect FreeBSD bug
43194         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43195         symlink.
43196         * doc/posix-functions/link.texi (link): Document the bug.
43197         * tests/test-link.h (test_link): Enhance test.
43198         * tests/test-linkat.c (main): Update caller.
43199
43200         unlink, remove: detect FreeBSD bug
43201         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43202         slash on symlink.
43203         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43204         * doc/posix-functions/remove.texi (remove): Likewise.
43205         * tests/test-unlink.h (test_unlink): Enhance test.
43206         * tests/test-remove.c (main): Likewise.
43207
43208 2009-11-09  Eric Blake  <ebb9@byu.net>
43209
43210         rename: detect FreeBSD bug
43211         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43212         slash on symlink.
43213         * modules/renameat-tests (Depends-on): Add filenamecat.
43214         * tests/test-rename.h (test_rename): Allow one more errno.
43215         * tests/test-renameat.c (main): Likewise.
43216         * doc/posix-functions/rename.texi (rename): Document the bug.
43217
43218         open: detect FreeBSD bug
43219         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43220         symlink.
43221         * doc/posix-functions/open.texi (open): Document the bug.
43222         * doc/posix-functions/utimes.texi (utimes): Likewise.
43223         * tests/test-open.h (test_open): Add parameters, and test symlink
43224         handling.
43225         * tests/test-open.c (main): Adjust caller.
43226         * tests/test-fcntl-safer.c (main): Likewise.
43227         * modules/open-tests (Depends-on): Add stdbool, symlink.
43228         * modules/fcntl-safer-tests (Depends-on): Likewise.
43229         * tests/test-openat.c (main): Add test-open tests.
43230
43231         stat: detect FreeBSD bug
43232         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43233         symlink.
43234         * doc/posix-functions/stat.texi (stat): Document the bug.
43235         * tests/test-stat.h (test_stat_func): Add argument.
43236         * tests/test-stat.c (main): Adjust caller.
43237         * tests/test-fstatat.c (main): Likewise.
43238         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43239         Reported by Jim Meyering.
43240
43241 2009-11-09  James Youngman  <jay@gnu.org>
43242
43243         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43244         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43245
43246 2009-11-08  Jim Meyering  <meyering@redhat.com>
43247
43248         utimens: remove invalid futimesat call
43249         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43250         It used the file descriptor of the target file as the DIR_FD
43251         parameter and NULL as the file name.  That caused failure with
43252         errno == EFAULT on FreeBSD-8.0-rc2
43253
43254 2009-11-07  Eric Blake  <ebb9@byu.net>
43255
43256         fflush, freadseek: use fseeko, not fseek
43257         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43258         (clear_ungetc_buffer): Avoid potential problems on large files.
43259         * lib/freadseek.c (freadseek): Likewise.
43260         * modules/freadseek (Depends-on): Add fseeko.
43261         * modules/fseek (configure.ac): Set a witness.
43262         * tests/test-fflush.c (main): Use fseeko.
43263         * tests/test-fpurge.c (fseek): Disable link warning.
43264         * tests/test-freadable.c (fseek): Likewise.
43265         * tests/test-freading.c (fseek): Likewise.
43266         * tests/test-fseeko.c (fseek): Likewise.
43267         * tests/test-ftell.c (fseek): Likewise.
43268         * tests/test-ftello.c (fseek): Likewise.
43269         * tests/test-fwritable.c (fseek): Likewise.
43270         * tests/test-fwriting.c (fseek): Likewise.
43271
43272 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43273
43274         * modules/memchr (Depends-on): Drop getpagesize dependency.
43275
43276 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43277
43278         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43279         Reported by Ludovic Courtès.
43280         * build-aux/pmccabe2html: Improve example usage.
43281         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43282
43283 2009-11-06  Jim Meyering  <meyering@redhat.com>
43284
43285         do-release-commit-and-tag: New module.
43286         Automate the release-commit and tag process.
43287         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43288         * modules/do-release-commit-and-tag: New file.
43289         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43290
43291 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43292
43293         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43294         because test-select.c uses inet_pton.
43295
43296 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43297
43298         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43299         GETADDRINFO_LIB.  Bump serial number.
43300         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43301         Suggested by Eric Blake <ebb9@byu.net>.
43302
43303 2009-11-05  Eric Blake  <ebb9@byu.net>
43304
43305         strtod: detect darwin bug
43306         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43307         Reported by Leo Davis.
43308
43309         freopen-safer: new module
43310         * modules/freopen-safer: New module.
43311         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43312         * lib/freopen-safer.c (freopen_safer): New file.
43313         * lib/stdio-safer.h (freopen_safer): New declaration.
43314         * lib/stdio--.h (freopen): New override.
43315         * MODULES.html.sh (File stream based Input/Output): Mention it.
43316         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43317         freopen-safer module.
43318         * doc/posix-functions/stderr.texi (stderr): Likewise.
43319         * doc/posix-functions/stdin.texi (stdin): Likewise.
43320         * doc/posix-functions/stdout.texi (stdout): Likewise.
43321         * modules/freopen-safer-tests: New test.
43322         * tests/test-reopen-safer.c: New file.
43323
43324 2009-11-05  Jim Meyering  <meyering@redhat.com>
43325
43326         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43327         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43328
43329 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43330
43331         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43332
43333 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43334
43335         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43336
43337 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43338
43339         Fix link error.
43340         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43341         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43342
43343 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43344
43345         * tests/test-func.c: Also test value of __func__.
43346
43347 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43348
43349         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43350         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43351
43352 2009-11-05  Bruno Haible  <bruno@clisp.org>
43353
43354         Fix link error.
43355         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43356         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43357         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43358
43359 2009-11-05  Bruno Haible  <bruno@clisp.org>
43360
43361         Tests for module 'inet_pton'.
43362         * modules/inet_pton-tests: New file.
43363         * tests/test-inet_pton.c: New file.
43364
43365 2009-11-05  Bruno Haible  <bruno@clisp.org>
43366
43367         Tests for module 'inet_ntop'.
43368         * modules/inet_ntop-tests: New file.
43369         * tests/test-inet_ntop.c: New file.
43370
43371 2009-11-04  Eric Blake  <ebb9@byu.net>
43372
43373         stdlib-safer: wrap all mkstemp variants
43374         * modules/mkostemp (configure.ac): Set witness.
43375         * modules/mkostemps (configure.ac): Likewise.
43376         * modules/mkstemps (configure.ac): Likewise.
43377         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43378         (mkstemps_safer): Wrap more functions.
43379         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43380         wrapping.
43381         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43382         (mkstemps_safer): Implement the wrappers.
43383
43384         mkstemps, mkostemps: new modules
43385         * modules/mkostemps: New module.
43386         * modules/mkstemps: Likewise.
43387         * lib/mkostemps.c (mkostemps): New file.
43388         * lib/mkstemps.c (mkstemps): Likewise.
43389         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43390         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43392         * modules/stdlib (Makefile.am): Substitute them.
43393         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43394         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43395         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43396         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43397         * MODULES.html.sh (File system functions): Mention them.
43398
43399         tempname: resync from glibc
43400         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43401         same values for __GT_FILE as glibc.  Abort even when assertions
43402         are disabled.
43403         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43404         match its value otherwise.  Allow idempotent inclusion.
43405         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43406         * lib/mkostemp.c (mkostemp): Likewise.
43407         * lib/mkstemp.c (mkstemp): Likewise.
43408         * lib/tmpfile.c (tmpfile): Likewise.
43409         * NEWS: Document this.
43410
43411         utimens: fix use of futimens on older Linux
43412         * lib/utimens.c (fdutimens): Use updated, rather than original,
43413         timespec to avoid bug in older Linux kernel.
43414         Reported by Simon Josefsson.
43415
43416 2009-11-04  Bruno Haible  <bruno@clisp.org>
43417
43418         Make num_processors more flexible and consistent.
43419         * lib/nproc.h (enum nproc_query): New type.
43420         (num_processors): Add a 'query' argument.
43421         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43422         (num_processors): Add a 'query' argument. Test the value of the
43423         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43424         mingw, count the number of CPUs available for the current process.
43425         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43426         Check for sched_getaffinity and sched_getaffinity_np.
43427         * modules/nproc (Depends-on): Add c-ctype, extensions.
43428         * NEWS: Mention the change.
43429
43430 2009-11-03  Bruno Haible  <bruno@clisp.org>
43431
43432         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43433
43434 2009-11-03  Jim Meyering  <meyering@redhat.com>
43435
43436         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43437         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43438         if it is defined.
43439
43440 2009-11-02  Eric Blake  <ebb9@byu.net>
43441
43442         mktime, timegm: share common declaration
43443         * lib/mktime-internal.h: New file.
43444         * lib/mktime.c: Use it rather than open-coding a declaration.
43445         * lib/timegm.c: Likewise.
43446         * modules/mktime (Files): Ship it.
43447         * modules/timegm (Files): Likewise.
43448         Suggested by Bruno Haible.
43449
43450         test-update-copyright: update test to match script changes
43451         * tests/test-update-copyright.sh: Avoid hard-coding perl
43452         location.  Don't update *.bak created by earlier runs.
43453
43454 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43455             Simon Josefsson  <simon@josefsson.org>
43456             Bruno Haible  <bruno@clisp.org>
43457
43458         Fix link error on Solaris 8.
43459         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43460         also in libnsl. Define also INET_PTON_LIB.
43461         * modules/inet_pton (Link): New section.
43462
43463 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43464             Bruno Haible  <bruno@clisp.org>
43465
43466         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43467         * modules/inet_ntop (Link): New section.
43468         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43469
43470 2009-11-02  Eric Blake  <ebb9@byu.net>
43471
43472         maint: avoid compiler warnings in m4 macros
43473         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43474         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43475
43476 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43477
43478         * m4/pmccabe2html.m4: Remove file.
43479         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43480         function.  Change maintainer.
43481         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43482         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43483         Courtès).
43484
43485 2009-10-31  Eric Blake  <ebb9@byu.net>
43486
43487         fseeko: fix m4 regression
43488         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43489         regression from 2009-10-27.
43490         Reported by Ralf Wildenhues.
43491
43492 2009-10-31  Jim Meyering  <meyering@redhat.com>
43493
43494         inttostr: aesthetics and improved (compile-time) safety
43495         Define inttype_is_signed rather than inttype_is_unsigned,
43496         since the sole use is via "#if inttype_is_signed".
43497         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43498         inttype_is_unsigned.
43499         * lib/offtostr.c (inttype_is_signed): Likewise.
43500         * lib/uinttostr.c (inttype_is_signed): Likewise.
43501         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43502         * lib/inttostr.c (inttostr): Use verify to cross-check the
43503         inttype_is_signed value and the signedness of the actual type.
43504         * modules/inttostr (Depends-on): Add verify.
43505
43506 2009-10-30  Eric Blake  <ebb9@byu.net>
43507
43508         build: avoid compiler warnings
43509         * lib/fchmodat.c (lchmod): Mark unused variables.
43510         * lib/getopt.c (_getopt_initialize): Likewise.
43511         * lib/mktime.c (__mktime_internal): Provide prototype.
43512         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43513         older gcc that do not understand #pragma GCC diagnostic.
43514         * lib/uinttostr.c (inttype_is_unsigned): Define.
43515         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43516
43517 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43518
43519         stat: fix compilation on AIX
43520         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43521         only see struct stat64.
43522
43523 2009-10-30  Eric Blake  <ebb9@byu.net>
43524
43525         exclude: make more robust
43526         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43527         rather than masking a coding bug.
43528         Suggested by Bruno Haible.
43529
43530 2009-10-30  Jim Meyering  <meyering@redhat.com>
43531
43532         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43533         Rather than putting #!/usr/bin/perl on the first line,
43534         start with a variant of what's recommended by "man perlrun" that
43535         invokes the first "perl" program from your shell's search path.
43536         * build-aux/gitlog-to-changelog: Replace #!... as above.
43537         Add a "Local Variables" perl mode setting.
43538         Prompted by a patch from Ludovic Courtès.
43539         Improved by Eric Blake.
43540         * build-aux/useless-if-before-free: Likewise.
43541         * build-aux/announce-gen: Likewise.
43542         * build-aux/update-copyright: Likewise.
43543
43544 2009-10-29  Eric Blake  <ebb9@byu.net>
43545
43546         filenamecat-lgpl: adjust clients
43547         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43548         filenamecat.
43549         * modules/renameat (Depends-on): Likewise.
43550
43551         filenamecat: split into filenamecat-lgpl
43552         * modules/filenamecat-lgpl: New module.
43553         * modules/filenamecat (Files): Move library-safe files into
43554         filenamecat-lgpl.
43555         (Depends-on): Add filenamecat-lgpl.
43556         (configure.ac): Declare witness.
43557         * lib/filenamecat.h (file_name_concat): Only declare when using
43558         GPL module.
43559         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43560         Move...
43561         * lib/filenamecat-lgpl.c: ...into new file.
43562         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43563         (gl_FILE_NAME_CONCAT): Use it.
43564         * MODULES.html.sh (File system functions): Mention new module.
43565
43566         argp: avoid memory leak
43567         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43568         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43569         base_name, since the latter malloc()s and can call exit().
43570         Leak introduced 2006-07-03.
43571
43572         dirname-lgpl: adjust clients that don't need full dirname
43573         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43574         * modules/filenamecat (Depends-on): Likewise.
43575         * modules/linkat (Depends-on): Likewise.
43576         * modules/mkancesdirs (Depends-on): Likewise.
43577         * modules/mkdir (Depends-on): Likewise.
43578         * modules/openat (Depends-on): Likewise.
43579         * modules/savewd (Depends-on): Likewise.
43580         * modules/rename (Depends-on): Likewise.
43581         (License): Relax license.
43582         * modules/mkdir-tests (Depends-on): Drop progname.
43583         (Makefile.am): Delete unneeded LDADD.
43584         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43585
43586         dirname: split into dirname-lgpl
43587         * modules/dirname-lgpl: New module.
43588         * modules/dirname (Files): Move library-safe files into
43589         dirname-lgpl.
43590         (Depends-on): Add dirname-lgpl.
43591         (configure.ac): Declare witness.
43592         * modules/double-slash-root (License): Relax license.
43593         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43594         module.
43595         * lib/dirname.c (dir_len, mdir_name): Move...
43596         * lib/dirname-lgpl.c: ...into new file.
43597         * lib/basename.c (last_component, base_len): Move...
43598         * lib/basename-lgpl.c: ...into new file.
43599         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43600         (gl_DIRNAME): Use it.
43601         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43602         Mention new module.
43603         * modules/dirname-tests (Depends-on): Add progname.
43604         * tests/test-dirname.c (program_name): Delete.
43605
43606         mkdir: make safe for libraries
43607         * modules/mkdir (Depends-on): Drop xalloc.
43608         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43609         exit.
43610
43611         tests: avoid some compiler warnings
43612         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43613         literals.
43614         * tests/test-memchr.c (main): Avoid type mismatch.
43615         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43616         * tests/test-base64.c (main): Likewise.
43617         * tests/test-getdelim.c (main): Likewise.
43618         * tests/test-gethostname.c (main): Likewise.
43619         * tests/test-getline.c (main): Likewise.
43620         * tests/test-netinet_in.c (main): Likewise.
43621         * tests/test-select.c (open_server_socket, main): Likewise.
43622         * tests/test-select-stdin.c (main): Likewise.
43623         * tests/test-sockets.c (main): Likewise.
43624         * tests/test-strsignal.c (main): Likewise.
43625         * tests/test-sys_select.c (main): Likewise.
43626         * tests/test-sys_socket.c (main): Likewise.
43627         * tests/test-u64.c (main): Likewise.
43628         * tests/test-xfprintf-posix.c (main): Likewise.
43629         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43630
43631         sockets: avoid compiler warning
43632         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43633
43634         maint: detect usage(1) and other suspicious exits
43635         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43636
43637 2009-10-29  Jim Meyering  <meyering@redhat.com>
43638
43639         timespec: long-to-int truncation could make timespec_cmp malfunction
43640         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43641         a multiple of 2^32 nanoseconds as no difference.
43642
43643 2009-10-28  Jim Meyering  <meyering@redhat.com>
43644
43645         fprintftime: wrap macro code argument in "do {...} while(0)"
43646         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43647         cpy macro must be a statement that can be followed by a semicolon.
43648         Now that the else clause contains a comment and is hence longer
43649         than one line, I require curly braces.  That in turn requires
43650         that we wrap this code block in the standard do...while(0).
43651
43652         fprintftime: remove stray semicolon from previous change
43653         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43654
43655         fprintftime: avoid a warning about ignored fwrite return value
43656         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43657         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43658         that is unsafe.
43659         * modules/fprintftime (Depends-on): Add ignore-value.
43660
43661         exclude: avoid an unwarranted warning
43662         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43663
43664 2009-10-27  Eric Blake  <ebb9@byu.net>
43665
43666         fseek: avoid compilation failure when fflush is replaced
43667         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43668         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43669         module is in use.
43670         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43671         module is not in use; since REPLACE_FSEEK worked otherwise.
43672         (GNULIB_FTELLO): Likewise for ftell.
43673         Reported by Ian Beckwith and others.
43674
43675 2009-10-27  Bruno Haible  <bruno@clisp.org>
43676
43677         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43678         Reported by Jim Meyering.
43679
43680 2009-10-27  Jim Meyering  <jim@meyering.net>
43681             Bruno Haible  <bruno@clisp.org>
43682
43683         Avoid warning despite dropping the return value of fwrite.
43684         * lib/unicodeio.c: Include ignore-value.h.
43685         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43686         * modules/unicodeio (Depends-on): Add ignore-value.
43687
43688 2009-10-26  Eric Blake  <ebb9@byu.net>
43689
43690         areadlinkat: fix fallback path
43691         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43692         pointer and zero.
43693
43694 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43695
43696         Use a better IO block size for modern systems
43697         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43698         * lib/md2.c: Likewise.
43699         * lib/md4.c: Likewise.
43700         * lib/md5.c: Likewise.
43701         * lib/sha1.c: Likewise.
43702         * lib/sha256.c: Likewise.
43703         * lib/sha512.c: Likewise.
43704
43705 2009-10-22  Eric Blake  <ebb9@byu.net>
43706
43707         tests: avoid several compiler warnings
43708         * tests/test-getcwd.c (main): Avoid buffer underflow.
43709         * tests/test-getdate.c (main): String literals are not safe with
43710         putenv, so use setenv.  Declare unused argument.
43711         * modules/getdate-tests (Depends-on): Add setenv.
43712         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43713         problems with string literals in char *.
43714         * tests/test-hash.c (main): Avoid shadowing declaration.
43715         (insert_new): Treat string literals as char const *.
43716         * tests/test-getopt.h (test_getopt): Likewise.
43717         (getopt_loop): Alter types to minimize casting elsewhere.
43718         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43719         (test_getopt_long_posix): Likewise.
43720         (do_getopt_long): Add wrapper to minimize casting.
43721         * tests/test-atexit.c (clear_temp_file): Use void.
43722         * tests/test-areadlink-with-size.c (main): Declare unused
43723         arguments.
43724         * tests/test-areadlink.c (main): Likewise.
43725         * tests/test-areadlinkat-with-size.c (main): Likewise.
43726         * tests/test-areadlinkat.c (main): Likewise.
43727         * tests/test-canonicalize-lgpl.c (main): Likewise.
43728         * tests/test-canonicalize.c (main): Likewise.
43729         * tests/test-dirent-safer.c (main): Likewise.
43730         * tests/test-dirname.c (main): Likewise.
43731         * tests/test-dup2.c (main): Likewise.
43732         * tests/test-fchdir.c (main): Likewise.
43733         * tests/test-fcntl-h.c (main): Likewise.
43734         * tests/test-fcntl-safer.c (main): Likewise.
43735         * tests/test-fdopendir.c (main): Likewise.
43736         * tests/test-fdutimensat.c (main): Likewise.
43737         * tests/test-fflush.c (main): Likewise.
43738         * tests/test-filenamecat.c (main): Likewise.
43739         * tests/test-filevercmp.c (main): Likewise.
43740         * tests/test-fopen-safer.c (main): Likewise.
43741         * tests/test-fopen.c (main): Likewise.
43742         * tests/test-fpending.c (main): Likewise.
43743         * tests/test-fpurge.c (main): Likewise.
43744         * tests/test-freading.c (main): Likewise.
43745         * tests/test-fstatat.c (main): Likewise.
43746         * tests/test-fsync.c (main): Likewise.
43747         * tests/test-futimens.c (main): Likewise.
43748         * tests/test-getndelim2.c (main): Likewise.
43749         * tests/test-gettimeofday.c (main): Likewise.
43750         * tests/test-getopt.c (main): Likewise.
43751         * tests/test-i-ring.c (main): Likewise.
43752         * tests/test-inttypes.c (main): Likewise.
43753         * tests/test-link.c (main): Likewise.
43754         * tests/test-lstat.c (main): Likewise.
43755         * tests/test-math.c (main): Likewise.
43756         * tests/test-md5.c (main): Likewise.
43757         * tests/test-memchr2.c (main): Likewise.
43758         * tests/test-memrchr.c (main): Likewise.
43759         * tests/test-mkdir.c (main): Likewise.
43760         * tests/test-mkdirat.c (main): Likewise.
43761         * tests/test-mkfifoat.c (main): Likewise.
43762         * tests/test-open.c (main): Likewise.
43763         * tests/test-openat-safer.c (main): Likewise.
43764         * tests/test-openat.c (main): Likewise.
43765         * tests/test-quotearg.c (main): Likewise.
43766         * tests/test-rawmemchr.c (main): Likewise.
43767         * tests/test-readlink.c (main): Likewise.
43768         * tests/test-remove.c (main): Likewise.
43769         * tests/test-rename.c (main): Likewise.
43770         * tests/test-renameat.c (main): Likewise.
43771         * tests/test-rmdir.c (main): Likewise.
43772         * tests/test-sha1.c (main): Likewise.
43773         * tests/test-signal.c (main): Likewise.
43774         * tests/test-sigaction.c (main): Likewise.
43775         * tests/test-stat.c (main): Likewise.
43776         * tests/test-stat-time.c (main): Likewise.
43777         * tests/test-stddef.c (main): Likewise.
43778         * tests/test-stdint.c (main): Likewise.
43779         * tests/test-stdio.c (main): Likewise.
43780         * tests/test-stdlib.c (main): Likewise.
43781         * tests/test-strchrnul.c (main): Likewise.
43782         * tests/test-strerror.c (main): Likewise.
43783         * tests/test-string.c (main): Likewise.
43784         * tests/test-strtod.c (main): Likewise.
43785         * tests/test-strverscmp.c (main): Likewise.
43786         * tests/test-symlink.c (main): Likewise.
43787         * tests/test-symlinkat.c (main): Likewise.
43788         * tests/test-sys_stat.c (main): Likewise.
43789         * tests/test-sys_time.c (main): Likewise.
43790         * tests/test-time.c (main): Likewise.
43791         * tests/test-unistd.c (main): Likewise.
43792         * tests/test-unlink.c (main): Likewise.
43793         * tests/test-unlinkat.c (main): Likewise.
43794         * tests/test-utimens.c (main): Likewise.
43795         * tests/test-utimensat.c (main): Likewise.
43796         * tests/test-version-etc.c (main): Likewise.
43797         * tests/test-wchar.c (main): Likewise.
43798         * tests/test-wctype.c (main): Likewise.
43799         * tests/test-xprintf-posix.c (main): Likewise.
43800         * tests/test-posixtm.c (main): Likewise.
43801         (STREQ): Delete unused macro.
43802         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43803         shadowed variables.
43804         * tests/test-memchr.c (main): Likewise.
43805
43806 2009-10-21  Eric Blake  <ebb9@byu.net>
43807
43808         areadlinkat: avoid failure on older glibc
43809         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43810         rather than mis-comparing 0 against FUNC_RESULT of char*.
43811
43812 2009-10-21  Bruno Haible  <bruno@clisp.org>
43813
43814         * modules/stpncpy (License): Relicense under LGPLv2+.
43815         Reported by David Lutterkort <lutter@redhat.com>.
43816
43817 2009-10-20  Eric Blake  <ebb9@byu.net>
43818
43819         utimensat: work around Solaris 9 bug
43820         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43821         has trailing slash bugs.
43822         * tests/test-lutimens.h (test_lutimens): Enhance test.
43823         * tests/test-utimens.h (test_utimens): Likewise.
43824         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43825         * doc/posix-functions/utimes.texi (utimes): Likewise.
43826         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43827         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43828         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43829         * doc/posix-functions/futimens.texi (futimens): Likewise.
43830
43831         fdutimensat: new module
43832         * modules/fdutimensat: New file.
43833         * lib/fdutimensat.c (fdutimensat): Likewise.
43834         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43835         * MODULES.html.sh (File system functions): Mention module.
43836         * modules/fdutimensat-tests: New test.
43837         * tests/test-fdutimensat.c: Likewise.
43838
43839         doc: regenerate INSTALL
43840         * doc/INSTALL: Reflect recent autoconf update.
43841         * doc/INSTALL.ISO: Likewise.
43842         * doc/INSTALL.UTF-8: Likewise.
43843
43844 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43845
43846         acl: warn if ACL support is not detected
43847         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43848
43849 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43850
43851         * lib/nproc.h: Add extern "C" block for C++.
43852
43853 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43854             Bruno Haible  <bruno@clisp.org>
43855
43856         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43857         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43858         * doc/posix-functions/isalpha.texi: Likewise.
43859         * doc/posix-functions/isblank.texi: Likewise.
43860         * doc/posix-functions/iscntrl.texi: Likewise.
43861         * doc/posix-functions/isdigit.texi: Likewise.
43862         * doc/posix-functions/isgraph.texi: Likewise.
43863         * doc/posix-functions/islower.texi: Likewise.
43864         * doc/posix-functions/isprint.texi: Likewise.
43865         * doc/posix-functions/ispunct.texi: Likewise.
43866         * doc/posix-functions/isspace.texi: Likewise.
43867         * doc/posix-functions/isupper.texi: Likewise.
43868         * doc/posix-functions/isxdigit.texi: Likewise.
43869
43870 2009-10-18  Bruno Haible  <bruno@clisp.org>
43871
43872         Tests for module 'isblank'.
43873         * modules/isblank-tests: New file.
43874         * tests/test-isblank.c: New file.
43875
43876         New module 'isblank'.
43877         * lib/isblank.c: New file.
43878         * m4/isblank.m4: New file.
43879         * modules/isblank: New file.
43880         * doc/posix-functions/isblank.texi: Mention the new module.
43881
43882 2009-10-18  Bruno Haible  <bruno@clisp.org>
43883
43884         New module 'ctype'.
43885         * lib/ctype.in.h: New file.
43886         * m4/ctype.m4: New file.
43887         * modules/ctype: New file.
43888         * doc/posix-headers/ctype.texi: Mention the new module.
43889
43890 2009-10-18  Jim Meyering  <meyering@redhat.com>
43891
43892         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43893         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43894         right after its initialization, rather than farther down.
43895         Keeping these in close proximity makes it easier to ensure
43896         that each such variable is initialized.  E.g.,
43897
43898             LIB_CLOCK_GETTIME=
43899             AC_SUBST([LIB_CLOCK_GETTIME])
43900
43901         This change also increments these serial numbers.
43902         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43903         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43904         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43905
43906 2009-10-18  Bruno Haible  <bruno@clisp.org>
43907
43908         Don't let environment variables perturb build.
43909         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43910         (gl_PREREQ_GETHRXTIME): ... not here.
43911
43912 2009-10-18  Bruno Haible  <bruno@clisp.org>
43913
43914         Avoid symlink attack in localcharset module.
43915         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43916         (O_NOFOLLOW): Define fallback.
43917         (get_charset_aliases): Don't open the file if it is a symbolic link.
43918         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43919         gl_FCNTL_H.
43920         (gl_FCNTL_H): Require it.
43921         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43922         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43923         Reported by Fergal Glynn <fglynn@veracode.com>.
43924
43925 2009-10-18  Bruno Haible  <bruno@clisp.org>
43926
43927         Implement nproc for mingw.
43928         * lib/nproc.c: Include <windows.h>
43929         (num_processors): On native Windows platforms, try GetSystemInfo.
43930
43931 2009-10-18  Bruno Haible  <bruno@clisp.org>
43932
43933         Implement nproc for IRIX.
43934         * lib/nproc.c: Include <sys/sysmp.h>.
43935         (num_processors): On IRIX systems, try sysmp.
43936         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43937
43938 2009-10-18  Bruno Haible  <bruno@clisp.org>
43939
43940         Implement nproc for HP-UX.
43941         * lib/nproc.c: Include <sys/pstat.h>
43942         (num_processors): On HP-UX systems, try pstat_getdynamic.
43943         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43944         pstat_getdynamic.
43945
43946 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43947             Bruno Haible  <bruno@clisp.org>
43948
43949         Implement nproc for NetBSD, OpenBSD.
43950         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43951         (ARRAY_SIZE): New macro.
43952         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43953         * m4/nproc.m4: New file.
43954         * modules/nproc (Files): Add m4/nproc.m4.
43955         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43956         (Makefile.am): Instead, augment lib_SOURCES.
43957
43958 2009-10-18  Bruno Haible  <bruno@clisp.org>
43959
43960         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43961         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43962         sys/param.h.
43963
43964 2009-10-16  Eric Blake  <ebb9@byu.net>
43965
43966         utimensat: new module
43967         * modules/utimensat: New file.
43968         * lib/utimensat.c (utimensat): Likewise.
43969         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43970         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43971         so we can work around Linux bugs.
43972         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43973         * modules/sys_stat (Makefile.am): Substitute them.
43974         * lib/sys_stat.in.h (utimensat): Declare it.
43975         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43976         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43977         * modules/utimensat-tests: New test.
43978         * tests/test-utimensat.c: Likewise.
43979
43980         utimens: let lutimens work on non-symlinks
43981         * lib/utimens.c (lutimens): Fall back to utimens rather than
43982         failing with ENOSYS, when file is not a symlink.
43983         (utimens): Reduce redirection.
43984         * tests/test-lutimens.h (test_lutimens): Update test to cover
43985         non-symlinks.
43986         * tests/test-utimens.h (test_utimens): Update test to cover
43987         symlinks.
43988         * tests/test-utimens.c (main): Update caller.
43989
43990         utimens: cache whether utimensat syscall works
43991         * lib/utimens.c (utimensat_works_really): New cache variable.
43992         (fdutimens, lutimens): Use it to avoid failing syscall.
43993
43994         test-stat-time, test-utimens: improve portability
43995         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43996         ext4 on alpha, and for cygwin.
43997         * tests/test-utimens-common.h: New file.
43998         (nap): Factor delays into single function.
43999         * tests/test-lutimens.h (test_lutimens): Use new header.
44000         * tests/test-futimens.h (test_futimens): Likewise.
44001         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44002         timestamps to occur from same machine, as was done previously for
44003         test_utimens.
44004         * modules/utimens-tests (Files): Ship new file.
44005         * modules/futimens-tests (Files): Likewise.
44006         Reported in part by Jim Meyering.
44007
44008         sys_stat: sort replacement declarations
44009         * lib/sys_stat.in.h: Sort declarations.
44010         * lib/futimens.c (futimens): Fix typo.
44011
44012 2009-10-15  Jim Meyering  <meyering@redhat.com>
44013
44014         don't let environment settings perturb build
44015         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44016         could cause a configure-time and/or build-time malfunction.
44017         Typically, a configure-time function-in-library test is performed
44018         via code like this:
44019
44020           LIB_VAR=
44021           AC_SUBST([LIB_VAR])
44022           prefix_saved_LIBS=$LIBS
44023             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44024                        [test "$ac_cv_search_FUNC" = "none required" ||
44025                         LIB_VAR=$ac_cv_search_FUNC])
44026           LIBS=$prefix_saved_LIBS
44027
44028         However, in each of the files affected by this change, the LIB_VAR=
44029         initialization was omitted.  Thus, when set in the environment, its
44030         value would propagate into generated Makefiles when FUNC is not found
44031         in LIB_NAME.
44032         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44033         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44034         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44035
44036 2009-10-14  Eric Blake  <ebb9@byu.net>
44037
44038         fchdir: avoid infinite recursion in mingw
44039         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44040         recursing.
44041
44042         test-stat-time: port to mingw
44043         * tests/test-stat-time.c (force_unlink): Return a value.
44044         (test_ctime) [W32]: Fix compilation error.
44045         (nap): Don't call usleep with too large an argument.  Use
44046         force_unlink.
44047         * doc/pastposix-functions/usleep.texi (usleep): Document the
44048         portability issue.
44049
44050 2009-10-13  Jim Meyering  <meyering@redhat.com>
44051
44052         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44053         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44054         * modules/pipe-filter-ii: Likewise.
44055         * modules/sys_socket-tests: Likewise.
44056         * modules/tsearch-tests: Likewise.
44057         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44058         (check): Depend on it.
44059
44060 2009-10-12  Eric Blake  <ebb9@byu.net>
44061
44062         utimens-tests: port to NFS file systems
44063         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44064         comparisons to avoid spurious failures from timestamp drift
44065         between NFS machines.
44066
44067 2009-10-12  Eric Blake  <ebb9@byu.net>
44068
44069         stat-time-tests: minor cleanups
44070         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44071         * tests/test-stat-time.c (nap): Separate assignment from call.
44072         Suggested by Paolo Bonzini and Bruno Haible.
44073
44074         sys_stat: guarantee struct timespec
44075         * lib/sys_stat.in.h (includes): Always include <time.h>
44076         * modules/sys_stat (Depends-on): Add time.
44077         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
44078         mode_t permission values.
44079         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
44080         get at subsecond timestamps.
44081
44082 2009-10-10  Eric Blake  <ebb9@byu.net>
44083
44084         futimens: new module
44085         * modules/futimens: New file.
44086         * lib/futimens.c (futimens): Likewise.
44087         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44088         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44089         we can work around Linux bugs.
44090         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44091         * modules/sys_stat (Makefile.am): Substitute them.
44092         * lib/sys_stat.in.h (futimens): Declare it.
44093         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44094         * doc/posix-functions/futimens.texi (futimens): Likewise.
44095         * modules/futimens-tests: New test.
44096         * tests/test-futimens.c: Likewise.
44097
44098         utimens: introduce fdutimens
44099         * lib/utimens.h (fdutimens): New prototype.
44100         * lib/utimens.c (gl_futimens): Move guts...
44101         (fdutimens): ...to new interface.
44102         * tests/test-utimens.c (do_fdutimens): Use it.
44103
44104         utimens: add UTIME_NOW and UTIME_OMIT support
44105         * lib/utimens.c (validate_timespec, update_timespec): New helper
44106         functions.
44107         (gl_futimens, lutimens): Use them.
44108         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44109         stdbool, sys_stat.
44110         (Link): Mention resulting library dependency.
44111         * modules/utimecmp (Link): Likewise.
44112         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44113         (Makefile.am): Pick up library dependency.
44114         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44115         definition.
44116         * tests/test-sys_stat.c: Test the definitions.
44117         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44118         * NEWS: Document library dependency.
44119
44120         utimecmp: support symlink timestamps
44121         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44122         hashing when possible.  Use pathconf when available.
44123         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44124         * modules/utimecmp (Depends-on): Add lstat.
44125
44126         utimens: add lutimens interface
44127         * lib/utimens.c (lutimens): New function.
44128         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44129         * lib/utimens.h (lutimens): Declare new interface.
44130         * tests/test-utimens.c (main): Enhance test.
44131         * tests/test-lutimens.h (test_lutimens): New file.
44132         * modules/utimens-tests (Files): Distribute it.
44133         (Depends-on): Add symlink.
44134         (configure.ac): Check for usleep.
44135
44136         utimens: validate futimens usage
44137         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44138         fewer syscalls on failure later on.  Avoid compiler warning on
44139         mingw.
44140         * modules/utimens (Depends-on): Add dup2.
44141
44142         utimens: add test
44143         * modules/utimens-tests: New test.
44144         * tests/test-utimens.h: New file.
44145         * tests/test-futimens.h: Likewise.
44146         * tests/test-utimens.c: Likewise.
44147
44148         doc: mention timestamp portability issues
44149         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44150         instead.
44151         * doc/posix-functions/utime.texi (utime): Likewise.
44152         * doc/posix-functions/utimes.texi (utimes): Likewise.
44153         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44154         instead.
44155         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44156         module.
44157         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44158         Mention weakness with symlink timestamps.
44159         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44160         to utimensat/futimens instead.
44161         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44162
44163         test-dup2: enhance test
44164         * tests/test-dup2.c (main): Also check AT_FDCWD.
44165
44166         test-stat-time: avoid more spurious failures
44167         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44168         xfs; and avoid race if the two timestamps cross quantization edge.
44169
44170         relocatable: prefer 'file system' over 'filesystem'
44171         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44172         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44173         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44174         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44175         * lib/relocatable.c (compute_curr_prefix): Likewise.
44176
44177 2009-10-10  Jim Meyering  <meyering@redhat.com>
44178
44179         stat-time-tests: check for the usleep function
44180         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44181
44182 2009-10-10  Bruno Haible  <bruno@clisp.org>
44183
44184         * modules/xnanosleep: Put the Link section after the Include section.
44185
44186 2009-10-09  Eric Blake  <ebb9@byu.net>
44187
44188         dup2: work around FreeBSD 6.1 bug
44189         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44190         * doc/posix-functions/dup2.texi (dup2): Document it.
44191         Reported by Nelson H. F. Beebe and Jim Meyering.
44192
44193         test-stat-time: port to buggy NFS clients
44194         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44195         (test_ctime): Also skip test if mtime and ctime are skewed.
44196
44197         maint: prefer 'file system' over 'filesystem'
44198         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44199         * doc/posix-functions/lstat.texi (lstat): Likewise.
44200         * lib/file-has-acl.c (file_has_acl): Likewise.
44201         * lib/fwriteerror.c [TEST]: Likewise.
44202         * tests/test-areadlink.h (test_areadlink): Likewise.
44203         * tests/test-areadlinkat-with-size.c (main): Likewise.
44204         * tests/test-areadlinkat.c (main): Likewise.
44205         * tests/test-canonicalize-lgpl.c (main): Likewise.
44206         * tests/test-canonicalize.c (main): Likewise.
44207         * tests/test-fstatat.c (main): Likewise.
44208         * tests/test-linkat.c (main): Likewise.
44209         * tests/test-lstat.h (test_lstat_func): Likewise.
44210         * tests/test-mkdir.h (test_mkdir): Likewise.
44211         * tests/test-readlink.h (test_readlink): Likewise.
44212         * tests/test-remove.c (main): Likewise.
44213         * tests/test-rename.h (test_rename): Likewise.
44214         * tests/test-renameat.c (main): Likewise.
44215         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44216         * tests/test-symlink.h (test_symlink): Likewise.
44217         * tests/test-symlinkat.c (main): Likewise.
44218         * tests/test-unlink.h (test_unlink_func): Likewise.
44219         * tests/test-unlinkat.c (main): Likewise.
44220
44221         maint: make realtime library usage explicit
44222         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44223         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44224         * modules/settime (Link): Likewise.
44225         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44226
44227         test-stat-time: speed up execution
44228         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44229         warning on mingw.
44230         (nap): New helper function.
44231         (prepare_test): Use it to reduce sleep time.
44232         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44233         execution.
44234         * modules/stat-time-tests (configure.ac): Check for usleep.
44235
44236 2009-10-09  Jim Meyering  <meyering@redhat.com>
44237
44238         selinux-h: always use getfilecon wrappers
44239         * lib/getfilecon.c: New file.
44240         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44241         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44242         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44243         (fgetfilecon): Provide a stub.
44244         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44245         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44246         file unconditionally.
44247         When <selinux/selinux.h> is found, arrange to use wrappers.
44248         * modules/selinux-h (Files): Add getfilecon.c.
44249         (Makefile.am): Substitute include-next-related bits
44250         into the now-always-generated selinux/selinux.h file.
44251         * doc/glibc-functions/lgetfilecon.texi: New file.
44252         * doc/glibc-functions/fgetfilecon.texi: New file.
44253         * doc/glibc-functions/getfilecon.texi: New file.
44254         * doc/glibc-functions/getfilecon-desc.texi: New file.
44255         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44256         which to pull in the new files.
44257         * MODULES.html.sh (Misc): Add selinux-h.
44258
44259 2009-10-08  Jim Meyering  <meyering@redhat.com>
44260
44261         unistd: fix comment typo
44262         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44263
44264 2009-10-08  Eric Blake  <ebb9@byu.net>
44265
44266         areadlink: use SIZE_MAX consistently
44267         * modules/areadlink (Depends-on): Add stdint.
44268         * modules/areadlink-with-size (Depends-on): Likewise.
44269         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44270         gives NULL; drop sys/types, since unistd gives size_t; and add
44271         stdint for SIZE_MAX.
44272         (SIZE_MAX): Rely on headers.
44273         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44274         and add stdint.
44275         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44276         (SIZE_MAX): Likewise.
44277         (INITIAL_BUF_SIZE): Turn into enum.
44278         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44279
44280 2009-10-08  Jim Meyering  <meyering@redhat.com>
44281
44282         areadlinkat: avoid compilation failure
44283         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44284         Fix typo in comment.
44285
44286 2009-10-07  Eric Blake  <ebb9@byu.net>
44287
44288         areadlinkat-with-size: new module
44289         * modules/areadlinkat-with-size: New module.
44290         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44291         * lib/areadlink.h (areadlinkat): Declare it.
44292         * MODULES.html.sh (File system functions): Mention it.
44293         * modules/areadlinkat-with-size-tests: New test.
44294         * tests/test-areadlinkat-with-size.c: New file.
44295
44296         xreadlinkat: new module
44297         * modules/xreadlinkat: New module.
44298         * lib/xreadlinkat.c (xreadlinkat): New file.
44299         * lib/xreadlink.h (xreadlinkat): Declare it.
44300         * MODULES.html.sh (File system functions): Mention it.
44301
44302         areadlinkat: new module
44303         * lib/at-func.c (FUNC_FAIL): New define.
44304         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44305         * modules/areadlinkat: New module.
44306         * lib/linkat.c (areadlinkat): Move...
44307         * lib/areadlinkat.c (areadlinkat): ...to new file.
44308         * lib/areadlink.h (areadlinkat): Declare it.
44309         * modules/linkat (Depends-on): Add areadlinkat.
44310         * MODULES.html.sh (File system functions): Mention it.
44311         * modules/areadlinkat-tests: New test.
44312         * tests/test-areadlinkat.c: New file.
44313
44314         areadlink, areadlink-with-size: add tests
44315         * modules/areadlink-tests: New test.
44316         * modules/areadlink-with-size-tests: Likewise.
44317         * tests/test-areadlink.h: New file.
44318         * tests/test-areadlink.c: Likewise.
44319         * tests/test-areadlink-with-size.c: Likewise.
44320
44321         maint: minor cleanups
44322         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44323         _UNUSED_PARAMETER_ instead.
44324         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44325         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44326         * modules/linkat-tests (Files): Distribute test-link.h.
44327
44328         openat, utimens: whitespace cleanup
44329         * lib/openat.c: Prefer space throughout, rather than mix of 8
44330         spaces vs. tabs.
44331         * lib/at-func.c: Likewise.
44332         * lib/utimens.c: Likewise.
44333
44334         openat: avoid using wrong fd
44335         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44336         working directory chooses same fd.
44337         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44338
44339         mkdir, mkdirat: fix cygwin 1.5.x bug
44340         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44341         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44342         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44343         bug.
44344         (gl_PREREQ_MKDIR): Delete unused macro.
44345         * modules/mkdir (Files): Track file rename.
44346         (configure.ac): Update macro name.
44347         * modules/openat (Depends-on): Add mkdir.
44348         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44349
44350         mkdir, mkdirat: add tests
44351         * modules/mkdir-tests: New test.
44352         * tests/test-mkdir.h: New file.
44353         * tests/test-mkdir.c: Likewise.
44354         * tests/test-mkdirat.c: Likewise.
44355         * modules/openat-tests (Files): Add new files.
44356         (Makefile.am): Run new test.
44357
44358 2009-10-06  Eric Blake  <ebb9@byu.net>
44359
44360         doc: tweak *at function documentation
44361         * doc/posix-functions/faccessat.texi (faccessat): Mention
44362         known issue with replacement.
44363         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44364         * doc/posix-functions/linkat.texi (linkat): Likewise.
44365         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44366         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44367         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44368         * doc/posix-functions/renameat.texi (renameat): Likewise.
44369         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44370
44371         openat: fix GNU/Hurd bug in unlinkat
44372         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44373         broken.
44374         * doc/posix-functions/unlink.texi (unlink): Document this.
44375         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44376
44377         fdopendir: fix GNU/Hurd bug
44378         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44379         allowing non-directory fds.
44380         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44381         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44382         * modules/dirent (Makefile.am): Substitute it.
44383         * lib/dirent.in.h (fdopendir): Declare replacement.
44384         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44385         * tests/test-fdopendir.c (main): Test something other than
44386         /dev/null, since on Hurd that behaves like a directory.
44387
44388         test-symlink: port to GNU/Hurd
44389         * tests/test-symlink.h (test_symlink): Relax expected errno.
44390
44391         doc: tweak more cygwin information
44392         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44393         now compatible with glibc.
44394         * doc/posix-functions/getopt.texi (getopt): Likewise.
44395
44396         getopt-gnu: add another test
44397         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44398         guarantee behavior relied on by m4.
44399         * tests/test-getopt.c (main): Use it.
44400         * modules/getopt-posix-tests (Depends-on): Add setenv.
44401         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44402
44403         getopt: fix compilation on darwin
44404         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44405         include.
44406         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44407         Reported by Ludovic Courtès.
44408
44409 2009-10-06  Bruno Haible  <bruno@clisp.org>
44410
44411         * modules/size_max (Description): Discourage its use.
44412         Reported by Simon Josefsson.
44413
44414 2009-10-06  Jim Meyering  <meyering@redhat.com>
44415
44416         linkat: avoid compilation failure
44417         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44418
44419 2009-10-05  Eric Blake  <ebb9@byu.net>
44420
44421         linkat: support Linux 2.6.17
44422         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44423         linkat on Linux, but allow cache variable override.
44424         * lib/linkat.c (rpl_linkat): Define override.
44425         * modules/linkat (Depends-on): Add symlinkat.
44426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44427         * modules/unistd (Makefile.am): Substitute it.
44428         * lib/unistd.in.h (linkat): Declare replacement.
44429         Reported by Pádraig Brady.
44430
44431         quotearg: port test to systems with C.UTF-8 locale
44432         * tests/test-quotearg.c (struct result_strings): Add another
44433         member, differentiating between C.ASCII and C.UTF-8 handling.
44434         (compare_strings): Add parameter.
44435         (main): Adjust all callers.
44436
44437         getopt: avoid clash with FreeBSD _getopt_internal
44438         * lib/getopt.in.h (_getopt_internal): Override the name.
44439         * lib/getopt_int.h (includes): Pick up any overrides.
44440         Reported by Reuben Thomas.
44441
44442         hash: allow C89 compilation
44443         * lib/hash.c (check_tuning): Move declaration before statement.
44444         Reported by Reuben Thomas.
44445
44446 2009-10-05  Karl Berry  <karl@gnu.org>
44447
44448         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44449
44450 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44451             Bruno Haible  <bruno@clisp.org>
44452
44453         * lib/uname.c (uname): Use a table-driven algorithm to compute
44454         Windows NT versions.
44455
44456 2009-10-04  Bruno Haible  <bruno@clisp.org>
44457
44458         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44459         program_invocation_short_name.
44460         * modules/progname (configure.ac): Test for presence of
44461         program_invocation_short_name.
44462         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44463
44464 2009-10-04  Bruno Haible  <bruno@clisp.org>
44465
44466         * lib/progname.c (set_program_name): Fix comment.
44467         Reported by Jim Meyering.
44468
44469 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44470             Bruno Haible  <bruno@clisp.org>
44471
44472         * lib/uname.c: Include <string.h>.
44473         (uname): Do only one call to GetVersionEx in the common case.
44474
44475 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44476             Bruno Haible  <bruno@clisp.org>
44477
44478         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44479         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44480         (uname): Add support for Windows CE and various non-x86 CPU types.
44481
44482 2009-10-03  Bruno Haible  <bruno@clisp.org>
44483
44484         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44485         invocation to tests/configure.ac.
44486         Reported by Ian Beckwith <ianb@erislabs.net>.
44487
44488 2009-10-02  Eric Blake  <ebb9@byu.net>
44489
44490         fchdir: avoid compiler warning
44491         * lib/fchdir.c (canonicalize_file_name)
44492         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44493
44494         test-open: support mingw errno values
44495         * tests/test-open.h (test_open): Relax test.
44496         * tests/test-fopen.h (test_fopen): Likewise.
44497         * tests/test-openat-safer.c (main): Likewise.
44498
44499         open: fix opening directory on mingw
44500         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44501
44502         test-open: on GNU/Hurd, /dev/null is a directory
44503         * tests/test-fopen.h (main): Rename...
44504         (test_fopen): ...to this.  Use a guaranteed non-directory when
44505         confirming open behavior on trailing slash.
44506         * tests/test-openat-safer.c (main): Likewise.
44507         * tests/test-open.h (main): Likewise....
44508         (test_open): ...to this.
44509         * tests/test-fopen.c (main): Adjust caller.
44510         * tests/test-fopen-safer.c (main): Likewise.
44511         * tests/test-open.c (main): Likewise.
44512         * tests/test-fcntl-safer.c (main): Likewise.
44513         Reported by Samuel Thibault.
44514
44515         rename, fchdir: don't ignore chdir failure
44516         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44517         * lib/rename.c (rpl_rename) [W32]: Likewise.
44518         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44519         an empty destination directory if source cannot be renamed,
44520         although there is still possibility for failure.
44521         * doc/posix-functions/rename.texi (rename): Document the race.
44522         Reported by Jim Meyering.
44523
44524         maint: cleanup whitespace in recent commits
44525         * lib/rename.c (rpl_rename): Remove tabs.
44526         * tests/test-link.h (test_link): Likewise.
44527         * lib/fchdir.c (get_name): Likewise.
44528         Reported by Jim Meyering.
44529
44530 2009-10-02  Ben Pfaff  <blp@gnu.org>
44531
44532         relocatable-prog-wrapper: Add missing dependency on
44533         double-slash-root.
44534         * modules/relocatable-prog-wrapper: Add dependency.
44535         Reported by Ian Beckwith <ianb@erislabs.net>.
44536
44537 2009-10-02  Eric Blake  <ebb9@byu.net>
44538
44539         renameat: fix Solaris bugs
44540         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44541         needed fixing.
44542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44543         * modules/stdio (Makefile.am): Substitute it.
44544         * lib/stdio.in.h (renameat): Declare replacement.
44545         * lib/renameat.c (rpl_renameat): Implement fix.
44546
44547         renameat: new module
44548         * modules/renameat: New file.
44549         * lib/renameat.c (renameat): Likewise.
44550         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44551         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44552         * modules/stdio (Makefile.am): Substitute them.
44553         * lib/stdio.in.h (renameat): Declare it.
44554         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44555         * doc/posix-functions/renameat.texi (renameat): Likewise.
44556         * modules/renameat-tests: New test.
44557         * tests/test-renameat.c: Likewise.
44558
44559         rename: fix mingw bugs
44560         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44561         directory overwrite bugs.
44562
44563         rename: fix another cygwin 1.5 bug
44564         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44565         checks.
44566         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44567         unnecessary cygwin workarounds.  Also work around bug with moving
44568         full directory onto an empty one.
44569         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44570
44571         rename-dest-slash: merge into rename module
44572         * modules/rename-dest-slash (Status): Mark obsolete.
44573         (Depends-on): Add rename.
44574         (Files): Let rename do it all.
44575         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44576         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44577         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44578         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44579         * lib/rename.c (rpl_rename): Update comments.
44580
44581         rename: fix cygwin 1.5.x bugs
44582         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44583         * lib/rename.c (rpl_rename): Work around them.
44584         * modules/rename (Depends-on): Add same-inode.
44585
44586         rename: fix Solaris 10 bug
44587         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44588         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44589         was the only bug.
44590
44591         rename: fix Solaris 9 bug
44592         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44593         on non-directory.  Avoid calling exit.
44594         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44595         strdup.
44596         * modules/rename-tests (Depends-on): Drop lstat.
44597         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44598         (gl_PREREQ_RENAME): Delete unused macro.
44599
44600         rename-dest-slash: fix NetBSD bug
44601         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44602         links.
44603         * modules/rename-dest-slash (Depends-on): Add same-inode.
44604
44605         rename-tests: new test, exposes several platform bugs
44606         * modules/rename-tests: New file.
44607         * tests/test-rename.h: Likewise.
44608         * tests/test-rename.c: Likewise.
44609         * doc/posix-functions/rename.texi (rename): Improve documentation,
44610         including bugs that will eventually be fixed in gnulib.
44611
44612 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44613
44614         * lib/uname.c: Include <stdlib.h>
44615         (uname): Assume version info is available.
44616
44617 2009-10-02  Jim Meyering  <meyering@redhat.com>
44618
44619         gnu-web-doc-update: correct --help output
44620         * build-aux/gnu-web-doc-update: Make --help output relevant.
44621
44622         gnu-web-doc-update: add standard options
44623         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44624
44625         gnu-web-doc-update: New module.
44626         Use this script to automatically update the on-line web documentation
44627         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44628         * modules/gnu-web-doc-update: New file, from coreutils.
44629         * build-aux/gnu-web-doc-update: New script.
44630
44631 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44632
44633         link: LoadLibrary is not needed.
44634         * lib/link.c: Use GetModuleHandle.
44635
44636 2009-10-01  Eric Blake  <ebb9@byu.net>
44637
44638         getopt: bump serial number
44639         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44640         change.
44641
44642         tests: tighten link, rmdir, and remove tests
44643         * tests/test-link.h (includes): No need to use <config.h> here.
44644         Clean up if directory hard link was created, otherwise test for
44645         trailing '.'.
44646         * tests/test-linkat.c (main): Simplify.
44647         * tests/test-remove.c (main): Enhance test for trailing '.'.
44648         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44649
44650 2009-10-01  Jim Meyering  <meyering@redhat.com>
44651
44652         maint.mk: requiring "make major" was annoying, for a "minor" release.
44653         What is intended is "stable", to contrast with alpha and beta,
44654         so require "make stable", not "make major".
44655         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44656         (get_tool_versions): Likewise.
44657         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44658
44659 2009-09-30  Ben Pfaff  <blp@gnu.org>
44660
44661         Fix broken build of replacement for Windows tmpfile().
44662         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44663         flags argument added along with the 'mkostemp' module.
44664
44665 2009-09-28  Bruno Haible  <bruno@clisp.org>
44666
44667         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44668         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44669         to 'remove_elt'.
44670         (gl_list_remove): Update.
44671         * lib/gl_list.c (gl_list_remove): Update.
44672         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44673         to 'remove_elt'.
44674         (gl_oset_remove): Update.
44675         * lib/gl_list.c (gl_oset_remove): Update.
44676         Reported by Eric Blake.
44677
44678 2009-09-28  Eric Blake  <ebb9@byu.net>
44679
44680         doc: mention yet more cygwin 1.7 status
44681         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44682         cygwin.
44683         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44684         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44685
44686         argp: fix test failure
44687         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44688         that are not upper-case.  Pass correct range to tolower.
44689
44690 2009-09-27  Jim Meyering  <meyering@redhat.com>
44691
44692         test-yesno: work around sparc-dash here-document infelicity
44693         Without this change, the literal \177 byte in a here document
44694         would make dash 0.5.5.1-3 access uninitialized memory.
44695         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44696         Instead, use a marker, "@", and filter through tr to create the desired
44697         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44698
44699 2009-09-27  Bruno Haible  <bruno@clisp.org>
44700
44701         Disable untested support for new flavours of ACLs on AIX.
44702         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44703         progress.
44704         * lib/set-mode-acl.c (qset_acl): Likewise.
44705
44706 2008-12-07  Bruno Haible  <bruno@clisp.org>
44707
44708         Add support for new flavours of ACLs on AIX. (Untested.)
44709         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44710         (file_has_acl): Add support for newer AIX.
44711         * lib/set-mode-acl.c (qset_acl): Likewise.
44712         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44713         Rainer Tammer <tammer@tammer.net>.
44714
44715 2009-09-26  Eric Blake  <ebb9@byu.net>
44716
44717         argp: fix compilation of getopt
44718         * lib/getopt.in.h (includes): Use different guard than glibc.
44719         Reported by Sergey Poznyakoff.
44720
44721         doc: mention more cygwin 1.7 status
44722         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44723         bug.
44724         * doc/posix-functions/execl.texi (execl): Likewise.
44725         * doc/posix-functions/execle.texi (execle): Likewise.
44726         * doc/posix-functions/execlp.texi (execlp): Likewise.
44727         * doc/posix-functions/execv.texi (execv): Likewise.
44728         * doc/posix-functions/execve.texi (execve): Likewise.
44729         * doc/posix-functions/execvp.texi (execvp): Likewise.
44730         * doc/glibc-functions/canonicalize_file_name.texi
44731         (canonicalize_file_name): Cygwin 1.7 now provides this.
44732         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44733         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44734         on AT_SYMLINK_NOFOLLOW.
44735
44736 2009-09-24  Eric Blake  <ebb9@byu.net>
44737
44738         test-linkat: make test more robust
44739         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44740
44741         getopt: fix inclusion guards for cygwin
44742         * modules/getopt-posix (Depends-on): Add include-next.
44743         (Makefile.am): Substitute more items in replacement header.
44744         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44745         <getopt.h>.
44746         * lib/getopt.in.h (includes): Use split inclusion guard, and
44747         prefer <getopt.h> over include <unistd.h> when one is present.
44748         (option): Also override name of 'struct option'.
44749
44750         same-inode: revert prior change; it is not yet ready
44751         * NEWS: Undo mention of this change.
44752         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44753         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44754         * lib/cycle-check.c (cycle_check): Likewise.
44755         * lib/same.c (same_name): Likewise.
44756         * lib/at-func2.c (at_func2): Likewise.
44757
44758 2009-09-23  Eric Blake  <ebb9@byu.net>
44759
44760         linkat: new module
44761         * modules/linkat: New file.
44762         * lib/at-func2.c (at_func2): Likewise.
44763         * lib/linkat.c (linkat): Likewise.
44764         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44765         * lib/openat-priv.h (at_func2): Add declaration.
44766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44767         * modules/unistd (Makefile.am): Substitute them.
44768         * lib/unistd.in.h (linkat): Declare it.
44769         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44770         * doc/posix-functions/linkat.texi (linkat): Likewise.
44771         * doc/posix-functions/link.texi (link): Tweak wording.
44772         * tests/test-link.c (main): Move guts...
44773         * tests/test-link.h (test_link): ...into new file.
44774         * modules/linkat-tests: New test.
44775         * tests/test-linkat.c: Likewise.
44776         * modules/link-tests (Files): Ship new file.
44777         (Depends-on): Add stdbool.
44778
44779         dirname: add library-safe mdir_name
44780         * lib/dirname.h (mdir_name): New prototype.
44781         * lib/dirname.c (dir_name): Move guts...
44782         (mdir_name): ...to new function that avoids xalloc_die.
44783
44784         fchdir: another mingw fix
44785         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44786         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44787         on mingw (where it has not yet been ported), and make it optional
44788         elsewhere.
44789         (_gl_register_fd): Use it.
44790
44791         same-inode: make SAME_INODE tri-state, to port to mingw
44792         * NEWS: Mention this change.
44793         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44794         st_ino always being 0.
44795         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44796         * lib/cycle-check.c (cycle_check): Likewise.
44797         * lib/same.c (same_name): Likewise.
44798
44799         lstat: avoid mingw compilation error
44800         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44801         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44802         lstat ourselves.
44803         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44804         was adequate.
44805         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44806         the checks for lstat.
44807         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44808
44809         link: fix test failure on Solaris 9
44810         * lib/link.c (rpl_link): Don't assume link will catch bogus
44811         trailing slash on source.
44812
44813         test-symlinkat: enhance test
44814         * tests/test-readlink.c (main): Move guts...
44815         * tests/test-readlink.h (test_readlink): ...into new file.
44816         * tests/test-symlink.c (main): Move guts...
44817         * tests/test-symlink.h (test_symlink): ...into new file.
44818         * tests/test-symlinkat.c (main): Use new files for further
44819         coverage.
44820         (do_symlink, do_readlink): New helper functions.
44821         * modules/symlink-tests (Files): Ship new file.
44822         (Depends-on): Add stdbool.
44823         * modules/readlink-tests (Files): Ship new file.
44824         (Depends-on): Add stdbool.
44825         * modules/symlinkat-tests (Files): Use new files.
44826
44827 2009-09-23  Eric Blake  <ebb9@byu.net>
44828
44829         readlink: document portability issue with symlink length
44830         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44831         systems have bogus st_size on symlinks, and mention the
44832         areadlink-with-size module.
44833         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44834         * doc/posix-functions/readlink.texi (readlink): Mention the
44835         areadlink module, and ERANGE failure.
44836         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44837         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44838
44839         readlink: fix Solaris 9 bug with trailing slash
44840         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44841         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44842         * doc/posix-functions/readlink.texi (readlink): Document this.
44843         * modules/readlink-tests: New test.
44844         * tests/test-readlink.c: Likewise.
44845
44846         readlink: fix cygwin 1.5.x bug with return type
44847         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44848         * lib/unistd.in.h (readlink): Use ssize_t.
44849         * lib/readlink.c (readlink): Likewise.
44850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44851         * modules/unistd (Makefile.am): Substitute it.
44852         * lib/unistd.in.h (readlink): Declare replacement.
44853         * doc/posix-functions/readlink.texi (readlink): Document this.
44854
44855         symlink: use throughout gnulib
44856         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44857         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44858         symlink is not used.
44859         * modules/symlinkat (Depends-on): Add symlink.
44860         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44861         * modules/canonicalize-tests (Depends-on): Likewise.
44862         * modules/lstat-tests (Depends-on): Likewise.
44863         * modules/openat-tests (Depends-on): Likewise.
44864         * modules/remove-tests (Depends-on): Likewise.
44865         * modules/rmdir-tests (Depends-on): Likewise.
44866         * modules/unlink-tests (Depends-on): Likewise.
44867         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44868         * tests/test-canonicalize.c (symlink): Likewise.
44869         * tests/test-fstatat.c (symlink): Likewise.
44870         * tests/test-lstat.c (symlink): Likewise.
44871         * tests/test-remove.c (symlink): Likewise.
44872         * tests/test-rmdir.c (symlink): Likewise.
44873         * tests/test-unlink.c (symlink): Likewise.
44874         * tests/test-unlinkat.c (symlink): Likewise.
44875
44876         symlink: new module, for Solaris 9 bug
44877         * modules/symlink: New file.
44878         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44879         * lib/symlink.c: Likewise.
44880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44881         * modules/unistd (Makefile.am): Substitute them.
44882         * lib/unistd.in.h (symlink): Declare replacement.
44883         * MODULES.html.sh (File system functions): Mention it.
44884         * doc/posix-functions/symlink.texi (symlink): Likewise.
44885         * modules/symlink-tests: New test.
44886         * tests/test-symlink.c: Likewise.
44887
44888 2009-09-23  Bruno Haible  <bruno@clisp.org>
44889
44890         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44891         when needed.
44892         Test case: gnulib-tool --import --with-tests atexit inttypes.
44893         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44894
44895 2009-09-23  Bruno Haible  <bruno@clisp.org>
44896
44897         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44898         subcommand, not in a subshell.
44899
44900 2009-09-22  Eric Blake  <ebb9@byu.net>
44901
44902         unistd: sort replacement declarations
44903         * lib/unistd.in.h: Sort declarations.
44904
44905         open, openat: minor optimization
44906         * lib/open.c (open): If open succeeded, len is non-zero.
44907         * lib/openat.c (rpl_openat): Likewise.
44908
44909         link-follow: ensure correct result
44910         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44911         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44912         distinguish between possible failures.
44913
44914 2009-09-21  Eric Blake  <ebb9@byu.net>
44915
44916         fts: avoid compiler warning
44917         * lib/fts.c (dirent_inode_sort_may_be_useful)
44918         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44919
44920 2009-09-19  Bruno Haible  <bruno@clisp.org>
44921
44922         * lib/progreloc.c (canonicalize_file_name): New declaration.
44923
44924 2009-09-19  Eric Blake  <ebb9@byu.net>
44925
44926         link: fix quoting
44927         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44928
44929         openat: fix openat bugs on Solaris 9
44930         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44931         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44932         * modules/openat (Depends-on): Add open.
44933         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44934         * modules/fcntl-h (Makefile.am): Substitute it.
44935         * lib/fcntl.in.h (openat): Declare replacement.
44936         * doc/posix-functions/openat.texi (openat): Document this.
44937
44938         openat: move fstatat and unlinkat into correct files
44939         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44940         compiled.
44941         * lib/openat.c (fstatat, unlinkat): Move...
44942         * lib/fstatat.c (fstatat): ...into correct files.
44943         * lib/unlinkat.c (unlinkat): Likewise.
44944
44945         openat: fix unlinkat bugs on Solaris 9
44946         * lib/unlinkat.c (unlinkat): New file.
44947         * modules/openat (Depends-on): Add unlink.
44948         (Files): Distribute it.
44949         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44950         trailing slash behavior is broken.
44951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44952         * modules/unistd (Makefile.am): Substitute it.
44953         * lib/unistd.in.h (unlinkat): Declare replacement.
44954         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44955
44956         openat: fix fstatat bugs on Solaris 9
44957         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44958         stat.
44959         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44960
44961         test-unlinkat: enhance test, to expose Solaris 9 bug
44962         * tests/test-unlink.c (main): Factor guts...
44963         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44964         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44965         * tests/test-rmdir.c (main): Adjust caller.
44966         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44967         (unlinker): New helper function.
44968         (rmdirat): Enhance check.
44969         * modules/rmdir-tests (Depends-on): Add stdbool.
44970         * modules/unlink-tests (Depends-on): Likewise.
44971         (Files): Add test-unlink.h.
44972         * modules/openat-tests (Files): Likewise.
44973         (Depends-on): Add unlinkdir.
44974
44975         test-fstatat: new test, to expose Solaris 9 bugs
44976         * tests/test-stat.c (main): Factor guts...
44977         * tests/test-stat.h (test_stat_func): ...into new file.
44978         * tests/test-lstat.c (main): Factor guts...
44979         * tests/test-lstat.h (test_lstat_func): ...into new file.
44980         * tests/test-fstatat.c: New file.
44981         * modules/stat-tests (Files): Add test-stat.h.
44982         * modules/lstat-tests (Files): Add test-lstat.h.
44983         (Depends-on): Add stdbool.
44984         * modules/openat-tests (Depends-on): Add pathmax.
44985         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44986         (Makefile.am): Run new test.
44987
44988         remove: new module, for mingw and Solaris 9 bugs
44989         * modules/remove: New file.
44990         * lib/remove.c: Likewise.
44991         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44993         * modules/stdio (Makefile.am): Use them.
44994         * lib/stdio.in.h (remove): Declare replacement.
44995         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44996         * doc/posix-functions/remove.texi (remove): Likewise.
44997         * modules/remove-tests: New test.
44998         * tests/test-remove.c: Likewise.
44999
45000         unlink: new module, for Solaris 9 bug
45001         * modules/unlink: New file.
45002         * lib/unlink.c: Likewise.
45003         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45005         * modules/unistd (Makefile.am): Use them.
45006         * lib/unistd.in.h (stat): Declare replacement.
45007         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45008         * doc/posix-functions/unlink.texi (unlink): Likewise.
45009         * modules/unlink-tests: New test.
45010         * tests/test-unlink.c: Likewise.
45011
45012         lstat: fix Solaris 9 bug
45013         * lib/lstat.c (lstat): Also check for trailing slash on
45014         non-symlink, non-directories.  Use stat module to simplify logic.
45015         * doc/posix-functions/lstat.texi (lstat): Document it.
45016         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45017         (configure.ac): Check for symlink.
45018         * tests/test-lstat.c (main): Add more tests.
45019
45020         stat: add as dependency to other modules
45021         * modules/chown (Depends-on): Add stat.
45022         * modules/euidaccess (Depends-on): Likewise.
45023         * modules/fchdir (Depends-on): Likewise.
45024         * modules/isdir (Depends-on): Likewise.
45025         * modules/link (Depends-on): Likewise.
45026         * modules/lstat (Depends-on): Likewise.
45027         * modules/mkdir-p (Depends-on): Likewise.
45028         * modules/modechange (Depends-on): Likewise.
45029         * modules/open (Depends-on): Likewise.
45030         * modules/readlink (Depends-on): Likewise.
45031         * modules/same (Depends-on): Likewise.
45032
45033         stat: fix Solaris 9 bug
45034         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45035         slash.
45036         * lib/stat.c (rpl_stat): Work around it.
45037         * doc/posix-functions/stat.texi (stat): Update documentation.
45038
45039         stat: new module, for mingw bug
45040         * modules/stat: New file.
45041         * lib/stat.c: Likewise.
45042         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45043         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45044         * modules/sys_stat (Makefile.am): Use them.
45045         * lib/sys_stat.in.h (stat): Declare replacement.
45046         * lib/openat.c (fstatat): Deal with lstat and stat being function
45047         macros.
45048         * modules/openat (Depends-on): Add inline.
45049         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45050         * doc/posix-functions/stat.texi (stat): Likewise.
45051         * modules/stat-tests: New test.
45052         * tests/test-stat.c: Likewise.
45053
45054 2009-09-19  Jim Meyering  <meyering@redhat.com>
45055
45056         syntax-check: detect unnecessary inclusion of canonicalize.h
45057         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45058
45059 2009-09-19  Eric Blake  <ebb9@byu.net>
45060
45061         canonicalize-lgpl: adjust clients to use correct header
45062         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45063         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45064         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45065         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45066         * lib/progreloc.c (includes): Likewise.
45067
45068 2009-09-19  Jim Meyering  <meyering@redhat.com>
45069
45070         test-posixtm.c: correct a comment
45071         * tests/test-posixtm.c: Correct first-line comment.
45072         Spotted by Eric Blake.
45073
45074 2009-09-16  Jim Meyering  <meyering@redhat.com>
45075
45076         posixtm-tests: make T const-correct; add a test case
45077         * tests/test-posixtm.c (T): Declare const.
45078         Add a test for -(2^31+1).
45079         Remove useless can-succeed-only-in-2002 test.
45080
45081         posixtm-tests: adjust the sole failing test
45082         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45083         expected output matches what mktime now produces.  Cross-checked via
45084         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45085
45086         posixtm: move #ifdef'd tests into a new module
45087         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45088         * tests/test-posixtm.c: ... this new file.
45089         * modules/posixtm-tests: New module.
45090
45091 2009-09-19  Eric Blake  <ebb9@byu.net>
45092
45093         openat: simplify use of at-func.c
45094         * lib/at-func.c (includes): Include prerequisites here, to
45095         simplify requirements on client files.
45096         * lib/openat-priv.h: Add double-inclusion guard.
45097         * lib/faccessat.c (includes): Simplify.
45098         * lib/fchmodat.c (includes): Likewise.
45099         * lib/fchownat.c (includes): Likewise.
45100         * lib/mkdirat.c (includes): Likewise.
45101         * lib/mkfifoat.c (includes): Likewise.
45102         * lib/symlinkat.c (includes): Likewise.
45103
45104         openat: allow return of fd 0
45105         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45106         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45107         unistd-safer.
45108         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45109         <fcntl.h>; this module does not leak fds.
45110         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45111         must be allowed to return 0, leaving openat_safer to add the
45112         safety.
45113         (openat_permissive): Avoid writing to just-opened fd 2 if
45114         restoring the current directory fails.
45115         * lib/openat-die.c (openat_restore_fail): Add comment.
45116         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45117         (save_cwd): Guarantee safe fd, but without use of open_safer.
45118         * tests/test-openat.c: New test.
45119         * modules/openat-tests (Files, Makefile.am): Distribute and build
45120         new file.
45121
45122         relocatable-prog-wrapper: fix build
45123         * modules/relocatable-prog-wrapper (Files): Update name of
45124         canonicalize m4 file, broken on 2009-09-17.
45125         Reported by emad hajjar <aleppos@hotmail.com>.
45126
45127 2009-09-19  Bruno Haible  <bruno@clisp.org>
45128
45129         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45130         * lib/safe-alloc.c: Likewise.
45131         Reported by Ian Beckwith <ianb@erislabs.net>.
45132
45133 2009-09-18  Bruno Haible  <bruno@clisp.org>
45134
45135         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45136         Reported by <erobles@sensacd.com.mx>.
45137
45138 2009-09-17  Eric Blake  <ebb9@byu.net>
45139
45140         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45141         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45142         slashes when checking if last component is missing.
45143         * tests/test-canonicalize.c (main): Test this.
45144
45145         canonicalize, canonicalize-lgpl: honor // if distinct from /
45146         * modules/canonicalize (Files): Add double-slash-root.m4.
45147         * modules/canonicalize-lgpl (Files): Likewise.
45148         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45149         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45150         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45151         fallback definition.
45152         (canonicalize_filename_mode): Use it to protect //.
45153         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45154         (__realpath): Likewise.
45155         * tests/test-canonicalize.c (main): Test this.
45156         * tests/test-canonicalize-lgpl.c (main): Likewise.
45157         * modules/canonicalize-tests (Depends-on): Add same-inode.
45158         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45159
45160         canonicalize-lgpl: fix glibc bug with trailing slash
45161         * m4/canonicalize-lgpl.m4: Move contents...
45162         * m4/canonicalize.m4: ...here.
45163         (gl_CANONICALIZE_LGPL): Factor realpath check...
45164         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45165         glibc 2.3.5 bug, fixed 2005-04-27.
45166         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45167         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45168         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45169         * modules/canonicalize-lgpl (Files): Manage file rename.
45170         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45171         * modules/stdlib (Makefile.am): Substitute witness.
45172         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45173         is needed.
45174         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45175         replacement is required.
45176         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45177         * doc/glibc-functions/canonicalize_file_name.texi
45178         (canonicalize_file_name): Document this.
45179         * doc/posix-functions/realpath.texi (realpath): Likewise.
45180
45181         canonicalize-lgpl: reject non-directory with trailing slash
45182         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45183         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45184         catches failures in glibc 2.3.5.
45185         * tests/test-canonicalize.c (main): Likewise.
45186
45187         canonicalize-lgpl: use native realpath if it works
45188         * lib/canonicalize-lgpl.c (realpath): Guard with
45189         FUNC_REALPATH_WORKS.
45190         * lib/stdlib.in.h (realpath): Make declaration optional based on
45191         HAVE_REALPATH.
45192         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45193         native realpath works.
45194         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45195         * modules/stdlib (Makefile.am): Substitute witness.
45196
45197         canonicalize, canonicalize-lgpl: use <stdlib.h>
45198         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45199         (Include): Mention <stdlib.h>.
45200         (configure.ac): Mention functions we provide.
45201         * modules/canonicalize (configure.ac): Likewise.
45202         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45203         realpath if canonicalize_file_name is missing.
45204         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45205         * modules/stdlib (Makefile.am): Substitute witnesses.
45206         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45207         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45208         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45209         * NEWS: Document this.
45210         * doc/glibc-functions/canonicalize_file_name.texi
45211         (canonicalize_file_name): Likewise.
45212         * doc/posix-functions/realpath.texi (realpath): Likewise.
45213         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45214
45215         test-canonicalize: consolidate into single C program
45216         * tests/test-canonicalize.sh: Delete; move setup into...
45217         * tests/test-canonicalize.c (main): ...the program, making it
45218         easier to run in debugger.  Add some tests.
45219         * modules/canonicalize-tests (Files): Remove unused file.
45220         (Depends-on): Add progname.
45221         (configure.ac, Makefile.am): Simplify.
45222
45223         test-canonicalize-lgpl: consolidate into single C program
45224         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45225         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45226         easier to run in debugger.  Add some tests.
45227         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45228         (configure.ac, Makefile.am): Simplify.
45229
45230         canonicalize: avoid resolvepath
45231         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45232         unnecessary checks.
45233         * lib/canonicalize.c (includes): Simplify.
45234         (canonicalize_file_name): Drop resolvepath implementation.
45235         * modules/canonicalize (Depends-on): Drop filenamecat.
45236
45237         canonicalize: don't lose errno
45238         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45239         over calls to free.
45240
45241         canonicalize: simplify errno handling
45242         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45243         assignment.
45244
45245         canonicalize, canonicalize-lgpl: update module dependencies
45246         * modules/canonicalize (Depends-on): Add extensions, lstat,
45247         pathmax, stdlib.
45248         (Files): Drop pathmax.h.
45249         (configure.ac): Adjust macro name.
45250         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45251         lstat, stdlib, sys_stat.
45252         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45253         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45254         extensions.
45255         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45256         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45257         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45258         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45259         declaration, if available.
45260         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45261         we can rely on the readlink module.
45262         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45263         (includes): Use <unistd.h> unconditionally.
45264
45265 2009-09-17  Eric Blake  <ebb9@byu.net>
45266
45267         maint: make Include sections of modules consistent
45268         * modules/alloca: Use only header name; no need to list #include.
45269         * modules/alloca-opt: Likewise.
45270         * modules/arpa_inet: Likewise.
45271         * modules/canon-host: Likewise.
45272         * modules/configmake: Likewise.
45273         * modules/dirent: Likewise.
45274         * modules/eealloc: Likewise.
45275         * modules/environ: Likewise.
45276         * modules/fchdir: Likewise.
45277         * modules/fcntl: Likewise.
45278         * modules/fcntl-h: Likewise.
45279         * modules/gethrxtime: Likewise.
45280         * modules/gettime: Likewise.
45281         * modules/ignore-value: Likewise.
45282         * modules/inet_ntop: Likewise.
45283         * modules/inet_pton: Likewise.
45284         * modules/inttypes: Likewise.
45285         * modules/isnand-nolibm: Likewise.
45286         * modules/isnanf-nolibm: Likewise.
45287         * modules/mbchar: Likewise.
45288         * modules/mbfile: Likewise.
45289         * modules/mbiter: Likewise.
45290         * modules/mbuiter: Likewise.
45291         * modules/netdb: Likewise.
45292         * modules/netinet_in: Likewise.
45293         * modules/nproc: Likewise.
45294         * modules/pagealign_alloc: Likewise.
45295         * modules/poll: Likewise.
45296         * modules/printf-frexp: Likewise.
45297         * modules/pthread: Likewise.
45298         * modules/putenv: Likewise.
45299         * modules/random_r: Likewise.
45300         * modules/relocatable-prog: Likewise.
45301         * modules/search: Likewise.
45302         * modules/select: Likewise.
45303         * modules/selinux-h: Likewise.
45304         * modules/settime: Likewise.
45305         * modules/signal: Likewise.
45306         * modules/size_max: Likewise.
45307         * modules/socklen: Likewise.
45308         * modules/ssize_t: Likewise.
45309         * modules/stdarg: Likewise.
45310         * modules/stdbool: Likewise.
45311         * modules/stddef: Likewise.
45312         * modules/stdint: Likewise.
45313         * modules/stdio: Likewise.
45314         * modules/stdlib: Likewise.
45315         * modules/string: Likewise.
45316         * modules/strings: Likewise.
45317         * modules/sys_file: Likewise.
45318         * modules/sys_ioctl: Likewise.
45319         * modules/sys_select: Likewise.
45320         * modules/sys_socket: Likewise.
45321         * modules/sys_stat: Likewise.
45322         * modules/sys_time: Likewise.
45323         * modules/sys_times: Likewise.
45324         * modules/sys_utsname: Likewise.
45325         * modules/sys_wait: Likewise.
45326         * modules/sysexits: Likewise.
45327         * modules/time: Likewise.
45328         * modules/times: Likewise.
45329         * modules/tmpfile: Likewise.
45330         * modules/trim: Likewise.
45331         * modules/unistd: Likewise.
45332         * modules/wchar: Likewise.
45333         * modules/wctype: Likewise.
45334
45335 2009-09-17  Bruno Haible  <bruno@clisp.org>
45336
45337         Make getdate.y compile on QNX and NetBSD 5 / i386.
45338         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45339         TIME_T_FITS_IN_LONG_INT.
45340         * lib/getdate.y (long_time_t): New type.
45341         (relative_time): Change type of 'seconds' field to long_time_t.
45342         (get_date): Update types of local variables. Check against overflow
45343         during conversion from long_time_t to time_t.
45344         Reported by Matt Kraai <kraai@ftbfs.org>
45345         and Hasso Tepper <hasso@netbsd.org>.
45346
45347 2009-09-17  Bruno Haible  <bruno@clisp.org>
45348
45349         * modules/COPYING: Update copyright years.
45350         * modules/README: Likeiwse.
45351         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45352         Reported by Ian Beckwith <ianb@erislabs.net>.
45353
45354 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45355
45356         * users.txt: Update references for gnuit package.
45357
45358 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45359
45360         * m4/getdelim.m4: Fix typo in copyright line.
45361
45362 2009-09-17  Bruno Haible  <bruno@clisp.org>
45363
45364         * lib/atoll.c: Use the standard header with GPL copyright.
45365         * lib/argz.in.h: Likewise.
45366         * lib/glob.c: Likewise.
45367         * lib/glob-libc.h: Likewise.
45368         * lib/random_r.c: Likewise.
45369         * lib/siglist.h: Likewise.
45370         * lib/strsignal.c: Likewise.
45371         Reported by Ian Beckwith <ianb@erislabs.net>.
45372
45373 2009-09-17  Eric Blake  <ebb9@byu.net>
45374
45375         rmdir: ensure correct dependency order
45376         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45377
45378 2009-09-17  Bruno Haible  <bruno@clisp.org>
45379
45380         Disable assertion that fails on NetBSD 5 / i386.
45381         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45382         Reported by Sam Steingold <sds@gnu.org>
45383         and Hasso Tepper <hasso@netbsd.org>.
45384
45385 2009-09-16  Eric Blake  <ebb9@byu.net>
45386
45387         unlinkdir: port to mingw
45388         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45389         on which no one can unlink a directory.
45390
45391         stdlib: sort witness names
45392         * modules/stdlib (Makefile.am): Sort replacements.
45393         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45394         * lib/stdlib.in.h: Likewise.
45395
45396         parse-duration-tests: avoid link failure
45397         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45398         LIBINTL.
45399         Reported by Tom G. Christensen.
45400
45401         openat-tests: ensure unlinkat behaves like rmdir
45402         * tests/test-rmdir.c (main): Factor guts...
45403         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45404         * modules/rmdir-tests (Files): Ship new file.
45405         * modules/openat-tests: New test.
45406         * tests/test-unlinkat.c: Likewise.
45407
45408         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45409         * modules/rmdir-errno (Status, Notice): Now obsolete.
45410
45411         rmdir: work around cygwin 1.5.x and mingw bugs
45412         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45413         * lib/rmdir.c (rmdir): Work around it.
45414         * modules/rmdir (Status, Notice): No longer obsolete.
45415         (Files): Add dos.m4.
45416         (Depends-on): Add unistd.
45417         (configure.ac): Set witnesses.
45418         (License): Relax to LGPLv2+.
45419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45420         * modules/unistd (Makefile.am): Substitute witnesses.
45421         * lib/unistd.in.h (rmdir): Declare replacement.
45422         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45423         * modules/rmdir-tests: New tests.
45424         * tests/test-rmdir.c: Likewise.
45425
45426 2009-09-15  Eric Blake  <ebb9@byu.net>
45427
45428         fchdir: improve use of replacement functions
45429         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45430         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45431         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45432         REPLACE_CLOSEDIR.
45433         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45434         * modules/sys_stat (Makefile.am): Substitute correct witness.
45435         * modules/dirent (Makefile.am): Likewise.
45436         * modules/unistd (Makefile.am): Likewise.
45437         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45438         * lib/unistd.in.h (dup): Likewise.
45439         * lib/sys_stat.in.h (fstat): Likewise.
45440
45441         maint: ignore gnulib-tool temp files
45442         * .gitignore: Ignore files created during gnulib-tool --test.
45443
45444 2009-09-13  Jim Meyering  <meyering@redhat.com>
45445
45446         posixtm: don't reject a time that specify "60" as the number of seconds
45447         * lib/posixtm.c (posixtime): The code to reject invalid dates
45448         would also reject a time specified with the .60 suffix.
45449         But POSIX allows that, in order to accommodate leap seconds.
45450         So don't reject it.
45451         (main): Adjust tests accordingly.
45452         * modules/posixtm (Depends-on): Add stpcpy.
45453
45454 2009-09-11  Jim Meyering  <meyering@redhat.com>
45455
45456         announce-gen: include [$release_type] in emitted Subject:
45457         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45458         e.g., [stable] in the emitted Subject: line.
45459
45460 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45461
45462         Remove obsolete macros from several modules.
45463         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45464         obsolete Autoconf macros with their modern counterparts.
45465         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45466         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45467         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45468         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45469         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45470         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45471         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45472         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45473         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45474         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45475         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45476         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45477         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45478         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45479         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45480         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45481         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45482         * m4/time_r.m4 (gl_TIME_R): Likewise.
45483         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45484         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45485         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45486
45487         Fix copyright header in build-aux scripts.
45488         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45489         recommendation.
45490         * build-aux/ncftpput-ftp: Likewise.
45491         * build-aux/update-copyright: Likewise.
45492
45493 2009-09-09  Eric Blake  <ebb9@byu.net>
45494
45495         test-link: allow Linux choice of errno
45496         * tests/test-link.c (main): Relax test for alternate error.
45497
45498         strndup: fix improper m4 caching
45499         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45500         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45501         (gl_PREREQ_STRNDUP): Delete.
45502         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45503         * modules/string (Makefile.am): Substitute it.
45504         * lib/string.in.h (strndup): Modernize prototype.
45505
45506         getcwd: port to mingw
45507         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45508         different from the POSIX assumptions made throughout the getcwd
45509         module; fortunately, the mingw getcwd does not need replacement.
45510         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45511         * modules/getcwd-tests: New test.
45512         * tests/test-getcwd.c: Likewise.
45513
45514         link: fix platform bugs
45515         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45516         * lib/link.c (link): Work around them.  Fix related mingw bug.
45517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45518         * modules/unistd (Makefile.am): Substitute it.
45519         * lib/unistd.in.h (link): Declare replacement.
45520         * doc/posix-functions/link.texi (link): Document this.
45521         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45522
45523         test-link: consolidate into single C program, test more cases
45524         * tests/test-link.sh: Delete.
45525         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45526         at least Cygwin and Solaris.
45527         * modules/link-tests (Files): Remove unused file.
45528         (Depends-on): Add errno, sys_stat.
45529         (Makefile.am): Simplify.
45530
45531 2009-09-08  Bruno Haible  <bruno@clisp.org>
45532
45533         Work around towlower, towupper bug on mingw.
45534         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45535         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45536         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45537         * doc/posix-functions/towupper.texi: Likewise.
45538         Reported by Eric Blake.
45539
45540 2009-09-08  Jim Meyering  <meyering@redhat.com>
45541
45542         build: don't try to run autoheader if we don't use it
45543         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45544         is not used in configure.ac.
45545
45546 2009-09-08  Eric Blake  <ebb9@byu.net>
45547
45548         euidaccess: fix compilation error
45549         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45550
45551         rawmemchr: relax license
45552         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45553         okay.
45554         Reported by Jim Meyering.
45555
45556         mkfifoat: new module
45557         * modules/mkfifoat: New file.
45558         * lib/mkfifoat.c: Likewise.
45559         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45560         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45561         * modules/sys_stat (Makefile.am): Use them.
45562         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45563         * MODULES.html.sh (File system functions): Mention module.
45564         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45565         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45566         * modules/mkfifoat-tests: New test.
45567         * tests/test-mkfifoat.c: Likewise.
45568
45569         strchrnul: relax license
45570         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45571         okay.
45572         Reported by Jim Meyering.
45573
45574 2009-09-08  Eric Blake  <ebb9@byu.net>
45575
45576         fstatat: fix compilation on Solaris
45577         * lib/fstatat.c (includes): Add fcntl.h.
45578         Reported by Pádraig Brady.
45579
45580 2009-09-07  Eric Blake  <ebb9@byu.net>
45581
45582         rename: modernize replacement
45583         * modules/rename (Depends-on): Add stdio.
45584         (configure.ac): Declare witness.
45585         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45586         stdio take care of replacement.
45587         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45588         * modules/stdio (Makefile.am): Substitute them.
45589         * lib/stdio.in.h (rename): Declare replacement.
45590         * lib/rename.c (includes): Allow cross-compilation to non-windows
45591         machines.
45592         * doc/posix-functions/rename.texi (rename): Improve
45593         documentation.
45594
45595         stdio: sort witness names
45596         * modules/stdio (Makefile.am): Sort replacements.
45597         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45598         * lib/stdio.in.h: Likewise.
45599
45600         getcwd: minor cleanups
45601         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45602         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45603
45604         openat: provide more convenience names
45605         * modules/faccessat (configure.ac): Add C witness.
45606         * lib/unistd.in.h (readlinkat): Fix typo.
45607         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45608         convenience wrappers.
45609         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45610         wrappers in syntax checks.
45611
45612 2009-09-06  Eric Blake  <ebb9@byu.net>
45613
45614         doc: fix comments in recent patches
45615         * lib/faccessat.c: Mention correct function.
45616         * lib/fchmodat.c: Likewise.
45617         * lib/fchownat.c: Likewise.
45618         * lib/symlinkat.c: Likewise.
45619         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45620         constants.
45621
45622         faccessat, symlinkat: continue cleanup of previous patch
45623         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45624         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45625         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45626         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45627         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45628         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45629         set.
45630
45631 2009-09-06  Bruno Haible  <bruno@clisp.org>
45632
45633         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45634         (fstatat): Declare if GNULIB_FSTATAT is set.
45635         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45636         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45637         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45638         * modules/fcntl-h (Files): Remove m4/openat.m4.
45639         * modules/sys_stat (Files): Remove m4/openat.m4.
45640         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45641         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45642         * modules/unistd (Files): Remove m4/openat.m4.
45643         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45644         GNULIB_OPENAT.
45645         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45646         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45647         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45648         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45649         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45650         gl_OPENAT_DEFAULTS.
45651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45652         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45653         Don't require gl_OPENAT_DEFAULTS.
45654         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45655         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45656         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45657         (gl_OPENAT_DEFAULTS): Remove macro.
45658
45659 2009-09-06  Bruno Haible  <bruno@clisp.org>
45660
45661         * modules/openat (configure.ac): Remove unneeded witness.
45662
45663 2009-09-06  Bruno Haible  <bruno@clisp.org>
45664
45665         Set errno to ENOSYS when a function is entirely unsupported.
45666         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45667         EOPNOTSUPP.
45668         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45669         * modules/chown (Depends-on): Remove errno.
45670
45671 2009-09-06  Bruno Haible  <bruno@clisp.org>
45672
45673         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45674
45675 2009-09-06  Bruno Haible  <bruno@clisp.org>
45676
45677         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45678
45679 2009-09-06  Ben Pfaff  <blp@gnu.org>
45680             Bruno Haible  <bruno@clisp.org>
45681
45682         Work around a glibc bug in strtok_r.
45683         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45684         Undefine if UNDEFINE_STRTOK_R is set.
45685         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45687         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45688         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45689         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45690         UNDEFINE_STRTOK_R.
45691         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45692
45693 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45694
45695         exclude: minor fix
45696         * lib/exclude.c: Include wctype.h
45697
45698 2009-09-06  Akim Demaille  <demaille@gostai.com>
45699
45700         bootstrap: improve error message
45701         * build-aux/bootstrap (find_tool): Upon failure, report the list
45702         of candidates.
45703         Honor the initial value of the envvar.
45704
45705 2009-09-05  Eric Blake  <ebb9@byu.net>
45706
45707         symlinkat: new module
45708         * modules/symlinkat: New file.
45709         * lib/symlinkat.c: Likewise.
45710         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45712         * modules/unistd (Makefile.am): Use them.
45713         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45714         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45715         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45716         * MODULES.html.sh (File system functions): Mention module.
45717         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45718         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45719         * modules/symlinkat-tests: New test.
45720         * tests/test-symlinkat.c: Likewise.
45721
45722         test-openat-safer: add more checks
45723         * tests/test-openat-safer.c (main): Check more code paths.
45724
45725 2009-09-05  Jim Meyering  <meyering@redhat.com>
45726
45727         syntax-check: detect unnecessary inclusion of openat.h
45728         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45729
45730 2009-09-05  Bruno Haible  <bruno@clisp.org>
45731
45732         Support towlower, towupper.
45733         * doc/posix-functions/towlower.texi: Mention module wctype.
45734         * doc/posix-functions/towupper.texi: Likewise.
45735         * lib/wctype.in.h (towlower, towupper): New functions.
45736         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45737         (ASSERT): New macro.
45738         (e): New variable.
45739         (main): Test also towlower, towupper. Test WEOF argument.
45740         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45741
45742 2009-09-05  Bruno Haible  <bruno@clisp.org>
45743
45744         Fix conversion behaviour when the input is invalid.
45745         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45746         mark occurring in first pass of indirect conversion.
45747         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45748         input.
45749         Found by clang's static analyzer.
45750
45751 2009-09-05  Bruno Haible  <bruno@clisp.org>
45752
45753         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45754         where direct conversion is possible.
45755
45756 2009-09-04  Eric Blake  <ebb9@byu.net>
45757
45758         openat: fail with ENOENT on empty name
45759         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45760         buffer.
45761
45762         link-follow: fix logic bug in prior patch
45763         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45764         reversed sense of yes and no in prior patch.  Avoid confusing
45765         compilation failure with desired semantics.
45766
45767         link-follow: accommodate mingw and cross-compilation
45768         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45769         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45770         cross-compilation results to -1, to make linkat easier to
45771         implement when cross-compiling.  Trivially support mingw.
45772         * modules/link-follow (configure.ac): Call new name.
45773         * NEWS: Mention this.
45774
45775 2009-09-03  Eric Blake  <ebb9@byu.net>
45776
45777         faccessat: compile replacement
45778         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45779         needed.
45780
45781         fts: fix compilation error
45782         * lib/fts.c (includes): Re-add "openat.h", for
45783         openat_needs_fchdir.
45784
45785         faccessat: new module
45786         * modules/faccessat: New file.
45787         * lib/faccessat.c: Likewise.
45788         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45790         * modules/unistd (Makefile.am): Use it.
45791         * lib/unistd.in.h (faccessat): Declare it.
45792         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45793         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45794         * MODULES.html.sh (File system functions): Mention it.
45795         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45796         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45797
45798         euidaccess: prefer POSIX over non-standard implementation
45799         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45800         * lib/euidaccess.c (euidaccess): Use it if available.
45801
45802         openat: make template easier to use
45803         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45804         AT_FUNC_F2 to be undefined.
45805         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45806         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45807         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45808         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45809         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45810         Likewise.
45811         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45812         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45813         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45814         Likewise.
45815
45816         openat: declare in POSIX headers
45817         * NEWS: Mention this.
45818         * modules/openat (configure.ac): Declare witnesses.
45819         (Depends-on): Add fcntl-h, sys_stat, unistd.
45820         (Include): Mention correct headers.
45821         * modules/fcntl-h (Depends-on): Add link-warning.
45822         (Files): Add openat.m4.
45823         (Makefile.am): Substitute witnesses.
45824         * modules/sys_stat (Files, Makefile.am): Likewise.
45825         * modules/unistd (Files, Makefile.am): Likewise.
45826         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45827         (gl_OPENAT_DEFAULTS): New macro.
45828         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45830         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45831         (SYS_STAT_H): Remove unused variable.
45832         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45833         * lib/fcntl--.h (includes): Remove unneeded header.
45834         * lib/openat-safer.c (includes): Likewise.
45835         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45836         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45837         appropriate headers.
45838         (__OPENAT_PREFIX): Delete.
45839         * lib/fcntl.in.h (openat): Provide declaration.
45840         (AT_FDCWD): Fix Solaris bug.
45841         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45842         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45843         * lib/fchmodat.c (includes):  Adjust to find declaration.
45844         * lib/fchownat.c (includes): Likewise.
45845         * lib/mkdirat.c (includes): Likewise.
45846         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45847         still visible.
45848
45849 2009-09-02  Eric Blake  <ebb9@byu.net>
45850
45851         errno: use consistently
45852         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45853         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45854         * lib/canonicalize.c (ELOOP): Likewise.
45855         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45856         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45857         * lib/lchown.c (EOPNOTSUPP): Likewise.
45858         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45859         * lib/savewd.c (ESTALE): Likewise.
45860         * lib/settime.c (ENOSYS): Likewise.
45861         * lib/utimens.c (ENOSYS): Likewise.
45862         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45863         * lib/chdir-safer.c (ELOOP): Likewise.
45864         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45865         * modules/c-stack (Depends-on): Add errno.
45866         * modules/canonicalize (Depends-on): Likewise.
45867         * modules/chdir-safer (Depends-on): Likewise.
45868         * modules/fdopendir (Depends-on): Likewise.
45869         * modules/inet_ntop (Depends-on): Likewise.
45870         * modules/inet_pton (Depends-on): Likewise.
45871         * modules/lchown (Depends-on): Likewise.
45872         * modules/openat (Depends-on): Likewise.
45873         * modules/savewd (Depends-on): Likewise.
45874         * modules/settime (Depends-on): Likewise.
45875         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45876
45877         fts: avoid leaking fds
45878         * modules/fts (Depends-on): Add cloexec.
45879         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45880         flag.
45881
45882         fts: make directory fds more robust
45883         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45884         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45885
45886         backupfile, chdir-long, fts, savedir: make safer
45887         * lib/backupfile.c (includes): Use "dirent--.h", since
45888         numbered_backup can write to stderr during readdir.
45889         * lib/savedir.c (includes): Likewise.
45890         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45891         emulation can write to stderr on failure.
45892         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45893         * lib/getcwd.c: Document why opendir_safer is unused.
45894         * lib/glob.c: Likewise.
45895         * lib/scandir.c: Likewise.
45896         * lib/openat-proc.c: Likewise, for open_safer.
45897         * modules/backupfile (Depends-on): Add dirent-safer.
45898         * modules/savedir (Depends-on): Likewise.
45899         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45900         * modules/chdir-long (Depends-on): Add openat-safer.
45901
45902         openat-safer: new module
45903         * modules/openat-safer: New file.
45904         * lib/openat-safer.c: Likewise.
45905         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45906         * lib/fcntl-safer.h (openat_safer): Declare.
45907         * lib/fcntl--.h (openat): Override.
45908         * MODULES.html.sh (File descriptor based I/O): Mention it.
45909         * lib/openat.h: Add double-inclusion guards.
45910         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45911         "fcntl--.h", so we can implement openat.
45912         * modules/openat-safer-tests: New test.
45913         * tests/test-openat-safer.c: New file.
45914
45915         dirent-safer: new module
45916         * modules/dirent-safer: New file.
45917         * lib/dirent--.h: Likewise.
45918         * lib/dirent-safer.h: Likewise.
45919         * lib/opendir-safer.c: Likewise.
45920         * m4/dirent-safer.m4: Likewise.
45921         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45922         * modules/dirent-safer-tests: New test.
45923         * tests/test-dirent-safer.c: New file.
45924         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45925
45926         fdopendir: optimize on mingw
45927         * lib/unistd.in.h (_gl_directory_name): New prototype.
45928         * lib/fchdir.c (_gl_directory_name): Implement it.
45929         (fchdir): Use it to simplify implementation.
45930         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45931         fchdir, when available, to avoid calling [f]chdir().
45932
45933         fdopendir: split into its own module
45934         * lib/openat.c (fdopendir): Move...
45935         * lib/fdopendir.c: ...into new file.
45936         * modules/fdopendir: New module.
45937         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45938         * modules/openat (Depends-on): Add fdopendir.
45939         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45940         fdopendir here.
45941         * modules/savedir (Depends-on): Only need fdopendir, not full
45942         openat.
45943         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45944         * lib/openat.h (fdopendir): Drop prototype.
45945         * lib/dirent.in.h (fdopendir): Provide prototype.
45946         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45947         * modules/dirent (Makefile.am): Substitute them.
45948         * MODULES.html.sh (File system functions): Mention it.
45949         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45950         * modules/fdopendir-tests: New file.
45951         * tests/test-fdopendir.c: Likewise.
45952
45953         fchdir: use more consistent macro convention
45954         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45955         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45956         REPLACE_FCHDIR, rather than relying on config.h macros.
45957         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45958         inside a single make-time REPLACE_FCHDIR block, rather than using
45959         the config.h FCHDIR_REPLACEMENT.
45960         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45961         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45962         Manage fstat replacement.
45963         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45964         REPLACE_FCHDIR.
45965         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45966         (Makefile.am): Substitute REPLACE_FCHDIR.
45967         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45968         FCHDIR_REPLACEMENT.
45969         * lib/dup-safer.c (dup_safer): Likewise.
45970         * lib/dup2.c (rpl_dup2): Likewise.
45971         * lib/dup3.c (rpl_dup3): Likewise.
45972         * lib/open.c (rpl_open): Likewise.
45973
45974         fchdir: simplify error handling, and support dup3
45975         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45976         stdbool, malloc-posix, realloc-posix.
45977         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45978         (ensure_dirs_slot): Return false on allocation failure.
45979         (rpl_dup2): Delete.
45980         (_gl_register_dup): New function.
45981         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45982         (_gl_register_fd): Close fd on allocation failure.
45983         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45984         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45985         prototype.
45986         (rpl_dup2_fchdir): Delete prototype.
45987         * lib/open.c (open): Update caller.
45988         * lib/dup2.c (dup2): Track fchdir metadata.
45989         * lib/dup3.c (dup3): Likewise.
45990         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45991         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45992
45993 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45994
45995         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45996         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45997         don't pass arguments to AC_OUTPUT.
45998
45999 2009-09-02  Bruno Haible  <bruno@clisp.org>
46000
46001         * modules/mkdtemp (License): Relicense under LGPLv2+.
46002         Reported by Paolo Bonzini.
46003
46004 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46005
46006         Replace uses of obsolete autoconf macros in Jim's modules.
46007         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46008         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46009         can evoke a warning from autoconf when run with -Wobsolete
46010         enabled.  They were declared obsolete for good reasons (see
46011         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46012         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46013         should not continue using the deprecated macros.
46014         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46015         obsolete Autoconf macros with modern counterparts.
46016         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46017         * m4/dos.m4 (gl_AC_DOS): Likewise.
46018         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46019         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46020         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46021         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46022         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46023         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46024         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46025         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46026         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46027         Likewise.
46028         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46029         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46030         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46031         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46032         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46033         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46034
46035 2009-09-01  Eric Blake  <ebb9@byu.net>
46036
46037         fchdir: fix off-by-one bug in previous patch
46038         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46039         (_gl_unregister_fd): Delete useless if.
46040
46041 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46042
46043         maint.mk: sort the list of syntax-check rules
46044         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46045         easier to get a sense of progress when the rules are run sequentially
46046         and take a long time.
46047
46048 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46049
46050         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46051         * modules/netinet_in: Likewise.
46052         * modules/sys_file: Likewise.
46053         * modules/sys_ioctl: Likewise.
46054         * modules/sys_select: Likewise.
46055         * modules/sys_socket: Likewise.
46056         * modules/sys_stat: Likewise.
46057         * modules/sys_time: Likewise.
46058         * modules/sys_times: Likewise.
46059         * modules/sys_utsname: Likewise.
46060         * modules/sys_wait: Likewise.
46061
46062 2009-09-01  Jim Meyering  <meyering@redhat.com>
46063
46064         fts: help ensure that return values are not ignored
46065         * lib/fts_.h (__GNUC_PREREQ): Define.
46066         (__attribute_warn_unused_result__): Define.
46067         (fts_children, fts_close, fts_open, fts_read): Declare with
46068         __attribute_warn_unused_result__.
46069
46070         fts: fts_close now fails also when closing a dir file descriptor fails
46071         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46072         and propagate to caller, along with errno.
46073
46074         announce-gen: correct formatting in --help output
46075         * build-aux/announce-gen (usage): Move the one-line description in
46076         --help output "up", to where it belongs, just after Usage:.
46077
46078 2009-08-31  Eric Blake  <ebb9@byu.net>
46079
46080         fchdir: port to mingw
46081         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
46082         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46083         opened, then use a substitute.
46084         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46085         replacement.
46086         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46087         (_gl_register_fd): No need to check stat if open already filters
46088         all directories.
46089         (fchdir): Fix error condition to match POSIX.
46090         * modules/fchdir (Depends-on): Add sys_stat.
46091         * doc/posix-functions/open.texi (open): Document the limitation.
46092         * modules/fchdir-tests: New file.
46093         * tests/test-fchdir.c: Likewise.
46094
46095         canonicalize: allow cross-testing from cygwin to mingw
46096         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46097         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46098         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46099         Likewise.
46100         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46101         target does not support symlinks.
46102         * tests/test-canonicalize-lgpl.sh: Likewise.
46103
46104         chown: avoid compilation warning on mingw
46105         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46106         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46107         mingw.
46108         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46109         * modules/chown (Depends-on): Add errno.
46110
46111 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46112
46113         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46114         command.
46115
46116 2009-08-31  Jim Meyering  <meyering@redhat.com>
46117
46118         canonicalize: remove useless initialization
46119         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46120         initialization of local, "end".
46121
46122 2009-08-30  Bruno Haible  <bruno@clisp.org>
46123
46124         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46125         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46126         ENOSYS.
46127
46128 2009-08-30  Bruno Haible  <bruno@clisp.org>
46129
46130         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46131         /usr/xpg4/bin/tr when it exists.
46132         * tests/test-pipe-filter-gi1.sh: Likewise.
46133
46134 2009-08-30  Bruno Haible  <bruno@clisp.org>
46135
46136         Work around deficient /usr/bin/id program on Solaris.
46137         * tests/test-file-has-acl.sh (ID): New variable.
46138         * tests/test-set-mode-acl.sh (ID): Likewise.
46139         * tests/test-copy-acl.sh (ID): Likewise.
46140         * tests/test-copy-file.sh (ID): Likewise.
46141
46142 2009-08-30  Bruno Haible  <bruno@clisp.org>
46143
46144         New module 'xstriconveh'.
46145         * lib/xstriconveh.h: New file.
46146         * lib/xstriconveh.c: New file.
46147         * modules/xstriconveh: New file.
46148
46149 2009-08-30  Bruno Haible  <bruno@clisp.org>
46150
46151         Make it easier to use mem_cd_iconveh.
46152         * lib/striconveh.h (iconveh_t): New type.
46153         (iconveh_open, iconveh_close): New declarations.
46154         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46155         with a single 'const iconveh_t *' argument.
46156         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46157         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46158         with a single 'const iconveh_t *' argument.
46159         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46160         * tests/test-striconveh.c (main): Update.
46161         * NEWS: Mention the change.
46162
46163 2009-08-30  Bruno Haible  <bruno@clisp.org>
46164
46165         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46166         problem.
46167
46168 2009-08-30  Bruno Haible  <bruno@clisp.org>
46169
46170         Work around iconv_open problem on Solaris.
46171         * lib/iconv_open-solaris.gperf: New file.
46172         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46173         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46174         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46175         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46176         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46177         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46178
46179 2009-08-29  Jim Meyering  <meyering@redhat.com>
46180
46181         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46182         * top/maint.mk (cvs-check): Remove target; it was just an alias
46183         to the better-named vc-diff-check.
46184         (maintainer-distcheck): Remove rule.  It was used only from
46185         the (alpha/beta/major) target, and all of its commands but one
46186         were coreutils-specific.
46187         (vc-dist): Remove rule.
46188         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46189         Run vc-diff-check, not vc-dist.
46190         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46191
46192 2009-08-27  Bruno Haible  <bruno@clisp.org>
46193
46194         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46195         of 0.
46196
46197 2009-08-27  Bruno Haible  <bruno@clisp.org>
46198
46199         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46200         compilers.
46201         * doc/func.texi: Document the SunPRO C bug.
46202
46203 2009-08-27  Bruno Haible  <bruno@clisp.org>
46204
46205         Fix link error on Solaris.
46206         * tests/test-parse-duration.c (xstrdup): Remove function.
46207
46208 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46209
46210         ignore-value: handle pointer types, too
46211         * lib/ignore-value.h (__attribute__): Remove definition.
46212         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46213         of a more concise and more-often effective "(void) i" statement.
46214         (ignore_ptr): New function to suppress warnings from functions that
46215         return pointers, and to make it explicit that one function doesn't
46216         handle all cases.
46217
46218 2009-08-25  Bruno Haible  <bruno@clisp.org>
46219
46220         dup2: work around a Linux bug.
46221         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46222         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46223         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46224         Reported by Simon Josefsson.
46225
46226 2009-08-25  Jim Meyering  <meyering@redhat.com>
46227
46228         libguestfs uses gnulib
46229         * users.txt: Add libguestfs.
46230
46231 2009-08-24  Eric Blake  <ebb9@byu.net>
46232
46233         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46234         * lib/pipe2.c (includes): Add binary-io.h.
46235         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46236
46237 2009-08-24  Bruno Haible  <bruno@clisp.org>
46238
46239         Tolerate declared but missing accept4 syscall.
46240         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46241         available.
46242         * lib/sys_socket.in.h (accept4): If the function is already present,
46243         override it.
46244         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46245         * modules/accept4 (Makefile.am): Compile accept4.c always.
46246         Reported by Paolo Bonzini and Eric Blake.
46247
46248 2009-08-23  Bruno Haible  <bruno@clisp.org>
46249
46250         New module 'accept4'.
46251         * lib/sys_socket.in.h (accept4): New declaration.
46252         * lib/accept4.c: New file.
46253         * m4/accept4.m4: New file.
46254         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46255         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46256         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46257         HAVE_ACCEPT4.
46258         * modules/accept4: New file.
46259         * doc/glibc-functions/accept4.texi: Mention the new module.
46260
46261 2009-08-24  Jim Meyering  <meyering@redhat.com>
46262
46263         progname: also set global program_invocation_name, when possible
46264         Before this change, a libtool-enabled program that calls glibc's
46265         error function would report the program name as
46266         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46267         * modules/progname (configure.ac): Check for a declaration of
46268         program_invocation_name.
46269         * lib/progname.c:  Include <errno.h>.
46270         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46271         Set program_invocation_name.
46272
46273 2009-08-23  Bruno Haible  <bruno@clisp.org>
46274
46275         * lib/dup3.c: Include <string.h>.
46276
46277 2009-08-23  Bruno Haible  <bruno@clisp.org>
46278
46279         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46280         * lib/pipe2.c (pipe2): Likewise.
46281         Suggested by Eric Blake.
46282
46283 2009-08-23  Bruno Haible  <bruno@clisp.org>
46284
46285         Tolerate declared but missing dup3 syscall.
46286         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46287         * lib/unistd.in.h (dup3): If the function is already present,
46288         override it.
46289         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46290         * modules/dup3 (Makefile.am): Compile dup3.c always.
46291         Reported by Paolo Bonzini.
46292
46293 2009-08-23  Bruno Haible  <bruno@clisp.org>
46294
46295         Tolerate declared but missing pipe2 syscall.
46296         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46297         available.
46298         * lib/unistd.in.h (pipe2): If the function is already present,
46299         override it.
46300         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46301         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46302         Reported by Paolo Bonzini.
46303
46304 2009-08-23  Bruno Haible  <bruno@clisp.org>
46305
46306         * lib/pipe2.c (pipe2): Move #ifs inside function.
46307
46308 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46309
46310         quotearg: document limitations of quote_these_too
46311         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46312         those limitations are created.
46313         * lib/quotearg.h (set_char_quoting): Document that digits and
46314         letters that are special after backslash are not permitted.
46315         (quotearg_char): Cross-reference set_char_quoting documentation.
46316
46317 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46318
46319         quotearg: implement custom_quoting_style
46320         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46321         right_quote fields.
46322         (set_custom_quoting): New public function.
46323         (quotearg_buffer_restyled): Add left_quote and right_quote
46324         arguments, handle them very much like locale quoting, and update
46325         all uses.
46326         (quotearg_n_custom): New public function.
46327         (quotearg_n_custom_mem): New public function.
46328         (quotearg_custom): New public function.
46329         (quotearg_custom_mem): New public function.
46330         * lib/quotearg.h: Prototype and document new public functions.
46331         (enum quoting_style): For escape_quoting_style and
46332         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46333         ignored even though they're otherwise like c_quoting_style.
46334         Add custom_quoting_style member and document with comparison to
46335         clocale_quoting_style.
46336         * tests/test-quotearg.c (custom_quotes): New array.
46337         (custom_results): New array.
46338         (main): Extend to test custom quoting.
46339
46340 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46341
46342         quotearg: fix right quote escaping when it's in quote_these_too
46343         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46344         quote, be sure to prepend only one backslash.
46345         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46346         (main): Test it.
46347
46348 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46349
46350         quotearg-tests: test escaping of embedded locale quotes
46351         * tests/test-quotearg.c (struct result_strings): Add member for
46352         new input.
46353         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46354         (inputs): Add new input.
46355         (results_g): Add expected results.
46356         (flag_results): Likewise.
46357         (locale_results): Likewise.
46358         (compare_strings): Check those.
46359
46360 2009-08-23  Bruno Haible  <bruno@clisp.org>
46361
46362         Tests for module 'dup3'.
46363         * modules/dup3-tests: New file.
46364         * tests/test-dup3.c: New file.
46365
46366         New module 'dup3'.
46367         * lib/unistd.in.h (dup3): New declaration.
46368         * lib/dup3.c: New file.
46369         * m4/dup3.m4: New file.
46370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46371         HAVE_DUP3.
46372         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46373         * modules/dup3: New file.
46374         * doc/glibc-functions/dup3.texi: Mention the new module.
46375
46376 2009-08-23  Bruno Haible  <bruno@clisp.org>
46377
46378         Tweak the dup2 test.
46379         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46380         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46381         the test file is still empty. Fix argument order of lseek.
46382
46383 2009-08-23  Bruno Haible  <bruno@clisp.org>
46384
46385         Avoid test link errors when the modules getopt-gnu, gettext are used.
46386         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46388
46389 2009-08-23  Bruno Haible  <bruno@clisp.org>
46390
46391         Fix getdtablesize() on mingw.
46392         * lib/getdtablesize.c (getdtablesize): Implement differently.
46393         * lib/unistd.in.h (getdtablesize): Improve comment.
46394
46395 2009-08-23  Bruno Haible  <bruno@clisp.org>
46396
46397         New module 'mkostemp'.
46398         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46399         * lib/stdlib.in.h (mksotemp): New declaration.
46400         * lib/mkostemp.c: New file, from glibc with modifications.
46401         * lib/tempname.h (GT_FILE): Remove outdated comment.
46402         (gen_tempname): Add flags argument.
46403         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46404         (__GT_FILE): Map to 1.
46405         (small_open, large_open): Remove macros.
46406         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46407         * lib/mkstemp.c (mkstemp): Update.
46408         * lib/mkdtemp.c (mkdtemp): Likewise.
46409         * m4/mkostemp.m4: New file.
46410         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46411         HAVE_MKOSTEMP.
46412         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46413         HAVE_MKOSTEMP.
46414         * modules/mkostemp: New file, based on modules/mkstemp.
46415         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46416         * NEWS: Mention the change.
46417
46418 2009-08-23  Bruno Haible  <bruno@clisp.org>
46419
46420         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46421         Reported by Eric Blake.
46422
46423 2009-08-23  Bruno Haible  <bruno@clisp.org>
46424
46425         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46426         Reported by Eric Blake.
46427
46428 2009-08-23  Bruno Haible  <bruno@clisp.org>
46429
46430         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46431         * modules/pipe2 (Depends-on): Likewise.
46432
46433 2009-08-23  Eric Blake  <ebb9@byu.net>
46434
46435         fcntl-h: add O_TTY_INIT support
46436         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46437         * tests/test-fcntl-h.c (o): Test it.
46438         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46439
46440         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46441         * modules/fcntl: Move <fcntl.h> header replacement...
46442         * modules/fcntl-h: ...to new name, so as not to collide with
46443         like-named function.
46444         * tests/test-fcntl.c: Rename...
46445         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46446         * modules/fcntl-tests: Rename...
46447         * modules/fcntl-h-tests: ...to this.  Update test file name.
46448         * modules/chdir-long (Depends-on): Update clients.
46449         * modules/chdir-safer (Depends-on): Likewise.
46450         * modules/fcntl-safer (Depends-on): Likewise.
46451         * modules/fts (Depends-on): Likewise.
46452         * modules/mkancesdirs (Depends-on): Likewise.
46453         * modules/mkdir-p (Depends-on): Likewise.
46454         * modules/open (Depends-on): Likewise.
46455         * modules/savewd (Depends-on): Likewise.
46456         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46457         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46458
46459 2009-08-22  Bruno Haible  <bruno@clisp.org>
46460
46461         * modules/binary-io (License): Relicense under LGPL.
46462         * modules/pipe2 (License): Likewise.
46463
46464 2009-08-22  Bruno Haible  <bruno@clisp.org>
46465
46466         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46467         return value.
46468         * lib/pipe-filter-gi.c (filter_init): Likewise.
46469         Reported by Eric Blake.
46470
46471 2009-08-22  Bruno Haible  <bruno@clisp.org>
46472
46473         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46474         * modules/pipe (Depends-on): Add pipe2.
46475
46476 2009-08-22  Bruno Haible  <bruno@clisp.org>
46477
46478         Tests for module 'pipe2'.
46479         * modules/pipe2-tests: New file.
46480         * tests/test-pipe2.c: New file.
46481
46482         New module 'pipe2'.
46483         * lib/unistd.in.h (pipe2): New declaration.
46484         * lib/pipe2.c: New file.
46485         * m4/pipe2.m4: New file.
46486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46487         HAVE_PIPE2.
46488         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46489         * modules/pipe2: New file.
46490         * doc/glibc-functions/pipe2.texi: Mention the new module.
46491
46492 2009-08-22  Bruno Haible  <bruno@clisp.org>
46493
46494         Reference some new glibc functions.
46495         * doc/glibc-functions/accept4.texi: New file.
46496         * doc/glibc-functions/dup3.texi: New file.
46497         * doc/glibc-functions/mkostemp.texi: New file.
46498         * doc/glibc-functions/pipe2.texi: New file.
46499         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46500         (Glibc sys/socket.h): Refer to accept4.
46501         (Glibc unistd.h): Refer to dup3, pipe2.
46502         Reported by Eric Blake.
46503
46504 2009-08-22  Jim Meyering  <meyering@redhat.com>
46505             Bruno Haible  <bruno@clisp.org>
46506
46507         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46508         This makes it so packages using automake-1.11's silent-rules option
46509         can print e.g., a single "GEN    configmake.h" line, rather than
46510         the 30+ statements that perform the job.  If you want to see the
46511         actual commands, you can still run "make V=1".
46512         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46513         so that make output is abbreviated when those variables are defined
46514         appropriately.
46515         * modules/argz: Likewise.
46516         * modules/arpa_inet: Likewise.
46517         * modules/byteswap: Likewise.
46518         * modules/configmake: Likewise.
46519         * modules/dirent: Likewise.
46520         * modules/errno: Likewise.
46521         * modules/fcntl: Likewise.
46522         * modules/float: Likewise.
46523         * modules/fnmatch: Likewise.
46524         * modules/getopt-posix: Likewise.
46525         * modules/glob: Likewise.
46526         * modules/iconv_open: Likewise.
46527         * modules/inttypes: Likewise.
46528         * modules/localcharset: Likewise.
46529         * modules/locale: Likewise.
46530         * modules/math: Likewise.
46531         * modules/netdb: Likewise.
46532         * modules/netinet_in: Likewise.
46533         * modules/poll: Likewise.
46534         * modules/posix_spawnp-tests: Likewise.
46535         * modules/sched: Likewise.
46536         * modules/search: Likewise.
46537         * modules/selinux-h: Likewise.
46538         * modules/signal: Likewise.
46539         * modules/spawn: Likewise.
46540         * modules/stdarg: Likewise.
46541         * modules/stdbool: Likewise.
46542         * modules/stddef: Likewise.
46543         * modules/stdint: Likewise.
46544         * modules/stdio: Likewise.
46545         * modules/stdlib: Likewise.
46546         * modules/string: Likewise.
46547         * modules/strings: Likewise.
46548         * modules/sys_file: Likewise.
46549         * modules/sys_ioctl: Likewise.
46550         * modules/sys_select: Likewise.
46551         * modules/sys_socket: Likewise.
46552         * modules/sys_stat: Likewise.
46553         * modules/sys_time: Likewise.
46554         * modules/sys_times: Likewise.
46555         * modules/sys_utsname: Likewise.
46556         * modules/sys_wait: Likewise.
46557         * modules/sysexits: Likewise.
46558         * modules/time: Likewise.
46559         * modules/unistd: Likewise.
46560         * modules/wchar: Likewise.
46561         * modules/wctype: Likewise.
46562
46563 2009-08-22  Jim Meyering  <meyering@redhat.com>
46564
46565         announce-gen: detect write failure
46566         * build-aux/announce-gen: Add Coda at end.
46567         Remove equivalent-but-more-verbose block at top.
46568
46569 2009-08-19  Akim Demaille  <demaille@gostai.com>
46570
46571         bootstrap: --help to stdout.
46572         * bootstrap (usage): Don't send --help to stderr.
46573         Use a here doc instead of a long string.
46574
46575 2009-08-21  Eric Blake  <ebb9@byu.net>
46576
46577         test-popen-safer: split from test-popen
46578         * tests/test-popen.c (main): Move...
46579         * tests/test-popen.h: ...into new file.
46580         * tests/test-popen-safer2.c: New file.
46581         * modules/popen-tests (Files): Add test-popen.h.
46582         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46583         Suggested by Bruno Haible.
46584
46585         test-fcntl-safer: split from test-open
46586         * tests/test-open.c (main): Move...
46587         * tests/test-open.h: ...into new file.
46588         * tests/test-fcntl-safer.c: New file.
46589         * modules/open-tests (Files): Add test-open.h.
46590         * modules/fcntl-safer-tests: New file.
46591         Suggested by Bruno Haible.
46592
46593         test-fopen-safer: split from test-fopen
46594         * tests/test-fopen.c (main): Move...
46595         * tests/test-fopen.h: ...into new file.
46596         * tests/test-fopen-safer.c: New file.
46597         * modules/fopen-tests (Files): Add test-fopen.h.
46598         * modules/fopen-safer-tests: New file.
46599         Suggested by Bruno Haible.
46600
46601 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46602
46603         popen-safer: test O_CLOEXEC at run-time.
46604         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46605
46606 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46607
46608         fcntl: move more flags to the header
46609         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46610         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46611         * lib/fcntl.in.h: Do both things here.
46612
46613 2009-08-21  Jim Meyering  <meyering@redhat.com>
46614
46615         consistently remove $@-t before redirecting to it
46616         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46617         * modules/alloca-opt: Likewise.
46618         * modules/byteswap: Likewise.
46619         * modules/fnmatch: Likewise.
46620         * modules/getopt-posix: Likewise.
46621         * modules/glob: Likewise.
46622         * modules/poll: Likewise.
46623         * modules/posix_spawnp-tests: Likewise.
46624         * modules/sys_socket: Likewise.
46625         * modules/sysexits: Likewise.
46626
46627 2009-08-21  Eric Blake  <ebb9@byu.net>
46628
46629         popen: simplify access to original popen
46630         * lib/popen.c (rpl_popen): No need to worry about popen being a
46631         macro.
46632         Reported by Bruno Haible.
46633
46634 2009-08-20  Eric Blake  <ebb9@byu.net>
46635
46636         build: avoid some compiler warnings
46637         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46638         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46639         type.
46640         (new_exclude_segment, excluded_file_pattern_p)
46641         (excluded_file_name_p): Reduce scope.
46642         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46643         old-style declaration.
46644
46645 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46646
46647         * tests/test-exclude1.sh: Handle Windows EOL.
46648         * tests/test-exclude2.sh: Likewise.
46649         * tests/test-exclude3.sh: Likewise.
46650         * tests/test-exclude4.sh: Likewise.
46651         * tests/test-exclude5.sh: Likewise.
46652         * tests/test-exclude6.sh: Likewise.
46653         * tests/test-exclude7.sh: Likewise.
46654
46655 2009-08-19  Akim Demaille  <demaille@gostai.com>
46656
46657         bootstrap: find sha1sum when named gsha1sum.
46658         * bootstrap (find_tool): New.
46659         ($SHA1SUM): New.
46660         Use it.
46661
46662 2009-08-20  Jim Meyering  <meyering@redhat.com>
46663
46664         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46665         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46666         expression that converts "." in a file name to "\." in the resulting
46667         regexp.  Start with a dummy statement, so that prior shell variable
46668         definitions are expanded portably.  Reported by Simon Josefsson.
46669
46670 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46671
46672         Fix polling for writeability of a screen buffer.
46673         * lib/poll.c: Distinguish input and screen buffers for the
46674         Win32 implementation.
46675         * lib/select.c: Likewise.
46676
46677 2009-08-19  Eric Blake  <ebb9@byu.net>
46678
46679         popen-safer: prevent popen from clobbering std descriptors
46680         * modules/popen-safer: New file.
46681         * lib/popen-safer.c: Likewise.
46682         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46683         * lib/stdio--.h (popen): Provide override.
46684         * lib/stdio-safer.h (popen_safer): Provide declaration.
46685         * tests/test-popen.c (includes): Partially test this.
46686         * modules/popen-safer-tests: New file, for more tests.
46687         * tests/test-popen-safer.c: Likewise.
46688         * MODULES.html.sh (file stream based Input/Output): Mention it.
46689
46690         tests: test some of the *-safer modules
46691         * modules/fopen-safer (Depends-on): Add fopen.
46692         * modules/fcntl-safer (Depends-on): Add fcntl.
46693         * modules/stdlib-safer (Depends-on): Add stdlib.
46694         (configure.ac): Set indicator.
46695         * modules/unistd-safer (configure.ac): Likewise.
46696         * modules/tmpfile-safer (configure.ac): Likewise.
46697         (Depends-on): Add tmpfile.
46698         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46699         active.
46700         * tests/test-fopen.c (includes): Test safer versions when they are
46701         in use.
46702         * tests/test-open.c (includes): Likewise.
46703
46704         popen: fix cygwin 1.5 bug when stdin closed
46705         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46706         * modules/popen: New file.
46707         * modules/popen-tests: Likewise.
46708         * tests/test-popen.c: Likewise.
46709         * m4/popen.m4: Likewise.
46710         * lib/popen.c: Likewise.
46711         * lib/stdio.in.h (popen): New declaration.
46712         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46713         * modules/stdio (Makefile.am): Likewise.
46714         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46715
46716 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46717
46718         maint.mk: give full control over update-copyright exclusions
46719         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46720         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46721         (update-copyright): Don't force inclusion of top-level
46722         ChangeLog.  Don't force exclusion of all COPYING files, but make
46723         them the default exclusion instead.
46724
46725 2009-08-16  Bruno Haible  <bruno@clisp.org>
46726
46727         Fix test failures on Solaris 10.
46728         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46729         tests when Solaris iconv() is used.
46730         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46731         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46732         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46733         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46734         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46735
46736 2009-08-16  Bruno Haible  <bruno@clisp.org>
46737
46738         Fix test failures on Solaris 10.
46739         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46740         'tr' program and pass it as first argument.
46741         * tests/test-pipe-filter-gi1.sh: Likewise.
46742         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46743         program as first argument.
46744         * tests/test-pipe-filter-gi1.c (main): Likewise.
46745
46746 2009-08-16  Eric Blake  <ebb9@byu.net>
46747
46748         fpurge: fix previous commits
46749         * modules/fpurge (Makefile.am): Make replacement conditional,
46750         partially reverting 2007-04-29 change; missed in previous
46751         attempt.
46752         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46753         is missing.
46754
46755 2009-08-16  Bruno Haible  <bruno@clisp.org>
46756
46757         Clarify fpurge's effect on the file position.
46758         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46759         * tests/test-fpurge.c (main): Make a second pass for checking the file
46760         position.
46761
46762 2009-08-16  Bruno Haible  <bruno@clisp.org>
46763
46764         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46765         declaration of fpurge is missing.
46766         * tests/test-fpurge.c (main): Check that the file has not more contents
46767         than expected. Close the file before removing it.
46768
46769 2009-08-15  Eric Blake  <ebb9@byu.net>
46770
46771         fpurge: don't wrap working cygwin implementation
46772         * lib/fpurge.c (fpurge): Fix comment typo.
46773         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46774         1.7 to avoid replacement.
46775         * tests/test-fpurge.c (main): Enhance test.
46776
46777 2009-08-15  Eric Blake  <ebb9@byu.net>
46778         and Jim Meyering  <meyering@redhat.com>
46779
46780         test-update-copyright: skip if perl is insufficient
46781         * tests/test-update-copyright.sh: Failure to run maintainer tool
46782         should not cause testsuite failure on cygwin 1.5.
46783
46784 2009-08-14  Eric Blake  <ebb9@byu.net>
46785
46786         doc: mention more functions added in cygwin 1.7.0
46787         * doc/posix-headers/limits.texi (limits.h): Update for recent
46788         cygwin additions.
46789         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46790         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46791         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46792         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46793         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46794
46795 2009-08-14  Eric Blake  <ebb9@byu.net>
46796
46797         maint.mk: simplify update-copyright rule
46798         * top/maint.mk (update-copyright-local): Delete, and document how
46799         to do it in cfg.mk instead.
46800         (update-copyright-exclude-regexp): Delete, and document how to do
46801         it in .x-update-copyright instead.
46802         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46803         exclude ChangeLog.
46804
46805 2009-08-14  Bruno Haible  <bruno@clisp.org>
46806
46807         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46808
46809 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46810
46811         maint.mk: support update-copyright-env
46812         * top/maint.mk (update-copyright-env): Define place-holder.
46813         (update-copyright): Expand $(update-copyright-env) before
46814         invoking update-copyright.
46815
46816 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46817
46818         update-copyright: implement forced reformatting
46819         * build-aux/update-copyright: Implement and document
46820         UPDATE_COPYRIGHT_FORCE.
46821         * tests/test-update-copyright.sh: Test it.
46822
46823 2009-08-14  Eric Blake  <ebb9@byu.net>
46824         and Bruno Haible  <bruno@clisp.org>
46825
46826         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46827         * tests/test-locale.c: Revert previous patch related to NULL.
46828         * tests/test-stdio.c: Likewise.
46829         * tests/test-stdlib.c: Likewise.
46830         * tests/test-string.c: Likewise.
46831         * tests/test-unistd.c: Likewise.
46832         * modules/time-tests (Depends-on): Add verify.
46833         * modules/wchar-tests (Depends-on): Likewise.
46834         * tests/test-time.c: Test for NULL compliance.
46835         * tests/test-wchar.c: Likewise.
46836         * modules/locale (Depends-on): Add stddef.
46837         * modules/stdio (Depends-on): Likewise.
46838         * modules/stdlib (Depends-on): Likewise.
46839         * modules/string (Depends-on): Likewise.
46840         * modules/time (Depends-on): Likewise.
46841         * modules/unistd (Depends-on): Likewise.
46842         * modules/wchar (Depends-on): Likewise.
46843         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46844         * lib/stdlib.in.h (includes): Likewise.
46845         * lib/string.in.h (includes): Likewise.
46846         * lib/time.in.h (includes): Likewise.
46847         * lib/unistd.in.h (includes): Likewise.
46848         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46849         replaced.
46850         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46851         * m4/stddef_h.m4: New file.
46852         * modules/stddef: Likewise.
46853         * lib/stddef.in.h: Likewise.
46854         * modules/stddef-tests: Likewise.
46855         * tests/test-stddef.c: Likewise.
46856         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46857         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46858         * doc/posix-headers/locale.texi (locale.h): Likewise.
46859         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46860         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46861         * doc/posix-headers/string.texi (string.h): Likewise.
46862         * doc/posix-headers/time.texi (time.h): Likewise.
46863         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46864         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46865
46866 2009-08-14  Eric Blake  <ebb9@byu.net>
46867
46868         doc: improve git diff of texinfo files
46869         * .gitattributes: Add rule for *.texi files, with hint on how to
46870         use it.
46871         Copied from m4, and based on a report by Bruno Haible.
46872
46873 2009-08-14  Bruno Haible  <bruno@clisp.org>
46874
46875         Disable multithread support by default on Cygwin 1.5.x for real.
46876         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46877
46878 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46879
46880         update-copyright: much ado about intervals
46881         * build-aux/update-copyright: Implement and document
46882         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46883         of copyright year intervals.
46884         Also, document UPDATE_COPYRIGHT_YEAR.
46885         * tests/test-update-copyright.sh: Test it.
46886
46887         update-copyright: convert 2-digit to 4-digit years
46888         * build-aux/update-copyright: Implement and document.
46889         * tests/test-update-copyright.sh: Update.
46890
46891 2009-08-14  Jim Meyering  <meyering@redhat.com>
46892
46893         test-exclude: avoid coreutils "make check" failure
46894         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46895         just as in test-argmatch.c.
46896
46897 2009-08-13  Eric Blake  <ebb9@byu.net>
46898
46899         test-dup2: fix bad assumption
46900         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46901         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46902
46903         test-version-etc: fix CRLF portability issue
46904         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46905         recognize \r.
46906         * tests/test-argp-version-etc-1.sh: Likewise.
46907
46908         getopt: update client modules
46909         * modules/argp (Depends-on): Use getopt-gnu.
46910         * modules/git-merge-changelog (Depends-on): Likewise.
46911         * modules/long-options (Depends-on): Likewise.
46912         * modules/xstrtol (Depends-on): Likewise.
46913
46914 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46915
46916         * tests/test-version-etc.sh: Don't fail on different
46917         project/version.  Don't fail on CRLF differences.  Rewrite to use
46918         multiple -e instead of multiple sed forks, suggested by Eric Blake
46919         <ebb9@byu.net>.
46920         * tests/test-argp-version-etc-1.sh: Likewise.
46921
46922 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46923
46924         * tests/test-version-etc.sh: Don't fail on different
46925         project/version.
46926
46927 2009-08-12  Bruno Haible  <bruno@clisp.org>
46928
46929         Tests for modules 'getopt-posix', 'getopt-gnu'.
46930         * modules/getopt-posix-tests: New file.
46931         * tests/test-getopt.c: New file.
46932         * tests/test-getopt.h: New file.
46933         * tests/test-getopt_long.h: New file.
46934
46935         New modules 'getopt-posix', 'getopt-gnu'.
46936         * modules/getopt-gnu: New file, renamed from modules/getopt.
46937         * modules/getopt-posix: New file.
46938         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46939         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46940         (gl_GETOPT): Remove macro.
46941         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46942         Disable the test against BSD systems that declare optreset. Test
46943         against mingw bug. Test against lack of support of optional arguments
46944         on many platforms.
46945         * doc/glibc-headers/getopt.texi: Update module name and list of
46946         relevant platforms.
46947         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46948         'getopt-gnu' and more portability problems.
46949         * NEWS: Mention the changes.
46950
46951 2009-08-12  Bruno Haible  <bruno@clisp.org>
46952
46953         Ensure that optarg etc. get declared by <unistd.h>.
46954         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46955         AC_USE_SYSTEM_EXTENSIONS.
46956         * modules/getopt (Depends-on): Add 'extensions'.
46957
46958 2009-08-12  Bruno Haible  <bruno@clisp.org>
46959
46960         Avoid test link errors.
46961         * modules/pipe-filter-ii-tests (Makefile.am): Define
46962         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46963         * modules/pipe-filter-gi-tests (Makefile.am): Define
46964         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46965         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46966
46967 2009-08-12  Bruno Haible  <bruno@clisp.org>
46968
46969         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46970         gl_GETOPT_SUBSTITUTE before.
46971         (gl_GETOPT): Use it.
46972         * m4/argp.m4 (gl_ARGP): Update.
46973         Reported by Sergey Poznyakoff.
46974
46975         * m4/getopt.m4: Reorder macros.
46976         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46977         (gl_GETOPT_SUBSTITUTE): Remove macro.
46978
46979 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46980
46981         Minor improvement in gitlog-to-changelog
46982
46983         * build-aux/gitlog-to-changelog: New option `--format' makes
46984         output format string configurable.
46985
46986 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46987
46988         Optimize exclude: use hash tables for non-wildcard patterns.
46989
46990         * lib/exclude.c: Include hash.h and mbuiter.h
46991         (struct exclude_pattern, exclude_segment): New data types.
46992         (struct exclude): Rewrite.
46993         (fnmatch_pattern_has_wildcards): New function.
46994         (new_exclude_segment, free_exclude_segment): New functions.
46995         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46996         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46997         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46998         * modules/exclude: Depend on hash and mbuiter.
46999
47000         * modules/exclude-tests: New file.
47001         * tests/test-exclude.c: New file.
47002         * tests/test-exclude1.sh: New file.
47003         * tests/test-exclude2.sh: New file.
47004         * tests/test-exclude3.sh: New file.
47005         * tests/test-exclude4.sh: New file.
47006         * tests/test-exclude5.sh: New file.
47007         * tests/test-exclude6.sh: New file.
47008         * tests/test-exclude7.sh: New file.
47009
47010 2009-08-12  Bruno Haible  <bruno@clisp.org>
47011
47012         Ensure that getopt() gets declared by <unistd.h>.
47013         * lib/unistd.in.h: Conditionally include getopt.h.
47014         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47015         Set GNULIB_UNISTD_H_GETOPT.
47016         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47017         GNULIB_UNISTD_H_GETOPT.
47018         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47019
47020 2009-08-12  Bruno Haible  <bruno@clisp.org>
47021
47022         Clarify logic.
47023         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47024         gl_replace_getopt instead of GETOPT_H.
47025
47026 2009-08-12  Bruno Haible  <bruno@clisp.org>
47027
47028         * m4/getopt.m4: Add comments.
47029
47030 2009-08-12  Bruno Haible  <bruno@clisp.org>
47031
47032         Disable multithread support by default on Cygwin 1.5.x.
47033         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47034         set gl_use_threads=no if not specified otherwise.
47035
47036 2009-08-11  Bruno Haible  <bruno@clisp.org>
47037
47038         Avoid compilation error on NetBSD 5.0.
47039         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47040         * tests/test-stdio.c: Likewise.
47041         * tests/test-stdlib.c: Likewise.
47042         * tests/test-string.c: Likewise.
47043         * tests/test-unistd.c: Likewise.
47044         Reported by Greg Troxel <gdt@ir.bbn.com>
47045         at <https://savannah.gnu.org/support/?106973>.
47046
47047 2009-08-11  Bruno Haible  <bruno@clisp.org>
47048
47049         * modules/dup2-tests (Depends-on): Remove close.
47050
47051         Undo 2009-07-19 commit.
47052         * modules/acl-tests (Depends-on): Remove close.
47053         * modules/binary-io-tests (Depends-on): Likewise.
47054         * modules/closein-tests (Depends-on): Likewise.
47055         * modules/flock-tests (Depends-on): Likewise.
47056         * modules/fsync-tests (Depends-on): Likewise.
47057         * modules/lseek-tests (Depends-on): Likewise.
47058         * modules/pipe-tests (Depends-on): Likewise.
47059         * modules/posix_spawn-tests (Depends-on): Likewise.
47060         * modules/posix_spawnp-tests (Depends-on): Likewise.
47061         * modules/stat-time-tests (Depends-on): Likewise.
47062         * modules/yesno-tests (Depends-on): Likewise.
47063
47064 2009-08-10  Bruno Haible  <bruno@clisp.org>
47065
47066         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47067
47068 2009-08-10  Bruno Haible  <bruno@clisp.org>
47069
47070         Fix a gcc warning.
47071         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47072
47073 2009-08-10  Bruno Haible  <bruno@clisp.org>
47074
47075         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47076         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47077         not only the first time.
47078         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
47079         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
47080         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
47081         is 1, not only the the first time.
47082
47083 2009-08-10  Bruno Haible  <bruno@clisp.org>
47084
47085         Make it possible to use module 'gethostname' without module 'close'.
47086         * lib/unistd.in.h (close): Evoke a link error only if
47087         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47089         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47090         * modules/unistd (Makefile.am): Substitute
47091         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47092         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47093         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47094         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47095         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47096         * modules/sys_ioctl (Makefile.am): Substitute
47097         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47098         * modules/socket (configure.ac): On native Windows, set
47099         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47100         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47101         Reported by Sam Steingold <sds@gnu.org>.
47102
47103 2009-08-10  Bruno Haible  <bruno@clisp.org>
47104
47105         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47106         * modules/ioctl (configure.ac): Likewise.
47107
47108 2009-08-10  Bruno Haible  <bruno@clisp.org>
47109
47110         Avoid collision between gnulib wrapper and libintl wrapper.
47111         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47112         already defined in intl/printf.c.
47113         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47114         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47115
47116 2009-08-09  Bruno Haible  <bruno@clisp.org>
47117
47118         Make <sys/select.h> really self-contained, also on Solaris 10.
47119         * lib/sys_select.in.h: Include <string.h>.
47120         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47121         Solaris 10 problem.
47122         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47123         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47124         Reported by Jim Meyering.
47125
47126 2009-08-09  Bruno Haible  <bruno@clisp.org>
47127
47128         Avoid warnings from 'aclocal' that are due to a use of macro name
47129         AM_XGETTEXT_OPTION that is not defined in automake.
47130         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47131         automake.
47132         * modules/error (configure.ac): Likewise.
47133         * modules/propername (configure.ac): Likewise.
47134         * modules/vasprintf (configure.ac): Likewise.
47135         * modules/verror (configure.ac): Likewise.
47136         * modules/xprintf (configure.ac): Likewise.
47137         * modules/xvasprintf (configure.ac): Likewise.
47138
47139 2009-08-08  Bruno Haible  <bruno@clisp.org>
47140
47141         Avoid compilation error in C++ mode.
47142         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47143         Reported by Sam Steingold <sds@gnu.org>.
47144
47145 2009-08-08  Bruno Haible  <bruno@clisp.org>
47146
47147         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47148         for the various Unix platforms.
47149         * doc/posix-headers/limits.texi: Update platforms list regarding
47150         HOST_NAME_MAX.
47151         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47152
47153 2009-08-07  Jim Meyering  <meyering@redhat.com>
47154
47155         selinux-at: fix typo in a comment
47156         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47157         Spotted by Paolo Bonzini.
47158
47159         selinux-at: remove redundant m4 code, add documentation
47160         * modules/selinux-at (configure.ac): Remove redundant code.
47161         LIB_SELINUX is already set via the dependent module, selinux-h.
47162         (Include): Add quotes around selinux-at.h.
47163         * lib/selinux-at.h: Add documentation.
47164         Reported by Bruno Haible in
47165         http://marc.info/?l=gnulib-bug&m=124958988300749
47166
47167 2009-08-07  Bruno Haible  <bruno@clisp.org>
47168
47169         Avoid link error on MacOS X 10.3 and 10.4.
47170         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47171         on non-ELF systems.
47172         * lib/argp-pv.c (argp_program_version): Likewise.
47173         Reported by Simon Josefsson.
47174
47175 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47176
47177         * tests/test-version-etc.sh: Use $EXEEXT.
47178
47179 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47180
47181         update-copyright: update documentation to point to maint.mk
47182         * build-aux/update-copyright: Here.
47183
47184 2009-08-06  Jim Meyering  <meyering@redhat.com>
47185
47186         maint.mk: support update-copyright-local
47187         * top/maint.mk (update-copyright-local): Define place-holder.
47188         (update-copyright): Depend on $(update-copyright-local).
47189
47190 2009-08-06  Jim Meyering  <meyering@redhat.com>
47191
47192         selinux-at: new module
47193         Initially written for coreutils, this module will soon be
47194         used by findutils, too.
47195         * MODULES.html.sh [Misc]: Add selinux-at.
47196         * lib/selinux-at.h: New file, from coreutils.
47197         * lib/selinux-at.c: Likewise.
47198         * modules/selinux-at: Likewise.
47199         (License): Change from LGPL to GPL, since it depends
47200         on the GPL'd openat module.
47201
47202         doc: update README
47203         * README: Remove references to cogito.
47204         Remove cvs-repo-updating instructions from 2007.
47205         Don't imply that CVS is better if you have limited disk space.
47206
47207 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47208
47209         update-copyright: support C-style comments
47210         * build-aux/update-copyright: Implement and document.
47211         * tests/test-update-copyright.sh: Test.
47212
47213 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47214
47215         update-copyright: support omitted "(C)"
47216         * build-aux/update-copyright: Implement and document.  Also,
47217         allow variable whitespace before "(C)".
47218         * tests/test-update-copyright.sh: Test.
47219
47220 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47221
47222         update-copyright: don't trip on non-FSF copyright statements
47223         * build-aux/update-copyright: Fix so that the first correctly
47224         formatted FSF copyright statement is recognized no matter what
47225         appears before it.  Update documentation.
47226         * tests/test-update-copyright.sh: Test that.
47227
47228 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47229
47230         update-copyright: clean up code a little
47231         * build-aux/update-copyright: Append "_re" to the name of any
47232         variable holding a regular expression.
47233         Replace "old" and "new" with "stmt" in variable names.
47234         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47235         handled correctly.
47236         Format code more consistently.
47237
47238 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47239
47240         update-copyright-tests: improve portability
47241         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47242         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47243
47244 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47245
47246         update-copyright: support @copyright{} and &copy;
47247         * build-aux/update-copyright: Implement and document.
47248         * tests/test-update-copyright.sh: Test.
47249
47250 2009-08-04  Jim Meyering  <meyering@redhat.com>
47251
47252         update-copyright-tests: correctly test EOL=\r\n handling
47253         * tests/test-update-copyright.sh: Put \r at the end of some lines
47254         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47255
47256         maint.mk: make update-copyright exclusion list more configurable
47257         * top/maint.mk (update-copyright): Default to excluding COPYING,
47258         but allow an override, in case someone does want to update that file.
47259
47260         maint.mk: don't update copyright date in COPYING
47261         * top/maint.mk (update-copyright): Exclude COPYING.
47262
47263         maint.mk: add a copyright-updating rule
47264         * top/maint.mk (update-copyright): New rule.
47265         Derived from coreutils/Makefile.am.
47266
47267         update-copyright: rename some variables
47268         * build-aux/update-copyright: Rename a few variables for clarity.
47269         Tweak syntax.  List Joel E. Denny as coauthor.
47270
47271 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47272
47273         update-copyright: fix bug for 2-digit last year and add tests
47274         * build-aux/update-copyright: Fix bug.
47275         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47276         specified.
47277         * modules/update-copyright-tests: New
47278         * tests/test-update-copyright.sh: New.
47279
47280 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47281
47282         update-copyright: handle leading tabs in line prefix
47283         * build-aux/update-copyright: Count leading tabs as 8 spaces
47284         when computing margin.  This helps with the formatting of
47285         ChangeLogs, for example.
47286         Fix documentation a little.
47287
47288 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47289
47290         update-copyright: support EOL=\r\n
47291         * build-aux/update-copyright: Implement that.
47292
47293 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47294
47295         update-copyright: automatically format copyright statements
47296         * build-aux/update-copyright: Implement that.
47297         Also, be a little more predictable and safer by always failing
47298         when the full copyright format is not perfectly recognized as an
47299         unbroken whole.  Discussed at
47300         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47301         Rewrite documentation.
47302
47303 2009-08-03  Bruno Haible  <bruno@clisp.org>
47304
47305         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47306
47307 2009-08-02  Bruno Haible  <bruno@clisp.org>
47308
47309         Tests for module 'uname'.
47310         * modules/uname-tests: New file.
47311         * tests/test-uname.c: New file.
47312
47313         New module 'uname'.
47314         * lib/uname.c: New file.
47315         * m4/uname.m4: New file.
47316         * modules/uname: New file.
47317         * doc/posix-functions/uname.texi: Mention the new module.
47318
47319 2009-08-02  Bruno Haible  <bruno@clisp.org>
47320
47321         Tests for module 'sys_utsname'.
47322         * modules/sys_utsname-tests: New file.
47323         * tests/test-sys_utsname.c: New file.
47324
47325         New module 'sys_utsname'.
47326         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47327         * m4/sys_utsname_h.m4: New file.
47328         * modules/sys_utsname: New file.
47329         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47330
47331 2009-08-02  Bruno Haible  <bruno@clisp.org>
47332
47333         Implicitly initialize the sockets library.
47334         * lib/gethostname.c: Include sockets.h.
47335         (rpl_gethostname): Invoke gl_sockets_startup.
47336         * lib/socket.c: Include sockets.h.
47337         (rpl_socket): Invoke gl_sockets_startup.
47338         * modules/gethostname (Depends-on): Add sockets.
47339         * modules/socket (Depends-on): Likewise.
47340         * tests/test-poll.c: Don't include sockets.h.
47341         (main): Don't invoke gl_sockets_startup.
47342         * tests/test-select.c: Don't include sockets.h.
47343         (main): Don't invoke gl_sockets_startup.
47344
47345 2009-08-02  Bruno Haible  <bruno@clisp.org>
47346
47347         Allow multiple calls to gl_sockets_startup.
47348         * lib/sockets.c (initialized_sockets_version): New variable.
47349         (gl_sockets_startup): Do nothing if already called for this or a higher
47350         version.
47351         (gl_sockets_cleanup): Reset initialized_sockets_version.
47352
47353 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47354
47355         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47356         different project/version.
47357
47358 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47359             Bruno Haible  <bruno@clisp.org>
47360
47361         Tests for module 'pipe-filter-gi'.
47362         * modules/pipe-filter-gi-tests: New file.
47363         * tests/test-pipe-filter-gi1.sh: New file.
47364         * tests/test-pipe-filter-gi1.c: New file.
47365         * tests/test-pipe-filter-gi2.sh: New file.
47366         * tests/test-pipe-filter-gi2-main.c: New file.
47367         * tests/test-pipe-filter-gi2-child.c: New file.
47368
47369         New module 'pipe-filter-gi'.
47370         * lib/pipe-filter-gi.c: New file.
47371         * modules/pipe-filter-gi: New file.
47372
47373 2009-08-02  Bruno Haible  <bruno@clisp.org>
47374             Paolo Bonzini  <bonzini@gnu.org>
47375
47376         Tests for module 'pipe-filter-ii'.
47377         * modules/pipe-filter-ii-tests: New file.
47378         * tests/test-pipe-filter-ii1.sh: New file.
47379         * tests/test-pipe-filter-ii1.c: New file.
47380         * tests/test-pipe-filter-ii2.sh: New file.
47381         * tests/test-pipe-filter-ii2-main.c: New file.
47382         * tests/test-pipe-filter-ii2-child.c: New file.
47383
47384         New module 'pipe-filter-ii'.
47385         * lib/pipe-filter.h: New file.
47386         * lib/pipe-filter-ii.c: New file.
47387         * lib/pipe-filter-aux.h: New file.
47388         * modules/pipe-filter-ii: New file.
47389
47390 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47391
47392         * lib/gc-libgcrypt.c: Change copyright to FSF.
47393         * lib/gc-gnulib.c: Likewise.
47394
47395 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47396
47397         * lib/gethostname.c: Include limits.h.
47398
47399 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47400             Bruno Haible  <bruno@clisp.org>
47401
47402         Ensure HOST_NAME_MAX as part of the gethostname module.
47403         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47404         define also HOST_NAME_MAX.
47405         * tests/test-gethostname.c: Include <limits.h>.
47406         (main): Check also HOST_NAME_MAX.
47407         * doc/posix-headers/limits.texi: Document the mingw problem.
47408
47409 2009-08-02  Bruno Haible  <bruno@clisp.org>
47410
47411         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47412         Add comments.
47413
47414 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47415
47416         * lib/gethostname.c: Add Windows wrapper.
47417         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47418         * modules/gethostname: Depend on sys_socket & errno, for also
47419         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47420         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47421
47422 2009-07-31  Jim Meyering  <meyering@redhat.com>
47423
47424         getloadavg: fix symbol name in comment
47425         * lib/getloadavg.c: Correct a typo I introduced when adding
47426         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47427         Matt Kraai spotted the problem.
47428
47429 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47430
47431         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47432         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47433         code also if ! defined N_NAME_POINTER.
47434         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47435         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47436         but the n_name member is a 12-byte array.
47437
47438 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47439
47440         update-copyright: generalize comment handling
47441         * build-aux/update-copyright: Handle copyright statements
47442         within more comment styles.
47443         Document usage.
47444         Report any file with an external copyright holder or parse failure.
47445
47446 2009-07-29  Jim Meyering  <meyering@redhat.com>
47447
47448         mktime: correct setting of REPLACE_MKTIME
47449         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47450
47451         update-copyright: new module
47452         * modules/update-copyright: New file.
47453         * build-aux/update-copyright: New file.
47454         * MODULES.html.sh (maint+release support): Add update-copyright.
47455
47456 2009-07-27  Bruno Haible  <bruno@clisp.org>
47457
47458         Fix compilation error when <ctime> is used and mktime is replaced.
47459         * lib/time.in.h (mktime): New declaration.
47460         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47461         REPLACE_MKTIME instead of defining mktime in config.h.
47462         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47463         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47464         Reported by Ross McFarland <rwmcfa1@neces.com>.
47465
47466 2009-07-27  Bruno Haible  <bruno@clisp.org>
47467
47468         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47469         Reported by Matt Kraai <mkraai@beckman.com>.
47470
47471 2009-07-25  Jim Meyering  <meyering@redhat.com>
47472
47473         maint.mk: avoid warnings about missing files
47474         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47475         diagnostic when .prev-version does not exist.
47476         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47477         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47478         nonexistent cfg.mk.
47479         Suggestions from Simon Josefsson.
47480
47481 2009-07-25  Bruno Haible  <bruno@clisp.org>
47482
47483         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47484         defined as macros. Needed on QNX 6.4.1.
47485         Reported by Matt Kraai <mkraai@beckman.com>.
47486
47487 2009-07-23  Jim Meyering  <meyering@redhat.com>
47488
47489         maint.mk: invoke "make dist" with a working value of XZ_OPT
47490         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47491
47492 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47493
47494         Make fseeko.c compile on QNX.
47495         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47496
47497 2009-07-22  Peter Simons  <simons@cryp.to>
47498
47499         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47500         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47501         * lib/md4.h: Likewise.
47502         * lib/md5.h: Likewise.
47503         * lib/sha1.h: Likewise.
47504         * lib/sha256.h: Likewise.
47505         * lib/sha512.h: Likewise.
47506
47507         tests-sha1: don't assign literal string to 'char *' variable
47508         * tests/test-sha1.c (main): Declare locals with "const" to match
47509         attributes of the right hand side.
47510
47511 2009-07-21  Eric Blake  <ebb9@byu.net>
47512
47513         dup2: fix more mingw problems
47514         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47515         fd to itself.
47516         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47517         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47518         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47519         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47520         care of mingw bugs.
47521
47522 2009-07-21  Jim Meyering  <meyering@redhat.com>
47523
47524         vc-list-files: avoid failure when /bin/sh is dash
47525         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47526         On some Debian based systems, /bin/sh is a symlink to dash, and running
47527         this command would omit the "/" following each 'tests' prefix:
47528           dash -x build-aux/vc-list-files -C . tests
47529         That is because bash and dash work differently:
47530           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47531           bash ok
47532           dash odd
47533
47534 2009-07-21  Eric Blake  <ebb9@byu.net>
47535
47536         dup2-tests: test previous patch
47537         * modules/dup2-tests: New file.
47538         * tests/test-dup2.c: Likewise.
47539         * tests/test-open.c (main): Avoid unspecified behavior.
47540         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47541         test.
47542
47543         dup2: work around mingw and cygwin 1.5 bug
47544         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47546         * modules/unistd (Makefile.am): Substitute it.
47547         * lib/unistd.in.h (dup2): Declare the replacement.
47548         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47549         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47550         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47551         * modules/execute (Depends-on): Add dup2.
47552         * modules/fseterr (Depends-on): Likewise.
47553         * modules/pipe (Depends-on): Likewise.
47554         * modules/posix_spawn-internal (Depends-on): Likewise.
47555
47556 2009-07-21  Bruno Haible  <bruno@clisp.org>
47557
47558         * modules/.gitattributes: New file.
47559
47560 2009-07-20  Bruno Haible  <bruno@clisp.org>
47561
47562         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47563         (main): Use it.
47564
47565 2009-07-20  Eric Blake  <ebb9@byu.net>
47566
47567         test-pipe: make a bit more robust.
47568         * tests/test-pipe.c (myerr): Allow error messages regardless of
47569         what we do to stderr.
47570         (test_pipe): Rearrange to avoid deadlock.
47571         (child_main): Try a larger read, to ensure we avoided deadlock.
47572         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47573         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47574         if misused.
47575
47576 2009-07-19  Jim Meyering  <meyering@redhat.com>
47577
47578         fts: avoid false-positive cycle-detection
47579         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47580         for each new command line argument.
47581
47582 2009-07-19  Bruno Haible  <bruno@clisp.org>
47583
47584         Fix build error on mingw with the modules sys_select and unistd.
47585         * modules/acl-tests (Depends-on): Add close.
47586         * modules/binary-io-tests (Depends-on): Likewise.
47587         * modules/closein-tests (Depends-on): Likewise.
47588         * modules/flock-tests (Depends-on): Likewise.
47589         * modules/fsync-tests (Depends-on): Likewise.
47590         * modules/lseek-tests (Depends-on): Likewise.
47591         * modules/pipe-tests (Depends-on): Likewise.
47592         * modules/posix_spawn-tests (Depends-on): Likewise.
47593         * modules/posix_spawnp-tests (Depends-on): Likewise.
47594         * modules/stat-time-tests (Depends-on): Likewise.
47595         * modules/yesno-tests (Depends-on): Likewise.
47596
47597 2009-07-19  Bruno Haible  <bruno@clisp.org>
47598
47599         Unify conditionals.
47600         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47601         macros, not at the compiler macros.
47602         * lib/pipe.c: Likewise.
47603         * lib/execute.c: Likewise.
47604         * lib/spawni.c: Likewise.
47605
47606 2009-07-19  Bruno Haible  <bruno@clisp.org>
47607
47608         Fix handling of closed stdin/stdout/stderr on mingw.
47609         * lib/w32spawn.h: Include unistd.h.
47610         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47611         file descriptor with O_NOINHERIT flag.
47612         (fd_safer_noinherit): New function, based on fd-safer.c.
47613         (dup_safer_noinherit): New function, based on dup-safer.c.
47614         (undup_safer_noinherit): New function.
47615         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47616         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47617         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47618         instead of fd_safer.
47619         * tests/test-pipe.c: Include <windows.h>.
47620         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47621         result.
47622
47623         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47624         from main.
47625         (test_pipe): Pass an extra argument for disambiguation.
47626         (main): Invoke parent_main or child_main.
47627
47628         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47629         consistently.
47630
47631 2009-07-18  Eric Blake  <ebb9@byu.net>
47632
47633         test-pipe: fix mingw build
47634         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47635
47636 2009-07-18  Bruno Haible  <bruno@clisp.org>
47637
47638         * modules/pipe-tests (Makefile.am): Fix typo.
47639
47640 2009-07-18  Eric Blake  <ebb9@byu.net>
47641
47642         error: fix mingw build
47643         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47644         Reported by Bruno Haible.
47645
47646         error: avoid undefined use of stdout
47647         * lib/error.c (error, error_at_line): Check that fd 1 is open
47648         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47649         is handling faults and the close_stdout module wants to report the
47650         detection of closed stdout as an error.
47651
47652 2009-07-17  Eric Blake  <ebb9@byu.net>
47653
47654         pipe: be robust in face of closed fds
47655         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47656         should cause child to misbehave.
47657         * modules/pipe-tests: New module.
47658         * tests/test-pipe.c: New file.
47659         * tests/test-pipe.sh: New file.
47660         Reported by Akim Demaille.
47661
47662 2009-07-14  Bruno Haible  <bruno@clisp.org>
47663
47664         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47665         Reported by anonymous kc.
47666
47667 2009-07-07  Jim Meyering  <meyering@redhat.com>
47668
47669         maint.mk: don't look for translatable strings in *.m4 or *.mk
47670         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47671         when searching for translatable strings.
47672
47673 2009-07-05  Jim Meyering  <meyering@redhat.com>
47674
47675         remove superfluous parentheses in STREQ definition
47676         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47677         * lib/getugroups.c (STREQ): Likewise.
47678         * lib/fnmatch.c (STREQ): Likewise.
47679         Spotted by Bruno Haible.
47680
47681 2009-07-04  Jim Meyering  <meyering@redhat.com>
47682
47683         argv-iter: new module
47684         * MODULES.html.sh: Add argv-iter.
47685         * lib/argv-iter.c, lib/argv-iter.h: New files.
47686         * modules/argv-iter: New file.
47687         * modules/argv-iter-tests: New file.
47688         * tests/test-argv-iter.c: Test it.
47689
47690 2009-07-04  Bruno Haible  <bruno@clisp.org>
47691
47692         Fix assertion.
47693         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47694         contains more exact copies of a given entry than file2, leave the extra
47695         copies unpaired rather than aborting.
47696         Reported by Eric Blake.
47697
47698 2009-07-02  Bruno Haible  <bruno@clisp.org>
47699
47700         Speedup git-merge-changelog for git cherry-pick.
47701         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47702         (entries_mapping_get): New function, extracted from compute_mapping.
47703         (entries_mapping_reverse_get): New function.
47704         (compute_mapping): Add a 'full' argument. Return the result in a
47705         'struct entries_mapping'.
47706         (main): Update. Access the mappings through entries_mapping_get.
47707         Reported by Eric Blake.
47708
47709 2009-07-02  Bruno Haible  <bruno@clisp.org>
47710
47711         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47712         best_i.
47713
47714 2009-07-02  Bruno Haible  <bruno@clisp.org>
47715
47716         Speed up approximate search for matching ChangeLog entries.
47717         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47718         argument. Call fstrcmp_bounded instead of fstrcmp.
47719         (compute_mapping, try_split_merged_entry, main): Update callers.
47720
47721 2009-07-02  Bruno Haible  <bruno@clisp.org>
47722
47723         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47724
47725 2009-06-30  Bruno Haible  <bruno@clisp.org>
47726
47727         Reduce the number of uc_is_cased calls.
47728         * lib/unicase.h (casing_suffix_context_t): Add
47729         'first_char_except_ignorable' field.
47730         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47731         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47732         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47733         Update initializer.
47734         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47735         case-ignorable characters.
47736         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47737         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47738         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47739         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47740         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47741
47742 2009-06-30  Bruno Haible  <bruno@clisp.org>
47743
47744         Tests for module 'unicase/ignorable'.
47745         * modules/unicase/ignorable-tests: New file.
47746         * tests/unicase/test-ignorable.c: New file, generated by
47747         gen-uni-tables.
47748
47749         Tests for module 'unicase/cased'.
47750         * modules/unicase/cased-tests: New file.
47751         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47752         * tests/unicase/test-predicate-part1.h: New file, derived from
47753         tests/unictype/test-predicate-part1.h.
47754         * tests/unicase/test-predicate-part2.h: New file, same as
47755         tests/unictype/test-predicate-part2.h.
47756
47757         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47758         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47759         (output_casing_properties): New function.
47760         (main): Call it.
47761         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47762         * lib/unicase/cased.c: Include unictype/bitmap.h.
47763         (uc_is_cased): Define through a bitmap lookup.
47764         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47765         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47766         (uc_is_case_ignorable): Define through a bitmap lookup.
47767         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47768         lib/unictype/bitmap.h.
47769         (Depends-on): Add inline. Clean up.
47770         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47771         lib/unictype/bitmap.h.
47772         (Depends-on): Add inline. Clean up.
47773         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47774         recognition.
47775         * tests/unicase/test-u16-tolower.c (main): Likewise.
47776         * tests/unicase/test-u32-tolower.c (main): Likewise.
47777
47778 2009-06-30  Bruno Haible  <bruno@clisp.org>
47779
47780         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47781         * lib/unicase/u16-casemap.c: Likewise.
47782         * lib/unicase/u32-casemap.c: Likewise.
47783
47784 2009-06-29  Bruno Haible  <bruno@clisp.org>
47785
47786         Define u32_casefold as a wrapper around u32_ct_casefold.
47787         * lib/unicase/u32-casefold.c: Update.
47788         * modules/unicase/u32-casefold (Depends-on): Add
47789         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47790         unicase/empty-suffix-context. Clean up.
47791
47792         Define u16_casefold as a wrapper around u16_ct_casefold.
47793         * lib/unicase/u16-casefold.c: Update.
47794         * modules/unicase/u16-casefold (Depends-on): Add
47795         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47796         unicase/empty-suffix-context. Clean up.
47797
47798         Define u8_casefold as a wrapper around u8_ct_casefold.
47799         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47800         * lib/unicase/u8-casefold.c: Update.
47801         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47802         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47803
47804         Define u32_totitle as a wrapper around u32_ct_totitle.
47805         * lib/unicase/u32-totitle.c: Update.
47806         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47807         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47808
47809         Define u16_totitle as a wrapper around u16_ct_totitle.
47810         * lib/unicase/u16-totitle.c: Update.
47811         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47812         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47813
47814         Define u8_totitle as a wrapper around u8_ct_totitle.
47815         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47816         functions.
47817         (FUNC): Delegate to U_CT_TOTITLE.
47818         * lib/unicase/u8-totitle.c: Update.
47819         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47820         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47821
47822         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47823         invocation.
47824         * modules/unicase/u32-tolower (Depends-on): Add
47825         unicase/empty-prefix-context, unicase/empty-suffix-context.
47826
47827         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47828         invocation.
47829         * modules/unicase/u16-tolower (Depends-on): Add
47830         unicase/empty-prefix-context, unicase/empty-suffix-context.
47831
47832         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47833         * modules/unicase/u8-tolower (Depends-on): Add
47834         unicase/empty-prefix-context, unicase/empty-suffix-context.
47835
47836         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47837         invocation.
47838         * modules/unicase/u32-toupper (Depends-on): Add
47839         unicase/empty-prefix-context, unicase/empty-suffix-context.
47840
47841         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47842         invocation.
47843         * modules/unicase/u16-toupper (Depends-on): Add
47844         unicase/empty-prefix-context, unicase/empty-suffix-context.
47845
47846         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47847         * modules/unicase/u8-toupper (Depends-on): Add
47848         unicase/empty-prefix-context, unicase/empty-suffix-context.
47849
47850         New module 'unicase/u32-ct-casefold'.
47851         * lib/unicase/u32-ct-casefold.c: New file.
47852         * modules/unicase/u32-ct-casefold: New file.
47853
47854         New module 'unicase/u16-ct-casefold'.
47855         * lib/unicase/u16-ct-casefold.c: New file.
47856         * modules/unicase/u16-ct-casefold: New file.
47857
47858         New module 'unicase/u8-ct-casefold'.
47859         * lib/unicase/u8-ct-casefold.c: New file.
47860         * lib/unicase/u-ct-casefold.h: New file, derived from
47861         lib/unicase/u-casefold.h.
47862         * modules/unicase/u8-ct-casefold: New file.
47863
47864         New module 'unicase/u32-ct-totitle'.
47865         * lib/unicase/u32-ct-totitle.c: New file.
47866         * modules/unicase/u32-ct-totitle: New file.
47867
47868         New module 'unicase/u16-ct-totitle'.
47869         * lib/unicase/u16-ct-totitle.c: New file.
47870         * modules/unicase/u16-ct-totitle: New file.
47871
47872         New module 'unicase/u8-ct-totitle'.
47873         * lib/unicase/u8-ct-totitle.c: New file.
47874         * lib/unicase/u-ct-totitle.h: New file, derived from
47875         lib/unicase/u-totitle.h.
47876         * modules/unicase/u8-ct-totitle: New file.
47877
47878         New module 'unicase/u32-ct-tolower'.
47879         * lib/unicase/u32-ct-tolower.c: New file.
47880         * modules/unicase/u32-ct-tolower: New file.
47881
47882         New module 'unicase/u16-ct-tolower'.
47883         * lib/unicase/u16-ct-tolower.c: New file.
47884         * modules/unicase/u16-ct-tolower: New file.
47885
47886         New module 'unicase/u8-ct-tolower'.
47887         * lib/unicase/u8-ct-tolower.c: New file.
47888         * modules/unicase/u8-ct-tolower: New file.
47889
47890         New module 'unicase/u32-ct-toupper'.
47891         * lib/unicase/u32-ct-toupper.c: New file.
47892         * modules/unicase/u32-ct-toupper: New file.
47893
47894         New module 'unicase/u16-ct-toupper'.
47895         * lib/unicase/u16-ct-toupper.c: New file.
47896         * modules/unicase/u16-ct-toupper: New file.
47897
47898         New module 'unicase/u8-ct-toupper'.
47899         * lib/unicase/u8-ct-toupper.c: New file.
47900         * modules/unicase/u8-ct-toupper: New file.
47901
47902         Add context arguments to u*_casemap functions.
47903         * lib/unicase/unicasemap.h: Include unicase.h.
47904         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47905         suffix_context arguments.
47906         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47907         functions.
47908         (FUNC): Add prefix_context and suffix_context arguments. Use
47909         uc_is_cased and uc_is_case_ignorable.
47910         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47911         * lib/unicase/u16-casemap.c: Likewise.
47912         * lib/unicase/u32-casemap.c: Likewise.
47913         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47914         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47915         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47916         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47917         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47918         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47919
47920         New module 'unicase/u32-suffix-context'.
47921         * lib/unicase/u32-suffix-context.c: New file.
47922         * modules/unicase/u32-suffix-context: New file.
47923
47924         New module 'unicase/u16-suffix-context'.
47925         * lib/unicase/u16-suffix-context.c: New file.
47926         * modules/unicase/u16-suffix-context: New file.
47927
47928         New module 'unicase/u8-suffix-context'.
47929         * lib/unicase/u8-suffix-context.c: New file.
47930         * lib/unicase/u-suffix-context.h: New file.
47931         * modules/unicase/u8-suffix-context: New file.
47932
47933         New module 'unicase/empty-suffix-context'.
47934         * lib/unicase/empty-suffix-context.c: New file.
47935         * modules/unicase/empty-suffix-context: New file.
47936
47937         New module 'unicase/u32-prefix-context'.
47938         * lib/unicase/u32-prefix-context.c: New file.
47939         * modules/unicase/u32-prefix-context: New file.
47940
47941         New module 'unicase/u16-prefix-context'.
47942         * lib/unicase/u16-prefix-context.c: New file.
47943         * modules/unicase/u16-prefix-context: New file.
47944
47945         New module 'unicase/u8-prefix-context'.
47946         * lib/unicase/u8-prefix-context.c: New file.
47947         * lib/unicase/u-prefix-context.h: New file.
47948         * lib/unicase/context.h: New file.
47949         * modules/unicase/u8-prefix-context: New file.
47950
47951         New module 'unicase/empty-prefix-context'.
47952         * lib/unicase/empty-prefix-context.c: New file.
47953         * modules/unicase/empty-prefix-context: New file.
47954
47955         New module 'unicase/ignorable'.
47956         * lib/unicase/ignorable.c: New file.
47957         * modules/unicase/ignorable: New file.
47958
47959         New module 'unicase/cased'.
47960         * lib/unicase/caseprop.h: New file.
47961         * lib/unicase/cased.c: New file.
47962         * modules/unicase/cased: New file.
47963
47964         New functions for case mapping of substrings.
47965         * lib/unicase.h (casing_prefix_context_t): New type.
47966         (unicase_empty_prefix_context): New variable.
47967         (u8_casing_prefix_context, u16_casing_prefix_context,
47968         u32_casing_prefix_context, u8_casing_prefixes_context,
47969         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47970         declarations.
47971         (casing_suffix_context_t): New type.
47972         (unicase_empty_suffix_context): New variable.
47973         (u8_casing_suffix_context, u16_casing_suffix_context,
47974         u32_casing_suffix_context, u8_casing_suffixes_context,
47975         u16_casing_suffixes_context, u32_casing_suffixes_context,
47976         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47977         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47978         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47979         declarations.
47980
47981 2009-06-28  Jim Meyering  <meyering@redhat.com>
47982
47983         boostrap: indent only with spaces
47984         * build-aux/bootstrap: Indent only with spaces, never TABs.
47985
47986         bootstrap: split long lines
47987         * build-aux/bootstrap: Keep line length < 80.
47988
47989         bootstrap: sync from coreutils
47990         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47991         just as autoreconf does.  Verify a list of prerequisite
47992         package-name,version-number pairs if defined in bootstrap.conf.
47993         Refer to README-prereq, if prerequisites are not satisfied.
47994
47995 2009-06-27  Eric Blake  <ebb9@byu.net>
47996
47997         tests: add test for bogus NULL definition
47998         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47999         * tests/test-stdlib.c: Likewise.
48000         * tests/test-string.c: Likewise.
48001         * tests/test-locale.c: Likewise.
48002         * tests/test-unistd.c: Likewise.
48003         * modules/stdio-tests (Depends-on): Add verify.
48004         * modules/stdlib-tests (Depends-on): Likewise.
48005         * modules/string-tests (Depends-on): Likewise.
48006         * modules/locale-tests (Depends-on): Likewise.
48007         * modules/unistd-tests (Depends-on): Likewise.
48008
48009 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48010
48011         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48012         self-explaining comment.
48013         * m4/selinux-selinux-h: Update serial.
48014         (gl_LIBSELINUX): New macro, adding a warning for missing development
48015         packages to code extracted from...
48016         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48017         Add warning for missing development packages here, too.
48018
48019 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48020
48021         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48022
48023 2009-06-25  Eric Blake  <ebb9@byu.net>
48024
48025         version-etc: fix regression
48026         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48027         gcc.
48028         (version_etc): Use it, to catch bugs with trailing NULL.
48029         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48030         (version_etc_va): Fix logic bug.
48031         * modules/version-etc-tests: Add test.
48032         * tests/test-version-etc.c: New file.
48033         * tests/test-version-etc.sh: Likewise.
48034
48035 2009-06-25  Sam Steingold  <sds@gnu.org>
48036
48037         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48038         mbtowc declaration.
48039
48040 2009-06-25  Eric Blake  <ebb9@byu.net>
48041
48042         fpurge: migrate into <stdio.h>
48043         * lib/fpurge.h: Delete...
48044         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48045         * lib/fpurge.c (fpurge): Change declaring header.
48046         * modules/fpurge (Files): Drop deleted file.
48047         (Depends-on): Add stdio.
48048         (configure.ac): Set witness.
48049         * modules/stdio (Makefile.am): Support fpurge macros.
48050         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48051         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48052         * lib/fflush.c: Update client.
48053         * tests/test-fpurge.c: Likewise.
48054         * NEWS: Mention the change.
48055
48056 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48057
48058         * lib/argp-version-etc.c (program_authors): Add const
48059         qualifier.
48060         * lib/version-etc.c: Fix typos in the comments.
48061         * modules/argp-version-etc: Depends on version-etc.
48062
48063 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48064
48065         argp-version-etc: new module.
48066
48067         * lib/argp-version-etc.c: New file.
48068         * lib/argp-version-etc.h: New file.
48069         * modules/argp-version-etc: New file.
48070         * modules/argp-version-etc-tests: New file.
48071         * tests/test-argp-version-etc.c: New test.
48072         * tests/test-argp-version-etc-1.sh: New test.
48073
48074 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48075
48076         Provide additional interfaces and documentation for version-etc
48077         module.
48078
48079         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
48080         interfaces.
48081         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
48082         prototypes.
48083
48084 2009-06-24  Bruno Haible  <bruno@clisp.org>
48085
48086         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48087         HAVE_LIB${NAME} macro.
48088         Reported by Sam Steingold <sds@gnu.org>.
48089
48090 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48091
48092         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48093         needed.
48094
48095 2009-06-21  Bruno Haible  <bruno@clisp.org>
48096
48097         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48098         work.
48099         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48100         together with LIB${NAME}, LTLIB${NAME}.
48101         Reported by Sam Steingold <sds@gnu.org>.
48102
48103 2009-06-20  Jim Meyering  <meyering@redhat.com>
48104
48105         tests: make sc_require_test_exit_idiom more generic
48106         * top/maint.mk (Exit_witness_file): New overridable variable.
48107         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48108         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48109
48110 2009-06-19  Jim Meyering  <meyering@redhat.com>
48111
48112         hash: reverse order of src/dst parameters in an internal interface
48113         * lib/hash.c (transfer_entries): Reverse order of parameters to
48114         put DST before SRC.  Adjust callers.
48115
48116         tests: test-hash: avoid wholesale duplication
48117         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48118         Instead, use a loop and add a single conditional.
48119
48120         tests: test-hash: allow seed selection via a command line argument
48121         * tests/test-hash.c (get_seed): New function.
48122         (main): Use it.
48123
48124 2009-06-19  Eric Blake  <ebb9@byu.net>
48125
48126         hash: avoid memory leak on allocation failure
48127         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48128         failure.  Factor repeated algorithm...
48129         (transfer_entries): ...into new helper routine.
48130         (hash_delete): React to hash_rehash return value.
48131
48132         hash: reduce memory pressure in hash_rehash no-op case
48133         * lib/hash.c (next_prime): Avoid overflow.
48134         (hash_initialize): Factor bucket size computation...
48135         (compute_bucket_size): ...into new helper function.
48136         (hash_rehash): Use new function and open coding to reduce memory
48137         pressure, and avoid a memory leak in USE_OBSTACK code.
48138         Reported by Jim Meyering.
48139
48140 2009-06-18  Eric Blake  <ebb9@byu.net>
48141
48142         hash: make rotation more obvious
48143         * modules/hash (Depends-on): Add bitrotate and stdint.
48144         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48145         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48146         (SIZE_MAX): Rely on headers for definition.
48147         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48148         (raw_hasher): Use rotr_sz.
48149         Suggested by Jim Meyering.
48150
48151         hash: fix memory leak in last patch
48152         * lib/hash.c (hash_rehash): Avoid memory leak.
48153
48154         hash: avoid no-op rehashing
48155         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48156
48157         hash: provide default callback functions
48158         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48159         (hash_initialize): Use them as defaults.
48160         * tests/test-hash.c (main): Test this.
48161
48162         hash: minor optimization
48163         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48164         when possible.
48165         (hash_initialize): Document this promise.
48166         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48167         * tests/test-hash.c (hash_compare_strings): Test this.
48168
48169 2009-06-18  Bruno Haible  <bruno@clisp.org>
48170
48171         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48172         going to be replaced anyway.
48173
48174 2009-06-18  Bruno Haible  <bruno@clisp.org>
48175
48176         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48177         in one place.
48178         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48179         be replaced anyway.
48180
48181 2009-06-18  Eric Blake  <ebb9@byu.net>
48182
48183         hash: check for resize before insertion
48184         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48185         threshold before insertion, so that a pathological hash_rehash
48186         that fills every bucket can still trigger another rehash.
48187
48188 2009-06-18  Jim Meyering  <meyering@redhat.com>
48189
48190         hash-tests: add a loop around the small tests
48191         * tests/test-hash.c (main): Repeat small tests with selected
48192         small initial table sizes.
48193
48194 2009-06-17  Eric Blake  <ebb9@byu.net>
48195
48196         hash: minor cleanups
48197         * lib/hash.h (hash_entry): Make opaque, by moving...
48198         * lib/hash.c (hash_entry): ...here.
48199         (hash_insert): Clarify restrictions on what can be inserted.
48200         (hash_get_next): Clarify when it is safe to remove an element
48201         during traversal.
48202         (check_tuning): Skip verification when tuning is known safe.
48203         (hash_initialize): Clarify restrictions on tuning.
48204
48205 2009-06-17  Jim Meyering  <jim@meyering.net>
48206         and Eric Blake  <ebb9@byu.net>
48207
48208         hash-tests: new module
48209         * modules/hash-tests: New file.
48210         * tests/test-hash.c: New file.
48211
48212 2009-06-17  Eric Blake  <ebb9@byu.net>
48213
48214         strstr-simple: document new module
48215         * MODULES.html.sh: Document new module.
48216
48217         strstr, strcasestr: replace on platforms with broken memchr
48218         * modules/strstr: Split into...
48219         * modules/strstr-simple: ...new module that does not care about
48220         performance, but does care about glibc bug.
48221         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48222         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48223         if platform memchr is broken, per Debian bug 521737.
48224         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48225         memchr.
48226         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48227         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48228         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48229         * modules/mountlist (Depends-on): Add strstr-simple.
48230         * modules/gen-uni-tables (Depends-on): Likewise.
48231         * modules/argz (Depends-on): Add strstr.
48232
48233 2009-06-17  Bruno Haible  <bruno@clisp.org>
48234
48235         * modules/posix_spawn-internal (Depends-on): Add errno.
48236
48237 2009-06-17  Bruno Haible  <bruno@clisp.org>
48238
48239         Define missing ESTALE on Interix 3.5.
48240         * lib/errno.in.h (ESTALE): Assign a value if missing.
48241         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48242         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48243         missing.
48244         * doc/posix-headers/errno.texi: Mention the Interix bug.
48245         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48246
48247 2009-06-15  Eric Blake  <ebb9@byu.net>
48248
48249         memchr, memchr2: add valgrind exception
48250         * lib/memchr.valgrind: New file.
48251         * lib/memchr2.valgrind: New file.
48252         * modules/memchr (Files): Distribute valgrind file.
48253         * modules/memchr2 (Files): Likewise.
48254
48255         docs: memchr is no longer obsolete
48256         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48257         * lib/string.in.h (memchr): Simplify logic.
48258
48259 2009-06-14  Jim Meyering  <meyering@redhat.com>
48260
48261         link-follow: fix the "checking..." message to not mention trailing slash
48262         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48263         never considered trailing slashes.
48264
48265 2009-06-14  Bruno Haible  <bruno@clisp.org>
48266
48267         * m4/memchr.m4: Mention also the bug on IA-64.
48268         * doc/posix-functions/memchr.texi: Likewise.
48269
48270 2009-06-12  Eric Blake  <ebb9@byu.net>
48271
48272         memchr: detect broken x86_64 and alpha implementations
48273         * modules/memchr-tests (Depends-on): Move mmap detection...
48274         * modules/memchr (Depends-on): ...here.
48275         (configure.ac): Set indicator.
48276         * lib/string.in.h (memchr): Declare replacement.
48277         * modules/string (Makefile.am): Trigger replacement.
48278         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48279         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48280         bugs.
48281         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48282         * modules/getpagesize (License): Relax license.
48283
48284 2009-06-11  Bruno Haible  <bruno@clisp.org>
48285
48286         * lib/idpriv.h: Add more references.
48287
48288 2009-06-08  Bruno Haible  <bruno@clisp.org>
48289
48290         Tests for module 'idpriv-droptemp'.
48291         * modules/idpriv-droptemp-tests: New file.
48292         * tests/test-idpriv-droptemp.sh: New file.
48293         * tests/test-idpriv-droptemp.su.sh: New file.
48294         * tests/test-idpriv-droptemp.c: New file.
48295
48296         New module 'idpriv-droptemp'.
48297         * lib/idpriv-droptemp.c: New file.
48298         * modules/idpriv-droptemp: New file.
48299
48300 2009-06-08  Bruno Haible  <bruno@clisp.org>
48301
48302         Tests for module 'idpriv-drop'.
48303         * modules/idpriv-drop-tests: New file.
48304         * tests/test-idpriv-drop.sh: New file.
48305         * tests/test-idpriv-drop.su.sh: New file.
48306         * tests/test-idpriv-drop.c: New file.
48307
48308         New module 'idpriv-drop'.
48309         * lib/idpriv.h: New file.
48310         * lib-idpriv-drop.c: New file.
48311         * m4/idpriv.m4: New file.
48312         * modules/idpriv-drop: New file.
48313
48314 2009-06-08  Bruno Haible  <bruno@clisp.org>
48315
48316         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48317         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48318         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48319         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48320         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48321         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48322         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48323
48324 2009-06-08  Eric Blake  <ebb9@byu.net>
48325
48326         test-strstr: use memory fence, when possible
48327         * tests/test-strstr.c (main): Use memory fence, in order to be
48328         more likely to trigger Debian bug 521737.
48329         * modules/strstr-tests (Files): Pull in additional files.
48330
48331         memchr: no longer obsolete, for wider field testing
48332         * modules/memchr (Status, Notice): Delete, this module is no
48333         longer obsolete.
48334         * modules/vasnprintf (Depends-on): Add memchr.
48335
48336 2009-06-07  Jim Meyering  <meyering@redhat.com>
48337
48338         hash: declare some functions with the warn_unused_result attribute
48339         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48340
48341 2009-06-07  Bruno Haible  <bruno@clisp.org>
48342
48343         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48344         Reported by Eric Blake.
48345
48346 2009-06-06  Eric Blake  <ebb9@byu.net>
48347
48348         test-alignof: fix typo with long double
48349         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48350         compiler error.
48351
48352 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48353
48354         Escape non-texinfo { and }s.
48355         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48356         markup error.
48357
48358 2009-06-04  Jim Meyering  <meyering@redhat.com>
48359
48360         gitlog-to-changelog: don't infloop on an empty commit log
48361         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48362         Reported by Boris Petersen <transacid@centerim.org>.
48363
48364 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48365
48366         version-etc: extend for packagers
48367         Add three new configure options, intended for packagers:
48368           --with-packager="packager name"
48369           --with-packager-version="packager-specific version"
48370           --with-packager-bug-reports="packager bug reporting"
48371         An example with coreutils:
48372           $ ./configure \
48373             --with-packager=Gentoo \
48374             --with-packager-bug-report=http://bugs.gentoo.org/ \
48375             --with-packager-version="patchset 1.6"
48376           $ ./src/ls --version | head -n2
48377           ls (GNU coreutils) 7.1-dirty
48378           Packaged by Gentoo (patchset 1.6)
48379         Note that the bug reporting info via --help doesn't show up because
48380         coreutils uses its own custom emit_bug_reporting_address() implementation
48381         in src/system.h.  If it didn't, it'd look like:
48382           $ ./src/ls --help | tail -n4
48383           Report bugs to <bug-coreutils@gnu.org>.
48384           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48385           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48386           General help using GNU software: <http://www.gnu.org/gethelp/>.
48387         * lib/version-etc.c: Print new information, if provided.
48388         * m4/version-etc.m4: New file.
48389         * modules/version-etc (Files): Add m4/version-etc.m4.
48390         (configure.ac): Add gl_VERSION_ETC.
48391
48392 2009-05-31  Bruno Haible  <bruno@clisp.org>
48393
48394         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48395         and 'int64_t'.
48396         * modules/alignof-tests (Dependencies): Add stdint.
48397         Reported by Eric Blake.
48398
48399 2009-05-31  Bruno Haible  <bruno@clisp.org>
48400
48401         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48402         restriction due to compiler bugs.
48403         Reported by Eric Blake.
48404
48405 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48406             Bruno Haible  <bruno@clisp.org>
48407
48408         Fix test-alignof failure.
48409         * lib/alignof.h (alignof_slot): New macro.
48410         (alignof_type): New macro, with the same semantics as the previous
48411         'alignof'.
48412         (alignof): Alias to alignof_slot.
48413         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48414         check that the results are usable as constant expressions.
48415
48416 2009-05-31  Bruno Haible  <bruno@clisp.org>
48417
48418         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48419         * tests/test-memchr.c (main): Check that memchr does not read past the
48420         first occurrence of the byte.
48421         * tests/test-strstr.c (main): Update comment.
48422         Suggested by Eric Blake.
48423
48424 2009-05-30  Bruno Haible  <bruno@clisp.org>
48425
48426         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48427         detail how to use dumpbin.
48428         Reported by David Byron <dbyron@dbyron.com>.
48429
48430 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48431
48432         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48433
48434 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48435
48436         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48437
48438 2009-05-28  Bruno Haible  <bruno@clisp.org>
48439
48440         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48441         build-aux/ files.
48442
48443 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48444
48445         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48446
48447 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48448
48449         * gnulib-tool (sed_transform_main_lib_file)
48450         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48451         regexps.
48452
48453 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48454
48455         * tests/test-strstr.c: Add another self-test.
48456         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48457         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48458
48459 2009-05-23  Bruno Haible  <bruno@clisp.org>
48460
48461         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48462         change.
48463
48464 2009-05-21  Bruno Haible  <bruno@clisp.org>
48465
48466         Simplify use of mode_t varargs.
48467         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48468         uses 'mode_t' or 'int'.
48469         * lib/openat.c (openat): Likewise.
48470         * lib/open-safer.c (open_safer): Likewise.
48471         * m4/mode_t.m4: New file.
48472         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48473         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48474         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48475         * modules/open (Files): Add m4/mode_t.m4.
48476         * modules/openat (Files): Likewise.
48477         * modules/fcntl-safer (Files): Likewise.
48478         Suggested by Eric Blake.
48479
48480 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48481
48482         * doc/glibc-functions/fallocate.texi: New file.
48483         * doc/gnulib.texi: Include it.
48484
48485 2009-05-21  Eric Blake  <ebb9@byu.net>
48486             Bruno Haible  <bruno@clisp.org>
48487
48488         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48489         invocations.
48490         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48491
48492 2009-05-21  Eric Blake  <ebb9@byu.net>
48493             Bruno Haible  <bruno@clisp.org>
48494
48495         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48496         include_next. Fix of 2008-11-20 commit.
48497         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48498         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48499         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48500         NEXT_MATH_H.
48501         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48502         instead of NEXT_MATH_H.
48503
48504 2009-05-21  Bruno Haible  <bruno@clisp.org>
48505
48506         Avoid redefinition warnings for SIZE_MAX.
48507         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48508         Reported by Simon Josefsson.
48509
48510 2009-05-21  Bruno Haible  <bruno@clisp.org>
48511
48512         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48513         AC_CACHE_VAL.
48514
48515 2009-05-20  Bruno Haible  <bruno@clisp.org>
48516
48517         Make zeroptr.h work on mingw.
48518         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48519         mprotect.
48520         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48521         * modules/memchr2-tests (configure.ac): Likewise.
48522         * modules/memcmp-tests (configure.ac): Likewise.
48523         * modules/memmem-tests (configure.ac): Likewise.
48524         * modules/memrchr-tests (configure.ac): Likewise.
48525         Reported by Simon Josefsson.
48526
48527 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48528
48529         * tests/test-glob.c: Include string.h for strcmp prototype.
48530
48531 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48532
48533         * modules/getdelim (Depends-on): Add explicit stdint, although it
48534         was implicitly already pulled in via realloc-posix.
48535         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48536
48537 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48538
48539         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48540         G. Christensen" <tgc@jupiterrise.com>.
48541         * m4/sys_socket_h.m4: Check for sa_family_t.
48542         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48543         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48544         * tests/test-sys_socket.c: Check that sa_family_t works.
48545
48546 2009-05-18  Eric Blake  <ebb9@byu.net>
48547
48548         maint.mk: allow gnulib_dir in VPATH build
48549         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48550
48551 2009-05-15  Jim Meyering  <meyering@redhat.com>
48552
48553         maint.mk: Give gnulib_dir a default definition.
48554         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48555         Thus, most packages no longer need to specify this variable in cfg.mk
48556
48557 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48558
48559         rename.m4: fix typos that would make non-mingw cross-configure fail
48560         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48561
48562 2009-05-13  Eric Blake  <ebb9@byu.net>
48563
48564         mmap-anon: avoid out-of-order autoconf expansion
48565         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48566         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48567         * modules/memchr-tests (Depends-on): Add extensions.
48568         * modules/memchr2-tests (Depends-on): Add extensions.
48569         * modules/memcmp-tests (Depends-on): Add extensions.
48570         * modules/memmem-tests (Depends-on): Add extensions.
48571         * modules/memrchr-tests (Depends-on): Add extensions.
48572
48573 2009-05-13  Bruno Haible  <bruno@clisp.org>
48574
48575         Make some tests ISO C 99 compliant.
48576         * tests/zerosize-ptr.h: New file.
48577         * tests/test-memchr.c: Include zerosize-ptr.h.
48578         (main): Use a zero-size object pointer instead of NULL.
48579         * tests/test-memchr2.c: Include zerosize-ptr.h.
48580         (main): Use a zero-size object pointer instead of NULL.
48581         * tests/test-memcmp.c: Include zerosize-ptr.h.
48582         (main): Use a zero-size object pointer instead of NULL.
48583         * tests/test-memmem.c: Include zerosize-ptr.h.
48584         (main): Use a zero-size object pointer instead of NULL.
48585         * tests/test-memrchr.c: Include zerosize-ptr.h.
48586         (main): Use a zero-size object pointer instead of NULL.
48587         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48588         m4/mmap-anon.m4.
48589         (Depends-on): Add getpagesize.
48590         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48591         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48592         m4/mmap-anon.m4.
48593         (Depends-on): Add getpagesize.
48594         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48595         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48596         m4/mmap-anon.m4.
48597         (Depends-on): Add getpagesize.
48598         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48599         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48600         m4/mmap-anon.m4.
48601         (Depends-on): Add getpagesize.
48602         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48603         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48604         m4/mmap-anon.m4.
48605         (Depends-on): Add getpagesize.
48606         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48607
48608 2009-05-12  Bruno Haible  <bruno@clisp.org>
48609
48610         Tests for module 'alignof'.
48611         * modules/alignof-tests: New file.
48612         * tests/test-alignof.c: New file.
48613
48614 2009-05-12  Bruno Haible  <bruno@clisp.org>
48615
48616         Fix alignof macro.
48617         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48618         vendor compilers that are always correct.
48619
48620 2009-05-12  Bruno Haible  <bruno@clisp.org>
48621
48622         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48623         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48624         not whether its fully works.
48625
48626 2009-05-12  Bruno Haible  <bruno@clisp.org>
48627
48628         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48629
48630 2009-05-12  Jim Meyering  <meyering@redhat.com>
48631
48632         * top/maint.mk: Adjust backslash alignment.
48633
48634 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48635
48636         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48637
48638 2009-05-11  Eric Blake  <ebb9@byu.net>
48639
48640         argp: avoid undefined behavior
48641         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48642         macros.
48643
48644 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48645
48646         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48647         user.name to prevent git commit from complaining.
48648
48649 2009-05-10  Bruno Haible  <bruno@clisp.org>
48650
48651         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48652         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48653         it rewrites every file name only once.
48654         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48655
48656 2009-05-08  Bruno Haible  <bruno@clisp.org>
48657
48658         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48659         instead of 'max'.
48660
48661 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48662
48663         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48664         sockaddr_storage test.
48665
48666 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48667
48668         * modules/sys_socket (Makefile.am): Substitute
48669         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48670         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48671         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48672         * tests/test-sys_socket.c: Check sockaddr_storage.
48673
48674 2009-05-08  Bruno Haible  <bruno@clisp.org>
48675
48676         New module 'alignof'.
48677         * lib/alignof.h: New file.
48678         * modules/alignof: New file.
48679
48680 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48681             Bruno Haible  <bruno@clisp.org>
48682
48683         Fix test-file-has-acl on FreeBSD.
48684         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48685         mask is implicitly added.
48686         * tests/test-file-has-acl.c: Include <signal.h>.
48687         (main): Terminate the test after 5 seconds.
48688         * modules/acl-tests (configure.ac): Check for alarm function.
48689
48690 2009-05-04  Bruno Haible  <bruno@clisp.org>
48691
48692         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48693         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48694         * modules/errno (configure.ac): Drop AC_REQUIRE.
48695         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48696         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48697
48698 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48699
48700         * modules/glob-tests: New module.
48701         * tests/test-glob.c: Add.
48702
48703 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48704
48705         * modules/fnmatch-tests: New module.
48706         * tests/test-fnmatch.c: Add.
48707
48708 2009-05-04  Eric Blake  <ebb9@byu.net>
48709
48710         maint: make the new no-submodule-changes rule VPATH-safe
48711         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48712
48713 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48714             Bruno Haible  <bruno@clisp.org>
48715
48716         acl: Fix infinite loop on FreeBSD.
48717         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48718         of return value from acl_get_entry.
48719         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48720         Likewise.
48721
48722 2009-05-03  Bruno Haible  <bruno@clisp.org>
48723
48724         * lib/acl-internal.h (acl_entries): Clarify return value.
48725         * lib/acl_entries.c (acl_entries): Likewise.
48726
48727 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48728
48729         Bug fix in acl module.
48730         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48731
48732 2009-05-03  Bruno Haible  <bruno@clisp.org>
48733
48734         Create gperf-generated file in the source dir, not in the build dir.
48735         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48736         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48737         * modules/unicase/locale-language (unicase/locale-languages.h):
48738         Likewise.
48739         * modules/unicase/special-casing (unicase/special-casing-table.h):
48740         Likewise.
48741         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48742         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48743         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48744         Reported by Ralf Wildenhues.
48745
48746 2009-05-03  Bruno Haible  <bruno@clisp.org>
48747
48748         * modules/fnmatch (Description, configure.ac): Taken from
48749         fnmatch-posix.
48750         * modules/fnmatch-posix: Turn into a symbolic reference to the
48751         'fnmatch' module, and deprecate.
48752         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48753
48754 2009-05-03  Bruno Haible  <bruno@clisp.org>
48755
48756         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48757         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48758         Reported by Ralf Wildenhues.
48759
48760 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48761
48762         * m4/fnmatch.m4: Fix fnmatch re-define.
48763
48764 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48765
48766         priv-set: new module and tests; adapt write-any-file
48767         * lib/priv-set.c: New file.
48768         * lib/priv-set.h: New file.
48769         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48770         * lib/write-any-file.c: Simplify by using priv-set module.
48771         * m4/priv-set.m4: New file.
48772         * modules/priv-set: New file.
48773         * modules/unlinkdir: Add dependency on priv-set module.
48774         * modules/write-any-file: Likewise.
48775
48776         Tests for module 'priv-set'.
48777         * modules/priv-set-tests: New file.
48778         * tests/test-priv-set.c: New file.
48779
48780 2009-05-03  Jim Meyering  <meyering@redhat.com>
48781             Bruno Haible  <bruno@clisp.org>
48782
48783         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48784         use the converted UTF-8 variant of the name instead.
48785
48786 2009-05-03  Jim Meyering  <meyering@redhat.com>
48787
48788         tests: tighten some getdate tests
48789         * tests/test-getdate.c (main): Tighten tests: require equality,
48790         not just greater than.  Set TZ envvar to UTC0.
48791
48792 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48793
48794         getdate: correctly interpret "next monday" when run on a Monday
48795         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48796         that e.g., "next tues" (when run on a tuesday) results in a date
48797         that is one week in the future, and not today's date.
48798         I.e., add a week when the wday is the same as the current one.
48799         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48800         and earlier by Martin Bernreuther and Jan Minář.
48801         * tests/test-getdate.c (main): Check that "next DAY" is always in
48802         the future and that "last DAY" is always in the past.
48803
48804 2009-05-02  Jim Meyering  <meyering@redhat.com>
48805
48806         build: ensure that a release build fails when a submodule is unclean
48807         * top/maint.mk (no-submodule-changes): New rule.
48808         (alpha beta major): Depend on it.
48809
48810 2009-05-02  Bruno Haible  <bruno@clisp.org>
48811
48812         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48813         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48814         shell variable gl_fnmatch_required to detect which variant is
48815         requested.
48816         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48817         gl_FUNC_FNMATCH_POSIX.
48818         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48819         exclude fnmatch-posix.
48820
48821 2009-05-02  Bruno Haible  <bruno@clisp.org>
48822
48823         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48824         * modules/mbsrtowcs (License): Change to LGPLv2+.
48825         * modules/strnlen1 (License): Likewise.
48826         Reported by Simon Josefsson.
48827
48828 2009-05-02  Bruno Haible  <bruno@clisp.org>
48829
48830         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48831         "cross".
48832         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48833         gnulib-tool was called with option --source-base=lib.
48834
48835 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48836
48837         Use automake *-local hooks without commands, for extensibility.
48838         * modules/localcharset (Makefile.am): Rename install-exec-local
48839         rule to install-exec-localcharset, and make it a prerequisite of
48840         install-exec-local.  Likewise, rename the uninstall-local rule to
48841         uninstall-localcharset, and make it a prerequisite of the former.
48842
48843 2009-05-01  Bruno Haible  <bruno@clisp.org>
48844
48845         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48846         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48847         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48848         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48849         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48850         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48851         m4/locale-zh.m4, m4/codeset.m4.
48852
48853         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48854         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48855         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48856         m4/locale-zh.m4.
48857
48858         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48859         REPLACE_WCRTOMB if mbstate_t must be replaced.
48860         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48861         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48862
48863 2009-05-01  Bruno Haible  <bruno@clisp.org>
48864
48865         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48866         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48867         dngettext, dcngettext, textdomain, bindtextdomain,
48868         bind_textdomain_codeset): Undefine before redefining.
48869
48870 2009-04-30  Bruno Haible  <bruno@clisp.org>
48871
48872         Fix bug introduced on 2009-04-25.
48873         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48874         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48875         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48876         is defined.
48877         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48878         is defined.
48879         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48880         is defined.
48881         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48882
48883 2009-04-28  Bruno Haible  <bruno@clisp.org>
48884
48885         Comment tweaks.
48886         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48887         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48888         * lib/unicase.h (u*_casexfrm): Likewise.
48889         Reported by Paolo Bonzini.
48890
48891 2009-04-28  Bruno Haible  <bruno@clisp.org>
48892
48893         Fix a compilation error.
48894         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48895         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48896         Reported by Jim Meyering.
48897
48898 2009-04-27  Bruno Haible  <bruno@clisp.org>
48899
48900         New module 'libunistring'.
48901         * modules/libunistring: New file.
48902         * m4/libunistring.m4: New file.
48903         * MODULES.html.sh (Unicode string functions): Add it.
48904
48905 2009-04-27  Eric Blake  <ebb9@byu.net>
48906
48907         maint.mk: allow package-specific header to provide <config.h>
48908         * top/maint.mk (sc_require_config_h): New variable.
48909         (sc_require_config_h, sc_require_config_h_first): Use it.
48910
48911 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48912
48913         * top/maint.mk (sc_avoid_if_before_free): Except
48914         useless-if-before-free script.
48915
48916 2009-04-27  Eric Blake  <ebb9@byu.net>
48917
48918         maintainer-makefile: depend on all required helper scripts
48919         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48920         useless-if-before-free.
48921         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48922         version, rather than assuming gnulib checkout is available.
48923         Reported by Simen Josefsson.
48924
48925 2009-04-26  Bruno Haible  <bruno@clisp.org>
48926
48927         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48928         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48929         "../" or "..".
48930
48931 2009-04-26  Bruno Haible  <bruno@clisp.org>
48932
48933         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48934         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48935         AC_LIB_HAVE_LINKFLAGS.
48936
48937 2009-04-26  Bruno Haible  <bruno@clisp.org>
48938
48939         Simplify calling convention of u*_conv_from_encoding.
48940         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48941         u32_conv_from_encoding): Expect a resultbuf argument and return the
48942         result directly as a pointer.
48943         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48944         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48945         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48946         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48947         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48948         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48949         Update.
48950         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48951         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48952         * lib/vasnprintf.c (VASNPRINTF): Update.
48953         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48954         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48955         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48956         * NEWS: Mention the change.
48957
48958 2009-04-26  Bruno Haible  <bruno@clisp.org>
48959
48960         Simplify calling convention of u*_conv_to_encoding.
48961         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48962         u32_conv_to_encoding): Expect a resultbuf argument and return the
48963         result directly as a pointer.
48964         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48965         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48966         freeing scaled_offsets if mem_iconveha failed.
48967         * lib/unicase/u-casexfrm.h (FUNC): Update.
48968         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48969         * lib/vasnprintf.c (VASNPRINTF): Update.
48970         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48971         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48972         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48973         * NEWS: Mention the change.
48974
48975 2009-04-26  Bruno Haible  <bruno@clisp.org>
48976
48977         Avoid test failures on AIX and OSF/1.
48978         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48979         malloc(0).
48980         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48981         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48982         Likewise.
48983         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48984         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48985         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48986         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48987         * doc/posix-functions/malloc.texi: Document the portability problem
48988         related to malloc(0).
48989
48990 2009-04-26  Bruno Haible  <bruno@clisp.org>
48991
48992         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48993         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48994         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48995
48996 2009-04-25  Bruno Haible  <bruno@clisp.org>
48997
48998         Avoid link error when creating a namespace clean library.
48999         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49000         as macro with arguments if already defined as an alias.
49001         * lib/signbitf.c (gl_signbitf): Don't undefine.
49002         * lib/signbitd.c (gl_signbitd): Don't undefine.
49003         * lib/signbitl.c (gl_signbitl): Don't undefine.
49004
49005 2009-04-25  Jim Meyering  <meyering@redhat.com>
49006
49007         vc-list-files: fix another quoting bug
49008         * build-aux/vc-list-files: Avoid sed backslash expansion
49009         of pathological directory names.
49010
49011 2009-04-25  Eric Blake  <ebb9@byu.net>
49012
49013         vc-list-files: fix shell quoting error
49014         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49015         timestamp.
49016
49017 2009-04-25  Jim Meyering  <meyering@redhat.com>
49018
49019         vc-list-files: restore lost functionality with subdir argument
49020         * build-aux/vc-list-files: When given a non-"." sub-directory
49021         argument, substitute the $dir/ prefix back onto each resulting name.
49022         Otherwise, coreutils' root_tests check would fail.
49023
49024 2009-04-24  Eric Blake  <ebb9@byu.net>
49025
49026         vc-list-files: ignore git symlinks
49027         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49028         than ls-files, to ignore git symlinks.
49029
49030         maint.mk: import improvements from m4
49031         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49032         (move_if_change): Delete unused macro.
49033         (news-date-check, vc-diff-check): Support VPATH builds.
49034         (announcement): Likewise.  Split --bootstrap-tools list...
49035         (boostrap-tools): ...into separate list, which can be overridden
49036         in cfg.mk.
49037         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49038         requiring dependency on useless-if-before-free module.
49039         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49040         Support VPATH builds.
49041
49042 2009-04-24  Jim Meyering  <meyering@redhat.com>
49043
49044         maint.mk: remove coreutils-specific rules and variables
49045         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49046         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49047         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49048
49049         maint.mk: remove obsolete rule
49050         * top/maint.mk (rel-check): Remove rule.
49051         (WGET, WGETFLAGS): Remove now-unused variables.
49052
49053 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49054
49055         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49056         consistency.
49057
49058         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49059         '$(PATH_SEPARATOR)' instead of ':'.
49060
49061 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49062
49063         * lib/getopt1.c (main): Use 'const' for static array.
49064
49065 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49066
49067         * top/maint.mk: Sync with coreutils.
49068         * NEWS: Explain incompatibilities.
49069
49070 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49071             Bruno Haible  <bruno@clisp.org>
49072
49073         Fix cross-compilation results.
49074         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49075         statement, as third argument of AC_TRY_RUN.
49076         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49077         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49078         Likewise.
49079         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49080         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
49081         Likewise.
49082         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49083         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49084         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49085
49086 2009-04-20  Bruno Haible  <bruno@clisp.org>
49087
49088         Avoid test failure on mingw.
49089         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49090
49091 2009-04-20  Bruno Haible  <bruno@clisp.org>
49092
49093         Avoid compilation error on mingw.
49094         * modules/localename-tests (Depends-on): Add locale.
49095
49096 2009-04-19  Bruno Haible  <bruno@clisp.org>
49097
49098         Support for building a shared library on Windows platforms.
49099         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49100         (main): Test the presence of UNINORM_NFC here.
49101         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49102         (main): Test the presence of UNINORM_NFD here.
49103         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49104         (main): Test the presence of UNINORM_NFKC here.
49105         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49106         (main): Test the presence of UNINORM_NFKD here.
49107
49108 2009-04-19  Bruno Haible  <bruno@clisp.org>
49109
49110         Avoid a compiler warning.
49111         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49112         Change type of variable 'sequence'.
49113
49114 2009-04-19  Bruno Haible  <bruno@clisp.org>
49115
49116         * modules/configmake (Makefile.am): When the contents of configmake.h
49117         does not change, arrange to preserve its modification time.
49118
49119 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49120
49121         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49122         gettext domain.
49123
49124 2009-04-16  Jim Meyering  <meyering@redhat.com>
49125
49126         useless-if-before-free: improve conversion code
49127         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49128         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49129
49130 2009-04-14  Bruno Haible  <bruno@clisp.org>
49131
49132         * modules/fcntl (Depends-on): Add extensions.
49133         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49134
49135 2009-04-12  Ben Pfaff  <blp@gnu.org>
49136
49137         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49138         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49139
49140 2009-03-20  Ben Pfaff  <blp@gnu.org>
49141
49142         Make rename replace existing destinations on Windows.
49143         * m4/rename.m4: Add test for Mingw.
49144         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49145         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49146         * doc/posix-functions/rename.texi: Document.
49147
49148 2009-04-10  Bruno Haible  <bruno@clisp.org>
49149
49150         New include file "iconveh.h".
49151         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49152         * lib/striconveh.h: Include it.
49153         (enum iconv_ilseq_handler): Remove definition.
49154         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49155         striconveh.h.
49156         * lib/striconveha.c: Include striconveh.h.
49157         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49158         * modules/striconveh (Files): Add lib/iconveh.h.
49159         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49160         lib/striconveh.h.
49161
49162 2009-04-10  Bruno Haible  <bruno@clisp.org>
49163
49164         * lib/uniconv.h: Update comment.
49165
49166 2009-04-10  Bruno Haible  <bruno@clisp.org>
49167
49168         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49169         always.
49170         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49171         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49172         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49173         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49174         "unistring-notinline.h", so that the function gets defined always.
49175         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49176         * lib/unistr/u8-uctomb.c: Likewise.
49177         * lib/unistr/u16-mbtouc.c: Likewise.
49178         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49179         * lib/unistr/u16-uctomb.c: Likewise.
49180         * lib/unistr/u32-mbtouc.c: Likewise.
49181         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49182         * lib/unistr/u32-uctomb.c: Likewise.
49183
49184 2009-04-10  Bruno Haible  <bruno@clisp.org>
49185
49186         Mark 'utime' obsolete.
49187         * modules/utime (Status, Notice): New sections.
49188         Suggested by Jim Meyering.
49189
49190         Fix cross-compile guess for utime test.
49191         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49192         autoconf.
49193         * doc/posix-functions/utime.texi: Give more precisions.
49194         Reported by Jan <ipif@ymail.com>.
49195
49196 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49197
49198         filevercmp: correct today's change
49199         * lib/filevercmp.c: Also handle coreutils' test inputs.
49200         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49201
49202         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49203         for reporting it.
49204         * lib/filevercmp.c: Special handle for "", "." and "..".
49205         * tests/test-filevercmp.c: Enlarge the set suite.
49206
49207 2009-04-07  Jim Meyering  <meyering@redhat.com>
49208
49209         useless-if-before-free: show how to remove braced useless free, too
49210         * build-aux/useless-if-before-free: still only in a comment, though.
49211
49212 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49213
49214         maint.mk: import changes to syntax-check macros from coreutils
49215         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49216         Use them in the relevant macros.
49217
49218 2009-04-06  Bruno Haible  <bruno@clisp.org>
49219
49220         Fix unportable use of bit-fields.
49221         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49222         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49223         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49224
49225 2009-04-06  Bruno Haible  <bruno@clisp.org>
49226
49227         Avoid test failures on AIX and OSF/1.
49228         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49229         that malloc(0) = NULL.
49230         * tests/unicase/test-u8-tolower.c (check): Likewise.
49231         * tests/unicase/test-u8-totitle.c (check): Likewise.
49232         * tests/unicase/test-u8-toupper.c (check): Likewise.
49233         * tests/unicase/test-u16-casefold.c (check): Likewise.
49234         * tests/unicase/test-u16-tolower.c (check): Likewise.
49235         * tests/unicase/test-u16-totitle.c (check): Likewise.
49236         * tests/unicase/test-u16-toupper.c (check): Likewise.
49237         * tests/unicase/test-u32-casefold.c (check): Likewise.
49238         * tests/unicase/test-u32-tolower.c (check): Likewise.
49239         * tests/unicase/test-u32-totitle.c (check): Likewise.
49240         * tests/unicase/test-u32-toupper.c (check): Likewise.
49241         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49242         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49243         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49244         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49245         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49246         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49247         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49248         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49249         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49250         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49251         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49252         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49253
49254 2009-04-05  Bruno Haible  <bruno@clisp.org>
49255
49256         Work around an autoconf limitation.
49257         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49258         comment line if it would be longer than 3 KB.
49259
49260 2009-04-05  Bruno Haible  <bruno@clisp.org>
49261
49262         Avoid test failure with libiconv-1.13.
49263         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49264         of the expected test results.
49265
49266 2009-04-05  Bruno Haible  <bruno@clisp.org>
49267
49268         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49269         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49270         that it should be installed.
49271
49272 2009-04-05  Bruno Haible  <bruno@clisp.org>
49273
49274         * gnulib-tool: New option --copy-file.
49275         (func_usage): Document it.
49276         (func_dest_tmpfilename): Moved out of func_import.
49277         (func_add_file, func_update_file): New functions, extracted from
49278         func_import.
49279         (func_import): Update.
49280
49281 2009-04-05  Karl Berry  <karl@gnu.org>
49282
49283         * README: prominently mention gnulib-tool.
49284         Rearrange sections so getting the code is near the top.
49285
49286 2009-04-05  Bruno Haible  <bruno@clisp.org>
49287
49288         * lib/unicase.h: Mention u*_cmp2.
49289         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49290         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49291         * lib/unicase/ulc-casecmp.c: Likewise.
49292         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49293         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49294         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49295         unistr/u8-cmp.
49296         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49297         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49298         unistr/u16-cmp.
49299         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49300         unistr/u32-cmp.
49301
49302         * lib/uninorm.h: Mention u*_cmp2.
49303         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49304         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49305         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49306         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49307         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49308         unistr/u8-cmp.
49309         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49310         unistr/u16-cmp.
49311         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49312         unistr/u32-cmp.
49313
49314         New module 'unistr/u32-cmp2'.
49315         * lib/unistr/u32-cmp2.c: New file.
49316         * modules/unistr/u32-cmp2: New file.
49317
49318         New module 'unistr/u16-cmp2'.
49319         * lib/unistr/u16-cmp2.c: New file.
49320         * modules/unistr/u16-cmp2: New file.
49321
49322         New module 'unistr/u8-cmp2'.
49323         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49324         * lib/unistr/u8-cmp2.c: New file.
49325         * lib/unistr/u-cmp2.h: New file.
49326         * modules/unistr/u8-cmp2: New file.
49327
49328 2009-04-05  Bruno Haible  <bruno@clisp.org>
49329
49330         * lib/unictype.h (uc_property_is_valid): New macro.
49331         * tests/unictype/test-pr_byname.c (main): Use it.
49332
49333         * lib/unistr.h: Doc fixes.
49334         * lib/uniconv.h: Doc fixes.
49335         * lib/unictype.h: Doc fixes.
49336
49337 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49338
49339         Port coreutils 7.2 to Solaris 8.
49340
49341         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49342         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49343         for Solaris 8.  This is a bit of a hack, as it means it's the
49344         caller's responsibility to add -lnsl if needed, but most likely it
49345         won't be needed since only getaddrinfo uses this and getaddrinfo
49346         isn't needed on Solaris 8.
49347
49348         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49349         problem to Solaris 8 encountered with coreutils 7.2, which
49350         resulted in a message "fnmatch.c:292: warning: passing argument 4
49351         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49352         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49353
49354 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49355
49356         * m4/ld-version-script.m4: Add FIXME comment.
49357
49358 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49359
49360         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49361         SOVERSION variable.
49362
49363 2009-04-02  Bruno Haible  <bruno@clisp.org>
49364
49365         * Makefile (info, html, dvi, pdf): Combine the rules.
49366         Suggested by Jim Meyering.
49367
49368 2009-04-01  Bruno Haible  <bruno@clisp.org>
49369
49370         * Makefile (info, html, dvi, pdf): New targets.
49371         Reported by Reuben Thomas <rrt@sc3d.org>.
49372
49373 2009-04-01  Bruno Haible  <bruno@clisp.org>
49374
49375         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49376         can be put into PATH.
49377         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49378
49379 2009-04-01  Bruno Haible  <bruno@clisp.org>
49380
49381         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49382
49383 2009-04-01  Bruno Haible  <bruno@clisp.org>
49384
49385         Rename module 'visibility'.
49386         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49387         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49388         * doc/gnulib.texi: Update.
49389         * MODULES.html.sh (Misc): Update.
49390         * NEWS: Mention the change.
49391
49392 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49393
49394         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49395         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49396         Eric Blake <ebb9@byu.net> for review.
49397         * MODULES.html.sh: Add lib-msvc-compat.
49398         * doc/gnulib.texi: Link to new section.
49399         * m4/ld-output-def.m4: New file.
49400         * doc/ld-output-def.texi: New file.
49401
49402 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49403
49404         Rename ld-version-script to lib-symbol-versions.  Suggested by
49405         Bruno Haible <bruno@clisp.org>.
49406         * modules/ld-version-script: Renamed to lib-symbol-versions.
49407         * doc/ld-version-script.texi: Fix module name.
49408         * MODULES.html.sh: Add lib-symbol-versions.
49409
49410 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49411
49412         * modules/u64-tests: New file.
49413         * tests/test-u64.c: New file.
49414
49415 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49416
49417         * MODULES.html.sh: Mention u64.
49418         * modules/u64: New module.
49419         * modules/crypto/sha512: Depend on u64 module instead of providing
49420         u64.h.
49421
49422 2009-03-27  Eric Blake  <ebb9@byu.net>
49423
49424         test-strerror: make debugging EAI_SYSTEM easier
49425         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49426         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49427         failure was EAI_SYSTEM.
49428
49429 2009-03-25  Bruno Haible  <bruno@clisp.org>
49430
49431         Fix a problem with --enable-relocatable on Solaris 7.
49432         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49433         since 2008-02-24.
49434
49435 2009-03-25  Eric Blake  <ebb9@byu.net>
49436
49437         test-sockets: avoid gcc warning
49438         * tests/test-sockets.c (main): Silence compiler warning.
49439
49440 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49441
49442         New modules nproc, pthread, contributed by Glen Lenker.
49443
49444         * MODULES.html.sh: Add pthread, nproc.
49445         * lib/nproc.c: New file.
49446         * lib/nproc.h: New file.
49447         * lib/pthread.in.h: New file.
49448         * m4/pthread.m4: New file.
49449         * modules/nproc: New file.
49450         * modules/pthread: New file.
49451
49452 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49453
49454         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49455         New variable.
49456
49457 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49458
49459         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49460         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49461         * tests/test-filevercmp.c: Add tests for backup suffixes.
49462
49463 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49464
49465         * modules/stdlib (Depends-on): Add stdint, needed when defining
49466         struct random_data on, for example, HP-UX 10.20.  Reported by
49467         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49468
49469 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49470
49471         * lib/readline.c (readline): Call fflush on stdout after printing
49472         prompt.
49473
49474 2009-03-20  Bruno Haible  <bruno@clisp.org>
49475
49476         Remove dependency from 'close' module to -lws2_32 on native Windows.
49477         * lib/close-hook.h: New file.
49478         * lib/close-hook.c: New file.
49479         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49480         w32sock.h.
49481         (_gl_close_fd_maybe_socket): Remove function.
49482         (rpl_close): Invoke execute_all_close_hooks instead of
49483         _gl_close_fd_maybe_socket.
49484         * lib/sockets.c: Include close-hook.h, w32sock.h.
49485         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49486         (close_sockets_hook): New variable.
49487         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49488         (gl_sockets_cleanup): Unregister it.
49489         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49490         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49491         * modules/close-hook: New file.
49492         * modules/close (Files): Remove lib/w32sock.h.
49493         (Depends-on): Add close-hook.
49494         (Link): Remove section.
49495         * modules/sockets (Files): Add lib/w32sock.h.
49496         (Depends-on): Add close-hook.
49497         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49498         invocation.
49499         * NEWS: Mention that LIB_CLOSE is gone.
49500
49501 2009-03-23  Eric Blake  <ebb9@byu.net>
49502
49503         signal-tests: test previous patch
49504         * tests/test-signal.c: New file.
49505         * modules/signal-tests: Likewise.
49506
49507         signal.h: always support 'volatile sig_atomic_t'
49508         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49509         (gl_SIGNAL_H_DEFAULTS): Add a default.
49510         * modules/signal (Makefile.am): Substitute if needed.
49511         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49512         users can blindly add volatile.
49513         * doc/posix-headers/signal.texi (signal.h): Document it.
49514         Reported by Matthew Woehlke.
49515
49516 2009-03-23  Jim Meyering  <meyering@redhat.com>
49517
49518         pathmax: PATH_MAX: use pathconf only when available
49519         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49520         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49521         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49522         This avoids a link failure in a PSP cross-compilation environment
49523         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49524
49525         * lib/vasnprintf.c (divide): Fix typo in comment.
49526
49527 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49528
49529         * gnulib-tool (func_filter_filelist): Fix comment.
49530
49531 2009-03-20  Bruno Haible  <bruno@clisp.org>
49532
49533         Make sockets.h self-contained.
49534         * lib/sockets.c: Include sockets.h first.
49535         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49536
49537 2009-03-19  Eric Blake  <ebb9@byu.net>
49538
49539         doc: mention more functions added in cygwin 1.7.0
49540         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49541         addition.
49542         * doc/posix-functions/log2f.texi: Likewise.
49543
49544 2009-03-19  Jim Meyering  <meyering@redhat.com>
49545
49546         fsusage: avoid syntax error due to statement-before-declaration
49547         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49548         after all declarations.  Reported by Matthew Woehlke in
49549         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49550
49551 2009-03-18  Eric Blake  <ebb9@byu.net>
49552
49553         build-aux/compile: sync from automake
49554         * build-aux/compile: New file, from automake.
49555         * config/srclist.txt: Mention build-aux/compile.
49556
49557 2009-03-17  Bruno Haible  <bruno@clisp.org>
49558
49559         * lib/git-merge-changelog.c: Fix typo in comment.
49560         Reported by Reuben Thomas <rrt@sc3d.org>.
49561
49562 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49563
49564         * m4/regex.m4: update and improve help for
49565         --without-included-regex.
49566
49567 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49568
49569         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49570         failure on missing include files.
49571
49572 2009-03-17  Eric Blake  <ebb9@byu.net>
49573
49574         doc: mention more functions added in cygwin 1.7.0
49575         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49576         addition.
49577         * doc/posix-functions/fwscanf.texi: Likewise.
49578         * doc/posix-functions/swprintf.texi: Likewise.
49579         * doc/posix-functions/swscanf.texi: Likewise.
49580         * doc/posix-functions/vfwprintf.texi: Likewise.
49581         * doc/posix-functions/vfwscanf.texi: Likewise.
49582         * doc/posix-functions/vswprintf.texi: Likewise.
49583         * doc/posix-functions/vswscanf.texi: Likewise.
49584         * doc/posix-functions/vwprintf.texi: Likewise.
49585         * doc/posix-functions/vwscanf.texi: Likewise.
49586         * doc/posix-functions/wcscasecmp.texi: Likewise.
49587         * doc/posix-functions/wcsdup.texi: Likewise.
49588         * doc/posix-functions/wcsftime.texi: Likewise.
49589         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49590         * doc/posix-functions/wprintf.texi: Likewise.
49591         * doc/posix-functions/wscanf.texi: Likewise.
49592         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49593
49594 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49595
49596         maint.mk: really add $(AM_MAKEFLAGS)
49597         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49598         was inadvertently omitted in the last commit.
49599         Spotted by Bruno Haible.
49600
49601         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49602         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49603         $(AM_MAKEFLAGS)' rather than plain `make'.
49604
49605         gnulib-tool: execute $MAKE not make
49606         * gnulib-tool: Default $MAKE to 'make'.
49607         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49608         than make.  Initialize $MAKE in the do-autobuild script.
49609
49610         gnulib-tool: use $MAKE not make in generated files
49611         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49612         make, in generated files.  Initialize $MAKE in the do-autobuild
49613         script.
49614
49615         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49616
49617         GNUmakefile: disable parallelism only for multiple, recursive targets
49618         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49619         additions in the Makefile.
49620         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49621         by Automake.
49622         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49623         are listed on the command line and at least one of them is
49624         listed in $(ALL_RECURSIVE_TARGETS).
49625
49626 2009-03-14  Bruno Haible  <bruno@clisp.org>
49627
49628         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49629         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49630         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49631         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49632         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49633         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49634         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49635         unistr/u8-uctomb.
49636         * modules/unistr/u8-strchr (Depends-on): Likewise.
49637         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49638         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49639         unistr/u16-uctomb.
49640         * modules/unistr/u16-strchr (Depends-on): Likewise.
49641         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49642
49643 2009-03-12  Bruno Haible  <bruno@clisp.org>
49644
49645         Work around select() bug on Interix 3.5.
49646         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49647         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49648         * m4/select.m4: New file.
49649         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49650         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49651         * modules/select (Files): Add m4/select.m4.
49652         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49653         * modules/nanosleep (Depends-on): Add select.
49654         * modules/poll (Depends-on): Likewise.
49655         * doc/posix-functions/select.texi: Mention the Interix bug.
49656         Reported by Markus Duft <mduft@gentoo.org>.
49657
49658         * lib/select.c: Renamed from lib/winsock-select.c.
49659         * modules/select (Files): Add lib/select.c, remove
49660         lib/winsock-select.c.
49661         (configure.ac): Update.
49662
49663 2009-03-12  Jim Meyering  <meyering@redhat.com>
49664
49665         avoid gcc warnings about unused macro definitions
49666         * lib/readtokens.c (STREQ): Remove unused definition.
49667         * lib/xmalloc.c (SIZE_MAX): Likewise.
49668         * lib/openat-die.c (N_): Likewise.
49669         * lib/mountlist.c (SIZE_MAX): Remove definition.
49670         Instead, include <stdint.h>.
49671         * lib/readutmp.c: Likewise.
49672         * modules/readutmp (Depends-on): Add stdint.
49673         * modules/mountlist (Depends-on): Add stdint.
49674         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49675
49676 2009-03-10  Bruno Haible  <bruno@clisp.org>
49677
49678         Tests for module 'mbmemcasecoll'.
49679         * modules/mbmemcasecoll-tests: New file.
49680         * tests/test-mbmemcasecoll1.sh: New file.
49681         * tests/test-mbmemcasecoll2.sh: New file.
49682         * tests/test-mbmemcasecoll3.sh: New file.
49683         * tests/test-mbmemcasecoll.c: New file.
49684
49685         New module 'mbmemcasecoll'.
49686         * lib/mbmemcasecoll.h: New file.
49687         * lib/mbmemcasecoll.c: New file.
49688         * modules/mbmemcasecoll: New file.
49689
49690         * tests/test-mbmemcasecmp.h: New file, extracted from
49691         tests/test-mbmemcasecmp.c.
49692         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49693         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49694         (main): Update.
49695         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49696
49697 2009-03-09  Bruno Haible  <bruno@clisp.org>
49698
49699         Tests for module 'mbmemcasecmp'.
49700         * modules/mbmemcasecmp-tests: New file.
49701         * tests/test-mbmemcasecmp1.sh: New file.
49702         * tests/test-mbmemcasecmp2.sh: New file.
49703         * tests/test-mbmemcasecmp3.sh: New file.
49704         * tests/test-mbmemcasecmp.c: New file.
49705
49706         New module 'mbmemcasecmp'.
49707         * lib/mbmemcasecmp.h: New file.
49708         * lib/mbmemcasecmp.c: New file.
49709         * modules/mbmemcasecmp: New file.
49710
49711 2009-03-09  Bruno Haible  <bruno@clisp.org>
49712
49713         Tests for module 'unicase/ulc-casecoll'.
49714         * modules/unicase/ulc-casecoll-tests: New file.
49715         * tests/unicase/test-ulc-casecoll1.sh: New file.
49716         * tests/unicase/test-ulc-casecoll2.sh: New file.
49717         * tests/unicase/test-ulc-casecoll.c: New file.
49718
49719         New module 'unicase/ulc-casecoll'.
49720         * lib/unicase.h (ulc_casecoll): New declaration.
49721         * lib/unicase/ulc-casecoll.c: New file.
49722         * modules/unicase/ulc-casecoll: New file.
49723
49724         New module 'unicase/ulc-casexfrm'.
49725         * lib/unicase.h (ulc_casexfrm): New declaration.
49726         * lib/unicase/ulc-casexfrm.c: New file.
49727         * modules/unicase/ulc-casexfrm: New file.
49728
49729 2009-03-09  Bruno Haible  <bruno@clisp.org>
49730
49731         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49732         invocations.
49733
49734         * m4/mbscasecmp.m4: Remove file.
49735         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49736         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49737
49738         * m4/mbscasestr.m4: Remove file.
49739         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49740         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49741
49742         * m4/mbschr.m4: Remove file.
49743         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49744         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49745
49746         * m4/mbscspn.m4: Remove file.
49747         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49748         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49749
49750         * m4/mbslen.m4: Remove file.
49751         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49752         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49753
49754         * m4/mbsncasecmp.m4: Remove file.
49755         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49756         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49757
49758         * m4/mbsnlen.m4: Remove file.
49759         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49760         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49761
49762         * m4/mbspbrk.m4: Remove file.
49763         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49764         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49765
49766         * m4/mbspcasecmp.m4: Remove file.
49767         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49768         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49769
49770         * m4/mbsrchr.m4: Remove file.
49771         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49772         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49773
49774         * m4/mbssep.m4: Remove file.
49775         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49776         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49777
49778         * m4/mbsspn.m4: Remove file.
49779         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49780         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49781
49782         * m4/mbsstr.m4: Remove file.
49783         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49784         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49785
49786         * m4/mbstok_r.m4: Remove file.
49787         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49788         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49789
49790         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49791
49792         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49793         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49794
49795         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49796
49797 2009-03-08  Bruno Haible  <bruno@clisp.org>
49798
49799         Tests for module 'unicase/ulc-casecmp'.
49800         * modules/unicase/ulc-casecmp-tests: New file.
49801         * tests/unicase/test-ulc-casecmp1.sh: New file.
49802         * tests/unicase/test-ulc-casecmp2.sh: New file.
49803         * tests/unicase/test-ulc-casecmp.c: New file.
49804
49805         New module 'unicase/ulc-casecmp'.
49806         * lib/unicase.h (ulc_casecmp): New declaration.
49807         * lib/unicase/ulc-casecmp.c: New file.
49808         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49809         'const SRC_UNIT *'.
49810         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49811         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49812         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49813         * modules/unicase/ulc-casecmp: New file.
49814
49815         Tests for module 'unicase/u32-is-cased'.
49816         * modules/unicase/u32-is-cased-tests: New file.
49817         * tests/unicase/test-u32-is-cased.c: New file.
49818
49819         Tests for module 'unicase/u16-is-cased'.
49820         * modules/unicase/u16-is-cased-tests: New file.
49821         * tests/unicase/test-u16-is-cased.c: New file.
49822
49823         Tests for module 'unicase/u8-is-cased'.
49824         * modules/unicase/u8-is-cased-tests: New file.
49825         * tests/unicase/test-u8-is-cased.c: New file.
49826         * tests/unicase/test-is-cased.h: New file.
49827
49828         New module 'unicase/u32-is-cased'.
49829         * lib/unicase/u32-is-cased.c: New file.
49830         * modules/unicase/u32-is-cased: New file.
49831
49832         New module 'unicase/u16-is-cased'.
49833         * lib/unicase/u16-is-cased.c: New file.
49834         * modules/unicase/u16-is-cased: New file.
49835
49836         New module 'unicase/u8-is-cased'.
49837         * lib/unicase/u8-is-cased.c: New file.
49838         * lib/unicase/u-is-cased.h: New file.
49839         * modules/unicase/u8-is-cased: New file.
49840
49841         Tests for module 'unicase/u32-is-casefolded'.
49842         * modules/unicase/u32-is-casefolded-tests: New file.
49843         * tests/unicase/test-u32-is-casefolded.c: New file.
49844
49845         Tests for module 'unicase/u16-is-casefolded'.
49846         * modules/unicase/u16-is-casefolded-tests: New file.
49847         * tests/unicase/test-u16-is-casefolded.c: New file.
49848
49849         Tests for module 'unicase/u8-is-casefolded'.
49850         * modules/unicase/u8-is-casefolded-tests: New file.
49851         * tests/unicase/test-u8-is-casefolded.c: New file.
49852         * tests/unicase/test-is-casefolded.h: New file.
49853
49854         New module 'unicase/u32-is-casefolded'.
49855         * lib/unicase/u32-is-casefolded.c: New file.
49856         * modules/unicase/u32-is-casefolded: New file.
49857
49858         New module 'unicase/u16-is-casefolded'.
49859         * lib/unicase/u16-is-casefolded.c: New file.
49860         * modules/unicase/u16-is-casefolded: New file.
49861
49862         New module 'unicase/u8-is-casefolded'.
49863         * lib/unicase/u8-is-casefolded.c: New file.
49864         * modules/unicase/u8-is-casefolded: New file.
49865
49866         Tests for module 'unicase/u32-is-titlecase'.
49867         * modules/unicase/u32-is-titlecase-tests: New file.
49868         * tests/unicase/test-u32-is-titlecase.c: New file.
49869
49870         Tests for module 'unicase/u16-is-titlecase'.
49871         * modules/unicase/u16-is-titlecase-tests: New file.
49872         * tests/unicase/test-u16-is-titlecase.c: New file.
49873
49874         Tests for module 'unicase/u8-is-titlecase'.
49875         * modules/unicase/u8-is-titlecase-tests: New file.
49876         * tests/unicase/test-u8-is-titlecase.c: New file.
49877         * tests/unicase/test-is-titlecase.h: New file.
49878
49879         New module 'unicase/u32-is-titlecase'.
49880         * lib/unicase/u32-is-titlecase.c: New file.
49881         * modules/unicase/u32-is-titlecase: New file.
49882
49883         New module 'unicase/u16-is-titlecase'.
49884         * lib/unicase/u16-is-titlecase.c: New file.
49885         * modules/unicase/u16-is-titlecase: New file.
49886
49887         New module 'unicase/u8-is-titlecase'.
49888         * lib/unicase/u8-is-titlecase.c: New file.
49889         * modules/unicase/u8-is-titlecase: New file.
49890
49891         Tests for module 'unicase/u32-is-lowercase'.
49892         * modules/unicase/u32-is-lowercase-tests: New file.
49893         * tests/unicase/test-u32-is-lowercase.c: New file.
49894
49895         Tests for module 'unicase/u16-is-lowercase'.
49896         * modules/unicase/u16-is-lowercase-tests: New file.
49897         * tests/unicase/test-u16-is-lowercase.c: New file.
49898
49899         Tests for module 'unicase/u8-is-lowercase'.
49900         * modules/unicase/u8-is-lowercase-tests: New file.
49901         * tests/unicase/test-u8-is-lowercase.c: New file.
49902         * tests/unicase/test-is-lowercase.h: New file.
49903
49904         New module 'unicase/u32-is-lowercase'.
49905         * lib/unicase/u32-is-lowercase.c: New file.
49906         * modules/unicase/u32-is-lowercase: New file.
49907
49908         New module 'unicase/u16-is-lowercase'.
49909         * lib/unicase/u16-is-lowercase.c: New file.
49910         * modules/unicase/u16-is-lowercase: New file.
49911
49912         New module 'unicase/u8-is-lowercase'.
49913         * lib/unicase/u8-is-lowercase.c: New file.
49914         * modules/unicase/u8-is-lowercase: New file.
49915
49916         Tests for module 'unicase/u32-is-uppercase'.
49917         * modules/unicase/u32-is-uppercase-tests: New file.
49918         * tests/unicase/test-u32-is-uppercase.c: New file.
49919
49920         Tests for module 'unicase/u16-is-uppercase'.
49921         * modules/unicase/u16-is-uppercase-tests: New file.
49922         * tests/unicase/test-u16-is-uppercase.c: New file.
49923
49924         Tests for module 'unicase/u8-is-uppercase'.
49925         * modules/unicase/u8-is-uppercase-tests: New file.
49926         * tests/unicase/test-u8-is-uppercase.c: New file.
49927         * tests/unicase/test-is-uppercase.h: New file.
49928
49929         New module 'unicase/u32-is-uppercase'.
49930         * lib/unicase/u32-is-uppercase.c: New file.
49931         * modules/unicase/u32-is-uppercase: New file.
49932
49933         New module 'unicase/u16-is-uppercase'.
49934         * lib/unicase/u16-is-uppercase.c: New file.
49935         * modules/unicase/u16-is-uppercase: New file.
49936
49937         New module 'unicase/u8-is-uppercase'.
49938         * lib/unicase/u8-is-uppercase.c: New file.
49939         * modules/unicase/u8-is-uppercase: New file.
49940
49941         New module 'unicase/u32-is-invariant'.
49942         * lib/unicase/u32-is-invariant.c: New file.
49943         * modules/unicase/u32-is-invariant: New file.
49944
49945         New module 'unicase/u16-is-invariant'.
49946         * lib/unicase/u16-is-invariant.c: New file.
49947         * modules/unicase/u16-is-invariant: New file.
49948
49949         New module 'unicase/u8-is-invariant'.
49950         * lib/unicase/u8-is-invariant.c: New file.
49951         * lib/unicase/invariant.h: New file.
49952         * lib/unicase/u-is-invariant.h: New file.
49953         * modules/unicase/u8-is-invariant: New file.
49954
49955         Tests for module 'unicase/u32-casecoll'.
49956         * modules/unicase/u32-casecoll-tests: New file.
49957         * tests/unicase/test-u32-casecoll.c: New file.
49958
49959         Tests for module 'unicase/u16-casecoll'.
49960         * modules/unicase/u16-casecoll-tests: New file.
49961         * tests/unicase/test-u16-casecoll.c: New file.
49962
49963         Tests for module 'unicase/u8-casecoll'.
49964         * modules/unicase/u8-casecoll-tests: New file.
49965         * tests/unicase/test-u8-casecoll.c: New file.
49966
49967         New module 'unicase/u32-casecoll'.
49968         * lib/unicase/u32-casecoll.c: New file.
49969         * modules/unicase/u32-casecoll: New file.
49970
49971         New module 'unicase/u16-casecoll'.
49972         * lib/unicase/u16-casecoll.c: New file.
49973         * modules/unicase/u16-casecoll: New file.
49974
49975         New module 'unicase/u8-casecoll'.
49976         * lib/unicase/u8-casecoll.c: New file.
49977         * lib/unicase/u-casecoll.h: New file.
49978         * modules/unicase/u8-casecoll: New file.
49979
49980         New module 'unicase/u32-casexfrm'.
49981         * lib/unicase/u32-casexfrm.c: New file.
49982         * modules/unicase/u32-casexfrm: New file.
49983
49984         New module 'unicase/u16-casexfrm'.
49985         * lib/unicase/u16-casexfrm.c: New file.
49986         * modules/unicase/u16-casexfrm: New file.
49987
49988         New module 'unicase/u8-casexfrm'.
49989         * lib/unicase/u8-casexfrm.c: New file.
49990         * lib/unicase/u-casexfrm.h: New file.
49991         * modules/unicase/u8-casexfrm: New file.
49992
49993         Tests for module 'unicase/u32-casecmp'.
49994         * modules/unicase/u32-casecmp-tests: New file.
49995         * tests/unicase/test-u32-casecmp.c: New file.
49996
49997         Tests for module 'unicase/u16-casecmp'.
49998         * modules/unicase/u16-casecmp-tests: New file.
49999         * tests/unicase/test-u16-casecmp.c: New file.
50000
50001         Tests for module 'unicase/u8-casecmp'.
50002         * modules/unicase/u8-casecmp-tests: New file.
50003         * tests/unicase/test-u8-casecmp.c: New file.
50004         * tests/unicase/test-casecmp.h: New file.
50005
50006         New module 'unicase/u32-casecmp'.
50007         * lib/unicase/u32-casecmp.c: New file.
50008         * modules/unicase/u32-casecmp: New file.
50009
50010         New module 'unicase/u16-casecmp'.
50011         * lib/unicase/u16-casecmp.c: New file.
50012         * modules/unicase/u16-casecmp: New file.
50013
50014         New module 'unicase/u8-casecmp'.
50015         * lib/unicase/u8-casecmp.c: New file.
50016         * lib/unicase/u-casecmp.h: New file.
50017         * modules/unicase/u8-casecmp: New file.
50018
50019         Tests for module 'unicase/u32-casefold'.
50020         * modules/unicase/u32-casefold-tests: New file.
50021         * tests/unicase/test-u32-casefold.c: New file.
50022
50023         Tests for module 'unicase/u16-casefold'.
50024         * modules/unicase/u16-casefold-tests: New file.
50025         * tests/unicase/test-u16-casefold.c: New file.
50026
50027         Tests for module 'unicase/u8-casefold'.
50028         * modules/unicase/u8-casefold-tests: New file.
50029         * tests/unicase/test-u8-casefold.c: New file.
50030
50031         New module 'unicase/u32-casefold'.
50032         * lib/unicase/u32-casefold.c: New file.
50033         * modules/unicase/u32-casefold: New file.
50034
50035         New module 'unicase/u16-casefold'.
50036         * lib/unicase/u16-casefold.c: New file.
50037         * modules/unicase/u16-casefold: New file.
50038
50039         New module 'unicase/u8-casefold'.
50040         * lib/unicase/u8-casefold.c: New file.
50041         * lib/unicase/u-casefold.h: New file.
50042         * modules/unicase/u8-casefold: New file.
50043
50044         New module 'unicase/tocasefold'.
50045         * lib/unicase/casefold.h: New file.
50046         * lib/unicase/tocasefold.c: New file.
50047         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50048         * modules/unicase/tocasefold: New file.
50049
50050         Tests for module 'unicase/u32-totitle'.
50051         * modules/unicase/u32-totitle-tests: New file.
50052         * tests/unicase/test-u32-totitle.c: New file.
50053
50054         Tests for module 'unicase/u16-totitle'.
50055         * modules/unicase/u16-totitle-tests: New file.
50056         * tests/unicase/test-u16-totitle.c: New file.
50057
50058         Tests for module 'unicase/u8-totitle'.
50059         * modules/unicase/u8-totitle-tests: New file.
50060         * tests/unicase/test-u8-totitle.c: New file.
50061
50062         New module 'unicase/u32-totitle'.
50063         * lib/unicase/u32-totitle.c: New file.
50064         * modules/unicase/u32-totitle: New file.
50065
50066         New module 'unicase/u16-totitle'.
50067         * lib/unicase/u16-totitle.c: New file.
50068         * modules/unicase/u16-totitle: New file.
50069
50070         New module 'unicase/u8-totitle'.
50071         * lib/unicase/u8-totitle.c: New file.
50072         * lib/unicase/u-totitle.h: New file.
50073         * modules/unicase/u8-totitle: New file.
50074
50075         Tests for module 'unicase/u32-tolower'.
50076         * modules/unicase/u32-tolower-tests: New file.
50077         * tests/unicase/test-u32-tolower.c: New file.
50078
50079         Tests for module 'unicase/u16-tolower'.
50080         * modules/unicase/u16-tolower-tests: New file.
50081         * tests/unicase/test-u16-tolower.c: New file.
50082
50083         Tests for module 'unicase/u8-tolower'.
50084         * modules/unicase/u8-tolower-tests: New file.
50085         * tests/unicase/test-u8-tolower.c: New file.
50086
50087         New module 'unicase/u32-tolower'.
50088         * lib/unicase/u32-tolower.c: New file.
50089         * modules/unicase/u32-tolower: New file.
50090
50091         New module 'unicase/u16-tolower'.
50092         * lib/unicase/u16-tolower.c: New file.
50093         * modules/unicase/u16-tolower: New file.
50094
50095         New module 'unicase/u8-tolower'.
50096         * lib/unicase/u8-tolower.c: New file.
50097         * modules/unicase/u8-tolower: New file.
50098
50099         Tests for module 'unicase/u32-toupper'.
50100         * modules/unicase/u32-toupper-tests: New file.
50101         * tests/unicase/test-u32-toupper.c: New file.
50102
50103         Tests for module 'unicase/u16-toupper'.
50104         * modules/unicase/u16-toupper-tests: New file.
50105         * tests/unicase/test-u16-toupper.c: New file.
50106
50107         Tests for module 'unicase/u8-toupper'.
50108         * modules/unicase/u8-toupper-tests: New file.
50109         * tests/unicase/test-u8-toupper.c: New file.
50110
50111         New module 'unicase/u32-toupper'.
50112         * lib/unicase/u32-toupper.c: New file.
50113         * modules/unicase/u32-toupper: New file.
50114
50115         New module 'unicase/u16-toupper'.
50116         * lib/unicase/u16-toupper.c: New file.
50117         * modules/unicase/u16-toupper: New file.
50118
50119         New module 'unicase/u8-toupper'.
50120         * lib/unicase/u8-toupper.c: New file.
50121         * modules/unicase/u8-toupper: New file.
50122
50123         New module 'unicase/u32-casemap'.
50124         * lib/unicase/u32-casemap.c: New file.
50125         * modules/unicase/u32-casemap: New file.
50126
50127         New module 'unicase/u16-casemap'.
50128         * lib/unicase/u16-casemap.c: New file.
50129         * modules/unicase/u16-casemap: New file.
50130
50131         New module 'unicase/u8-casemap'.
50132         * lib/unicase/unicasemap.h: New file.
50133         * lib/unicase/u8-casemap.c: New file.
50134         * lib/unicase/u-casemap.h: New file.
50135         * modules/unicase/u8-casemap: New file.
50136
50137         New module 'unicase/special-casing'.
50138         * lib/unicase/special-casing.h: New file.
50139         * lib/unicase/special-casing.c: New file.
50140         * lib/unicase/special-casing-table.gperf: New file, generated by
50141         gen-uni-tables.c.
50142         * modules/unicase/special-casing: New file.
50143
50144         Tests for module 'unicase/locale-language'.
50145         * modules/unicase/locale-language-tests: New file.
50146         * tests/unicase/test-locale-language.sh: New file.
50147         * tests/unicase/test-locale-language.c: New file.
50148
50149         New module 'unicase/locale-language'.
50150         * lib/unicase/locale-language.c: New file.
50151         * lib/unicase/locale-languages.gperf: New file.
50152         * modules/unicase/locale-language: New file.
50153
50154         Generate more tables for case conversion and case folding.
50155         * lib/gen-uni-tables.c (SCC_*): New enum items.
50156         (struct special_casing_rule): New type.
50157         (casing_rules, num_casing_rules, allocated_casing_rules): New
50158         variables.
50159         (add_casing_rule, fill_casing_rules): New functions.
50160         (struct casefold_rule): New type.
50161         (casefolding_rules, num_casefolding_rules,
50162         allocated_casefolding_rules): New variables.
50163         (fill_casefolding_rules): New function.
50164         (unicode_casefold): New variable.
50165         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50166         sort_casing_rules, output_casing_rules): New functions.
50167         (main): Accept to more arguments: SpecialCasing.txt and
50168         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50169         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50170         Output mapping for casefolding.
50171
50172         * lib/unicase.h: Include stdbool.h, uninorm.h.
50173         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50174         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50175         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50176         arguments.
50177         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50178         resultp arguments.
50179         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50180         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50181         resultp arguments.
50182         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50183         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50184         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50185         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50186         declarations.
50187         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50188
50189 2009-03-08  Bruno Haible  <bruno@clisp.org>
50190
50191         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50192         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50193         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50194         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50195
50196 2009-03-07  Bruno Haible  <bruno@clisp.org>
50197
50198         Adjust u*_normcmp, u*_normcoll API.
50199         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50200         u16_normcoll, u32_normcoll): Change failure conventions.
50201         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50202         errno and return -1.
50203         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50204
50205 2009-03-07  Bruno Haible  <bruno@clisp.org>
50206
50207         Tests for module 'uninorm/u32-normcoll'.
50208         * modules/uninorm/u32-normcoll-tests: New file.
50209         * tests/uninorm/test-u32-normcoll.c: New file.
50210
50211         Tests for module 'uninorm/u16-normcoll'.
50212         * modules/uninorm/u16-normcoll-tests: New file.
50213         * tests/uninorm/test-u16-normcoll.c: New file.
50214
50215         Tests for module 'uninorm/u8-normcoll'.
50216         * modules/uninorm/u8-normcoll-tests: New file.
50217         * tests/uninorm/test-u8-normcoll.c: New file.
50218
50219 2009-03-07  Bruno Haible  <bruno@clisp.org>
50220
50221         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50222         tests/uninorm/test-u32-normcmp.c.
50223         * tests/uninorm/test-u32-normcmp.c: Include it.
50224         (test_nonascii): New function, extracted from main. Add some more
50225         tests.
50226         (main): Invoke test_ascii and test_nonascii.
50227         * modules/uninorm/u32-normcmp-tests (Files): Add
50228         tests/uninorm/test-u32-normcmp.h.
50229         (Depends-on): Remove uninorm/u32-normcmp.
50230
50231         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50232         tests/uninorm/test-u16-normcmp.c.
50233         * tests/uninorm/test-u16-normcmp.c: Include it.
50234         (test_nonascii): New function, extracted from main. Add some more
50235         tests.
50236         (main): Invoke test_ascii and test_nonascii.
50237         * modules/uninorm/u16-normcmp-tests (Files): Add
50238         tests/uninorm/test-u16-normcmp.h.
50239         (Depends-on): Remove uninorm/u16-normcmp.
50240
50241         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50242         tests/uninorm/test-u8-normcmp.c.
50243         * tests/uninorm/test-u8-normcmp.c: Include it.
50244         (test_nonascii): New function, extracted from main. Add some more
50245         tests.
50246         (main): Invoke test_ascii and test_nonascii.
50247         * modules/uninorm/u8-normcmp-tests (Files): Add
50248         tests/uninorm/test-u8-normcmp.h.
50249         (Depends-on): Remove uninorm/u8-normcmp.
50250
50251 2009-03-07  Bruno Haible  <bruno@clisp.org>
50252
50253         New module 'uninorm/u32-normcoll'.
50254         * lib/uninorm/u32-normcoll.c: New file.
50255         * modules/uninorm/u32-normcoll: New file.
50256
50257         New module 'uninorm/u16-normcoll'.
50258         * lib/uninorm/u16-normcoll.c: New file.
50259         * modules/uninorm/u16-normcoll: New file.
50260
50261         New module 'uninorm/u8-normcoll'.
50262         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50263         declarations.
50264         * lib/uninorm/u8-normcoll.c: New file.
50265         * lib/uninorm/u-normcoll.h: New file.
50266         * modules/uninorm/u8-normcoll: New file.
50267
50268         New module 'uninorm/u32-normxfrm'.
50269         * lib/uninorm/u32-normxfrm.c: New file.
50270         * modules/uninorm/u32-normxfrm: New file.
50271
50272         New module 'uninorm/u16-normxfrm'.
50273         * lib/uninorm/u16-normxfrm.c: New file.
50274         * modules/uninorm/u16-normxfrm: New file.
50275
50276         New module 'uninorm/u8-normxfrm'.
50277         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50278         declarations.
50279         * lib/uninorm/u8-normxfrm.c: New file.
50280         * lib/uninorm/u-normxfrm.h: New file.
50281         * modules/uninorm/u8-normxfrm: New file.
50282
50283 2009-03-07  Bruno Haible  <bruno@clisp.org>
50284
50285         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50286         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50287         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50288
50289 2009-03-07  Bruno Haible  <bruno@clisp.org>
50290
50291         New module 'memxfrm'.
50292         * lib/memxfrm.h: New file.
50293         * lib/memxfrm.c: New file.
50294         * modules/memxfrm: New file.
50295
50296 2009-03-07  Bruno Haible  <bruno@clisp.org>
50297
50298         New module 'memcmp2'.
50299         * lib/memcmp2.h: New file.
50300         * lib/memcmp2.c: New file.
50301         * modules/memcmp2: New file.
50302
50303 2009-03-07  Bruno Haible  <bruno@clisp.org>
50304
50305         Tests for module 'uninorm/decomposing-form'.
50306         * modules/uninorm/decomposing-form-tests: New file.
50307         * tests/uninorm/test-decomposing-form.c: New file.
50308
50309         New module 'uninorm/decomposing-form'.
50310         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50311         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50312         Add 'decomposing_variant' field.
50313         * lib/uninorm/decomposing-form.c: New file.
50314         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50315         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50316         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50317         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50318         * modules/uninorm/decomposing-form: New file.
50319         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50320         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50321
50322 2009-03-07  Bruno Haible  <bruno@clisp.org>
50323
50324         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50325         strings.
50326
50327 2009-03-06  Bruno Haible  <bruno@clisp.org>
50328
50329         Tests for module 'uninorm/u32-normcmp'.
50330         * tests/uninorm/test-u32-normcmp.c: New file.
50331         * modules/uninorm/u32-normcmp-tests: New file.
50332
50333         Tests for module 'uninorm/u16-normcmp'.
50334         * tests/uninorm/test-u16-normcmp.c: New file.
50335         * modules/uninorm/u16-normcmp-tests: New file.
50336
50337         Tests for module 'uninorm/u8-normcmp'.
50338         * tests/uninorm/test-u8-normcmp.c: New file.
50339         * modules/uninorm/u8-normcmp-tests: New file.
50340
50341         New module 'uninorm/u32-normcmp'.
50342         * lib/uninorm/u32-normcmp.c: New file.
50343         * modules/uninorm/u32-normcmp: New file.
50344
50345         New module 'uninorm/u16-normcmp'.
50346         * lib/uninorm/u16-normcmp.c: New file.
50347         * modules/uninorm/u16-normcmp: New file.
50348
50349         New module 'uninorm/u8-normcmp'.
50350         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50351         declarations.
50352         * lib/uninorm/u8-normcmp.c: New file.
50353         * lib/uninorm/u-normcmp.h: New file.
50354         * modules/uninorm/u8-normcmp: New file.
50355
50356 2009-03-06  Bruno Haible  <bruno@clisp.org>
50357
50358         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50359         Reported by Eric Blake.
50360
50361 2009-03-06  Eric Blake  <ebb9@byu.net>
50362             Bruno Haible  <bruno@clisp.org>
50363
50364         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50365         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50366         condition.
50367         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50368         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50369         condition.
50370         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50371
50372 2009-03-06  Eric Blake  <ebb9@byu.net>
50373
50374         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50375         to avoid compiler warnings.
50376         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50377
50378 2009-03-05  Bruno Haible  <bruno@clisp.org>
50379
50380         * tests/test-ftell.c (main): Disable test beyond end of file on
50381         FreeMiNT.
50382         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50383
50384 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50385
50386         * lib/filevercmp.c: Move hidden files up in ordering.
50387         * tests/test-filevercmp.c: Add tests for hidden files.
50388
50389 2009-03-04  Bruno Haible  <bruno@clisp.org>
50390
50391         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50392         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50393         AM_CFLAGS.
50394         Reported by Simon Josefsson.
50395
50396 2009-03-03  Bruno Haible  <bruno@clisp.org>
50397
50398         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50399         Reported by Simon Josefsson.
50400
50401         * doc/ld-version-script.texi: Update node reference.
50402
50403 2009-03-03  Bruno Haible  <bruno@clisp.org>
50404
50405         * modules/visibility (License): Change to 'unlimited'.
50406         Suggested by Simon Josefsson.
50407
50408 2009-03-03  Jim Meyering  <meyering@redhat.com>
50409
50410         unlinkdir: cannot_unlink_dir may modify process state
50411         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50412         it's neither thread-safe nor appropriate for use in a library.
50413
50414 2009-03-03  Eric Blake  <ebb9@byu.net>
50415
50416         test-closein: silence test under Darwin
50417         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50418         care if it dies from EPIPE or EBADF.
50419
50420 2009-03-03  Bruno Haible  <bruno@clisp.org>
50421
50422         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50423         earlier.
50424         * doc/visibility.texi: Fix @node and @section.
50425
50426 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50427
50428         * doc/gnulib.texi: Link to sections for ld version script and
50429         visibility.
50430         * doc/visibility.texi: Add @node and @section.
50431         * modules/ld-version-script: New module.
50432         * m4/ld-version-script.m4: New file.
50433         * doc/ld-version-script.texi: New file.
50434
50435 2009-03-02  David Lutterkort  <lutter@redhat.com>
50436
50437         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50438         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50439
50440 2009-03-02  Bruno Haible  <bruno@clisp.org>
50441
50442         * doc/visibility.texi: Mention libtool's -export-symbols option.
50443
50444 2009-03-02  Jim Meyering  <meyering@redhat.com>
50445
50446         announce-gen: new option: --no-print-checksums
50447         * build-aux/announce-gen (usage): Describe it.
50448         (print_checksums): Print a newline here, not in the [*] footnote.
50449         (main): Honor it.
50450
50451 2009-03-01  Bruno Haible  <bruno@clisp.org>
50452
50453         Use socklen_t in the native Windows replacements prototypes.
50454         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50455         instead of 'int'.
50456         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50457         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50458         * modules/getsockopt (Depends-on): Add socklen.
50459         * modules/setsockopt (Depends-on): Add socklen.
50460
50461 2009-03-01  Bruno Haible  <bruno@clisp.org>
50462
50463         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50464         least 4.2.
50465
50466 2009-03-01  Eric Blake  <ebb9@byu.net>
50467             Bruno Haible  <bruno@clisp.org>
50468
50469         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50470         error messages.
50471         * lib/wait-process.c (wait_subprocess): Omit error message about
50472         deadly signal sent to the child of termsigp != NULL.
50473
50474 2009-03-01  Eric Blake  <ebb9@byu.net>
50475
50476         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50477
50478 2009-03-01  Bruno Haible  <bruno@clisp.org>
50479
50480         Avoid a gcc warning.
50481         * tests/test-sched.c (b): Make global.
50482         Reported by Eric Blake.
50483
50484 2009-01-19  Martin Lambers  <marlam@marlam.de>
50485
50486         Provide POSIX semantics for socket timeout options on W32.
50487         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50488         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50489         * modules/setsockopt: Depend on sys_time module for struct timeval.
50490         * modules/getsockopt: Depend on sys_time module for struct timeval.
50491
50492 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50493
50494         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50495         __USE_GNU, for consistency with netdb.in.h.
50496         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50497
50498 2009-03-01  Bruno Haible  <bruno@clisp.org>
50499
50500         More support for FreeMiNT.
50501         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50502         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50503
50504 2009-03-01  Bruno Haible  <bruno@clisp.org>
50505
50506         More support for FreeMiNT.
50507         * lib/fpurge.c (fpurge): Correct last commit.
50508         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50509
50510 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50511
50512         Fix unportable awk script in vc-list-files.
50513         * build-aux/vc-list-files: In the replacement awk script, use
50514         substr with a second argument of 1, not zero.
50515         Report by Simon Josefsson.
50516
50517 2009-02-28  Bruno Haible  <bruno@clisp.org>
50518
50519         More support for FreeMiNT.
50520         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50521         to FreeMiNT today.
50522         * lib/fwriting.c (fwriting): Likewise.
50523         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50524
50525 2009-02-28  Bruno Haible  <bruno@clisp.org>
50526
50527         * tests/test-freadseek.c (main): Disable test beyond end of file on
50528         FreeMiNT.
50529         * tests/test-ftello.c (main): Likewise.
50530         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50531
50532 2009-02-28  Bruno Haible  <bruno@clisp.org>
50533
50534         Add tentative support for FreeMiNT.
50535         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50536         * lib/fpurge.c (fpurge): Likewise.
50537         * lib/freadable.c (freadable): Likewise.
50538         * lib/freading.c (freading): Likewise.
50539         * lib/freadptr.c (freadptr): Likewise.
50540         * lib/freadseek.c (freadptrinc): Likewise.
50541         * lib/fseeko.c (rpl_fseeko): Likewise.
50542         * lib/fseterr.c (fseterr): Likewise.
50543         * lib/fwritable.c (fwritable): Likewise.
50544         * lib/fwriting.c (fwriting): Likewise.
50545         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50546         Hourihane.
50547         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50548
50549 2009-02-28  Bruno Haible  <bruno@clisp.org>
50550
50551         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50552         SIGCHLD.
50553         Reported by Jim Meyering.
50554
50555 2009-02-28  Bruno Haible  <bruno@clisp.org>
50556
50557         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50558         Mention the results of these tests on various platforms.
50559         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50560         order.
50561         * doc/posix-functions/printf.texi: Likewise.
50562         * doc/posix-functions/snprintf.texi: Likewise.
50563         * doc/posix-functions/sprintf.texi: Likewise.
50564         * doc/posix-functions/vfprintf.texi: Likewise.
50565         * doc/posix-functions/vprintf.texi: Likewise.
50566         * doc/posix-functions/vsnprintf.texi: Likewise.
50567         * doc/posix-functions/vsprintf.texi: Likewise.
50568         * doc/glibc-functions/obstack_printf.texi: Likewise.
50569         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50570
50571 2009-02-28  Bruno Haible  <bruno@clisp.org>
50572
50573         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50574         Reported by Loïc Minier <lool@dooz.org>.
50575
50576 2009-02-27  Bruno Haible  <bruno@clisp.org>
50577
50578         * gnulib-tool (func_import): Make the sed expression used to create the
50579         sed script for updating the .gitignore file POSIX compliant.
50580         Reported by Eric Blake.
50581
50582 2009-02-27  Bruno Haible  <bruno@clisp.org>
50583
50584         * gnulib-tool (sed): Don't alias as "sed --posix".
50585         Reported by Eric Blake.
50586
50587 2009-02-27  Bruno Haible  <bruno@clisp.org>
50588
50589         Avoid test link errors.
50590         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50591         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50592         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50593         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50594         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50595
50596 2009-02-27  Bruno Haible  <bruno@clisp.org>
50597
50598         Avoid spurious "(cached)" in configure output.
50599         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50600         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50601         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50602         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50603         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50604         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50605         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50606         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50607         Reported by Eric Blake.
50608
50609 2009-02-27  Eric Blake  <ebb9@byu.net>
50610
50611         printf: fix regression in previous patch
50612         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50613
50614 2009-02-27  Bruno Haible  <bruno@clisp.org>
50615
50616         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50617         value.
50618         * lib/stdint.in.h: Likewise.
50619         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50620
50621 2009-02-27  Eric Blake  <ebb9@byu.net>
50622
50623         doc: mention more functions added in cygwin 1.7.0
50624         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50625         addition.
50626         * doc/posix-functions/open_wmemstream.texi: Likewise.
50627         * doc/posix-functions/wcsnlen.texi: Likewise.
50628         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50629         * doc/posix-functions/wcstod.texi: Likewise.
50630         * doc/posix-functions/wcstof.texi: Likewise.
50631         * doc/posix-functions/wcstoimax.texi: Likewise.
50632         * doc/posix-functions/wcstok.texi: Likewise.
50633         * doc/posix-functions/wcstoumax.texi: Likewise.
50634
50635         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50636         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50637         * doc/posix-functions/fprintf.texi: Update.
50638         * doc/posix-functions/printf.texi: Update.
50639         * doc/posix-functions/snprintf.texi: Update.
50640         * doc/posix-functions/sprintf.texi: Update.
50641         * doc/posix-functions/vfprintf.texi: Update.
50642         * doc/posix-functions/vprintf.texi: Update.
50643         * doc/posix-functions/vsnprintf.texi: Update.
50644         * doc/posix-functions/vsprintf.texi: Update.
50645         * doc/glibc-functions/obstack_printf.texi: Update.
50646         * doc/glibc-functions/obstack_vprintf.texi: Update.
50647
50648 2009-02-26  Eric Blake  <ebb9@byu.net>
50649
50650         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50651         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50652         compilation bug by using runtime conversion.
50653         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50654         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50655         * modules/ceill-tests (Files): Use nan.h.
50656         * modules/floorl-tests (Files): Likewise.
50657         * modules/frexpl-tests (Files): Likewise.
50658         * modules/isnanl-tests (Files): Likewise.
50659         * modules/ldexpl-tests (Files): Likewise.
50660         * modules/roundl-tests (Files): Likewise.
50661         * modules/truncl-tests (Files): Likewise.
50662         * tests/test-ceill.c (main): Use a working NaN.
50663         * tests/test-floorl.c (main): Likewise.
50664         * tests/test-frexpl.c (main): Likewise.
50665         * tests/test-isnan.c (test_long_double): Likewise.
50666         * tests/test-isnanl.h (main): Likewise.
50667         * tests/test-ldexpl.h (main): Likewise.
50668         * tests/test-roundl.h (main): Likewise.
50669         * tests/test-truncl.h (main): Likewise.
50670         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50671
50672 2009-02-26  Eric Blake  <ebb9@byu.net>
50673             Bruno Haible  <bruno@clisp.org>
50674
50675         Work around a *printf bug with %ls on Solaris.
50676         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50677         precision is specified, sprintf stops converting the wide string
50678         argument when the number of bytes that have been produced by this
50679         conversion equals or exceeds the precision.
50680         * doc/posix-functions/fprintf.texi: Update.
50681         * doc/posix-functions/printf.texi: Update.
50682         * doc/posix-functions/snprintf.texi: Update.
50683         * doc/posix-functions/sprintf.texi: Update.
50684         * doc/posix-functions/vfprintf.texi: Update.
50685         * doc/posix-functions/vprintf.texi: Update.
50686         * doc/posix-functions/vsnprintf.texi: Update.
50687         * doc/posix-functions/vsprintf.texi: Update.
50688         * doc/glibc-functions/obstack_printf.texi: Update.
50689         * doc/glibc-functions/obstack_vprintf.texi: Update.
50690
50691 2009-02-26  Eric Blake  <ebb9@byu.net>
50692
50693         stdlib: favor compiler check of random.h
50694         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50695         to avoid an ObjC random.h installed by Swarm.
50696
50697 2009-02-26  Bruno Haible  <bruno@clisp.org>
50698
50699         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50700         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50701         Reported by Gary V. Vaughan <gary@gnu.org>.
50702
50703 2009-02-26  Bruno Haible  <bruno@clisp.org>
50704
50705         Fix *printf behaviour regarding the %ls directive.
50706         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50707         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50708         NEED_PRINTF_DIRECTIVE_LS.
50709         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50710         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50711         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50712         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50713         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50714         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50715         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50716         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50717         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50718         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50719         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50720         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50721         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50722         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50723         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50724         * doc/posix-functions/fprintf.texi: Update.
50725         * doc/posix-functions/printf.texi: Update.
50726         * doc/posix-functions/snprintf.texi: Update.
50727         * doc/posix-functions/sprintf.texi: Update.
50728         * doc/posix-functions/vfprintf.texi: Update.
50729         * doc/posix-functions/vprintf.texi: Update.
50730         * doc/posix-functions/vsnprintf.texi: Update.
50731         * doc/posix-functions/vsprintf.texi: Update.
50732         * doc/glibc-functions/obstack_printf.texi: Update.
50733         * doc/glibc-functions/obstack_vprintf.texi: Update.
50734         Reported by Eric Blake.
50735
50736 2009-02-25  Bruno Haible  <bruno@clisp.org>
50737
50738         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50739         with known value.
50740         Reported by Gary V. Vaughan <gary@gnu.org>.
50741
50742 2009-02-25  Bruno Haible  <bruno@clisp.org>
50743
50744         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50745         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50746         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50747         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50748         Reported by Gary V. Vaughan <gary@gnu.org>.
50749
50750 2009-02-25  Bruno Haible  <bruno@clisp.org>
50751
50752         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50753         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50754         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50755         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50756         Reported by Gary V. Vaughan <gary@gnu.org>.
50757
50758 2009-02-25  Eric Blake  <ebb9@byu.net>
50759
50760         tests: skip fseek/ftell tests if ungetc is broken
50761         * m4/ungetc.m4: New file.
50762         * modules/fseek-tests: Split test, so ungetc dependency is
50763         separate from rest of test.
50764         * modules/fseeko-tests: Likewise.
50765         * modules/ftell-tests: Likewise.
50766         * modules/ftello-tests: Likewise.
50767         * tests/test-fseek.c (main): Isolate ungetc dependency.
50768         * tests/test-fseeko.c (main): Likewise.
50769         * tests/test-ftell.c (main): Likewise.
50770         * tests/test-ftello.c (main): Likewise.
50771         * tests/test-fseek2.sh: New file.
50772         * tests/test-fseeko2.sh: Likewise.
50773         * tests/test-ftell2.sh: Likewise.
50774         * tests/test-ftello2.sh: Likewise.
50775
50776 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
50777
50778         test-getaddrinfo: fix usage of skip return code 77
50779         * tests/test-gettaddrinfo.c: Return skip code 77 only
50780         for first occurrence of skip (4x77 is not 77)
50781
50782 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50783
50784         strtod: avoid C99 decl-after-statement
50785         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50786
50787 2009-02-24  Eric Blake  <ebb9@byu.net>
50788
50789         strtod: detect HP-UX 11.31 bug
50790         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50791         Reported by Gary V. Vaughan.
50792
50793 2009-02-23  Bruno Haible  <bruno@clisp.org>
50794
50795         Fix invalid read past end of memory block.
50796         * lib/vasnprintf.c (DCHAR_SET): Define.
50797         (local_wcslen): Define only when needed.
50798         (local_strnlen, local_wcsnlen): New functions.
50799         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50800         directives that involve a conversion ourselves.
50801         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50802         wcsnlen, mbrtowc, wcrtomb.
50803         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50804         * tests/test-vasprintf-posix.c (test_function): Likewise.
50805         * tests/test-snprintf-posix.h (test_function): Likewise.
50806         * tests/test-sprintf-posix.h (test_function): Likewise.
50807         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50808
50809 2009-02-22  Bruno Haible  <bruno@clisp.org>
50810
50811         Implement new clarified decomposition of Hangul syllables.
50812         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50813         of type LTV, return only a pairwise decomposition.
50814         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50815         Likewise.
50816         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50817         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50818         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50819
50820 2009-02-22  Bruno Haible  <bruno@clisp.org>
50821
50822         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50823         zero-length results and shrink excess allocated memory.
50824         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50825         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50826         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50827         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50828         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50829         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50830         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50831         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50832         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50833         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50834         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50835         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50836
50837 2009-02-21  Bruno Haible  <bruno@clisp.org>
50838
50839         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50840         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50841         spaces after a period. Put a space between a macro name and its
50842         argument list. Trivial rewordings.
50843         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50844         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50845         (main): Return 0 explicitly.
50846
50847 2009-02-21  Bruno Haible  <bruno@clisp.org>
50848
50849         Tests for module 'uninorm/filter'.
50850         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50851         * modules/uninorm/filter-tests: New file.
50852
50853         New module 'uninorm/filter'.
50854         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50855         uninorm_filter_flush, uninorm_filter_free): New declarations.
50856         * lib/uninorm/uninorm-filter.c: New file.
50857         * modules/uninorm/filter: New file.
50858
50859 2009-02-21  Bruno Haible  <bruno@clisp.org>
50860
50861         Tests for module 'uninorm/nfkc'.
50862         * tests/uninorm/test-nfkc.c: New file.
50863         * tests/uninorm/test-u8-nfkc.c: New file.
50864         * tests/uninorm/test-u16-nfkc.c: New file.
50865         * tests/uninorm/test-u32-nfkc.c: New file.
50866         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50867         * tests/uninorm/test-u32-nfkc-big.c: New file.
50868         * modules/uninorm/nfkc-tests: New file.
50869
50870         New module 'uninorm/nfkc'.
50871         * lib/uninorm/nfkc.c: New file.
50872         * modules/uninorm/nfkc: New file.
50873
50874         Tests for module 'uninorm/nfkd'.
50875         * tests/uninorm/test-nfkd.c: New file.
50876         * tests/uninorm/test-u8-nfkd.c: New file.
50877         * tests/uninorm/test-u16-nfkd.c: New file.
50878         * tests/uninorm/test-u32-nfkd.c: New file.
50879         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50880         * tests/uninorm/test-u32-nfkd-big.c: New file.
50881         * modules/uninorm/nfkd-tests: New file.
50882
50883         New module 'uninorm/nfkd'.
50884         * lib/uninorm/nfkd.c: New file.
50885         * modules/uninorm/nfkd: New file.
50886
50887         Tests for module 'uninorm/nfc'.
50888         * tests/uninorm/test-nfc.c: New file.
50889         * tests/uninorm/test-u8-nfc.c: New file.
50890         * tests/uninorm/test-u16-nfc.c: New file.
50891         * tests/uninorm/test-u32-nfc.c: New file.
50892         * tests/uninorm/test-u32-nfc-big.sh: New file.
50893         * tests/uninorm/test-u32-nfc-big.c: New file.
50894         * modules/uninorm/nfc-tests: New file.
50895
50896         New module 'uninorm/nfc'.
50897         * lib/uninorm/nfc.c: New file.
50898         * modules/uninorm/nfc: New file.
50899
50900         Tests for module 'uninorm/nfd'.
50901         * tests/uninorm/test-nfd.c: New file.
50902         * tests/uninorm/test-u8-nfd.c: New file.
50903         * tests/uninorm/test-u16-nfd.c: New file.
50904         * tests/uninorm/test-u32-nfd.c: New file.
50905         * tests/uninorm/test-u32-nfd-big.sh: New file.
50906         * tests/uninorm/test-u32-nfd-big.c: New file.
50907         * tests/uninorm/test-u32-normalize-big.h: New file.
50908         * tests/uninorm/test-u32-normalize-big.c: New file.
50909         * tests/uninorm/NormalizationTest.txt: New file, created from
50910         Unicode 5.1.0 NormalizationTest.txt.
50911         * modules/uninorm/nfd-tests: New file.
50912
50913         New module 'uninorm/nfd'.
50914         * lib/uninorm/nfd.c: New file.
50915         * modules/uninorm/nfd: New file.
50916
50917         New module 'uninorm/u32-normalize'.
50918         * lib/uninorm/u32-normalize.c: New file.
50919         * modules/uninorm/u32-normalize: New file.
50920
50921         New module 'uninorm/u16-normalize'.
50922         * lib/uninorm/u16-normalize.c: New file.
50923         * modules/uninorm/u16-normalize: New file.
50924
50925         New module 'uninorm/u8-normalize'.
50926         * lib/uninorm/u8-normalize.c: New file.
50927         * lib/uninorm/normalize-internal.h: New file.
50928         * lib/uninorm/u-normalize-internal.h: New file.
50929         * modules/uninorm/u8-normalize: New file.
50930
50931         New module 'uninorm/decompose-internal'.
50932         * lib/uninorm/decompose-internal.c: New file.
50933         * modules/uninorm/decompose-internal: New file.
50934
50935         Tests for module 'uninorm/composition'.
50936         * tests/uninorm/test-composition.c: New file.
50937         * modules/uninorm/composition-tests: New file.
50938
50939         New module 'uninorm/composition'.
50940         * lib/uninorm/composition.c: New file.
50941         * lib/uninorm/composition-table.gperf: New file, generated by
50942         gen-uni-tables.
50943         * modules/uninorm/composition: New file.
50944
50945         Tests for module 'uninorm/compat-decomposition'.
50946         * tests/uninorm/test-compat-decomposition.c: New file.
50947         * modules/uninorm/compat-decomposition-tests: New file.
50948
50949         New module 'uninorm/compat-decomposition'.
50950         * lib/uninorm/decompose-internal.h: New file.
50951         * lib/uninorm/compat-decomposition.c: New file.
50952         * modules/uninorm/compat-decomposition: New file.
50953
50954         Tests for module 'uninorm/canonical-decomposition'.
50955         * tests/uninorm/test-canonical-decomposition.c: New file.
50956         * modules/uninorm/canonical-decomposition-tests: New file.
50957
50958         New module 'uninorm/canonical-decomposition'.
50959         * lib/uninorm/canonical-decomposition.c: New file.
50960         * modules/uninorm/canonical-decomposition: New file.
50961
50962         Tests for module 'uninorm/decomposition'.
50963         * tests/uninorm/test-decomposition.c: New file.
50964         * modules/uninorm/decomposition-tests: New file.
50965
50966         New module 'uninorm/decomposition'.
50967         * lib/uninorm/decomposition.c: New file.
50968         * modules/uninorm/decomposition: New file.
50969
50970         New module 'uninorm/decomposition-table'.
50971         * lib/uninorm/decomposition-table.h: New file.
50972         * lib/uninorm/decomposition-table.c: New file.
50973         * lib/uninorm/decomposition-table1.h: New file, generated by
50974         gen-uni-tables.
50975         * lib/uninorm/decomposition-table2.h: New file, generated by
50976         gen-uni-tables.
50977         * modules/uninorm/decomposition-table: New file.
50978
50979         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50980         (UC_DECOMP_*): New enumeration items.
50981         (get_decomposition): New function.
50982         (struct decomp_table): New type.
50983         (output_decomposition, output_decomposition_tables): New functions.
50984         (unicode_composition_exclusions): New variable.
50985         (fill_composition_exclusions, debug_output_composition_tables): New
50986         functions.
50987         (main): Accept one more argument. Invoke fill_composition_exclusions.
50988         Output decomposition and composition tables.
50989
50990         New module 'uninorm/base'.
50991         * lib/uninorm.h: New file.
50992         * lib/unictype.h: Update comment.
50993         * modules/uninorm/base: New file.
50994
50995 2009-02-21  David Lutterkort  <lutter@redhat.com>
50996
50997         Tests for module 'safe-alloc'.
50998         * tests/test-safe-alloc.c: New file.
50999         * modules/safe-alloc-tests: New file.
51000
51001         New module 'safe-alloc'.
51002         * lib/safe-alloc.h: New file.
51003         * lib/safe-alloc.c: New file.
51004         * m4/safe-alloc.m4: New file.
51005         * modules/safe-alloc: New file.
51006         * doc/safe-alloc.texi: New file.
51007         * doc/gnulib.texi: Include it.
51008         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51009         safe-alloc.
51010
51011 2009-02-18  Bruno Haible  <bruno@clisp.org>
51012
51013         Fix link error on non-glibc systems.
51014         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51015         variable.
51016         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51017
51018 2009-02-18  Jim Meyering  <meyering@redhat.com>
51019
51020         fts: avoid used-uninitialized error due to recent change
51021         * lib/fts.c (fts_read): Guard uses of the new member,
51022         parent->fts_n_dirs_remaining, since it's not relevant for
51023         the parent of a directory specified on the command-line.
51024
51025 2009-02-17  James Youngman  <jay@gnu.org>
51026             Bruno Haible  <bruno@clisp.org>
51027
51028         * m4/include_next.m4: Reformulate comment.
51029
51030 2009-02-16  Jim Meyering  <meyering@redhat.com>
51031
51032         fts: add #if guards so that the fts_lgpl module still builds
51033         * lib/fts.c: Guard just-added hash-table-using parts with
51034         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51035         Reported by Simon Josefsson.
51036
51037 2009-02-15  Bruno Haible  <bruno@clisp.org>
51038
51039         * modules/array-mergesort-tests: New file.
51040         * tests/test-array-mergesort.c: New file.
51041
51042         New module 'array-mergesort'.
51043         * modules/array-mergesort: New file.
51044         * lib/array-mergesort.h: New file.
51045
51046 2009-02-15  Bruno Haible  <bruno@clisp.org>
51047
51048         Fix 2009-02-07 commit.
51049         * lib/gen-uni-tables.c (output_predicate, output_category,
51050         output_combclass, output_bidi_category, output_decimal_digit,
51051         output_digit, output_numeric, output_mirror, output_scripts,
51052         output_ident_category, output_simple_mapping): Fix format directives.
51053         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51054
51055 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51056
51057         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51058         fixes are available from IBM.
51059
51060 2009-02-13  Jim Meyering  <meyering@redhat.com>
51061
51062         fts: arrange not to stat non-directories in more cases
51063         This makes GNU find (when it doesn't need to stat each file)
51064         *much* more efficient at traversing reiserfs file systems.
51065         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51066         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51067         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51068         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51069         (leaf_optimization_applies): New function.
51070         (LCO_hash, LCO_compare): New helper functions.
51071         (link_count_optimize_ok): New function.
51072         (fts_stat): Initialize new member (if dir).
51073         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51074         we've just stat'ed a directory.  Skip the stat call when possible.
51075         ---
51076         Note this AFS-related exchange:
51077         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
51078         and note find's pioctl call in find/fstype.c.
51079         But that is necessary only if you want to enable the
51080         optimization for AFS, and for now, I don't.
51081
51082         fts: move a function definition "up" (no semantic change)
51083         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51084         "up" to precede upcoming use of a related function.
51085
51086 2009-02-11  Jim Meyering  <meyering@redhat.com>
51087
51088         fts: correct internal computation of nlinks (optimization-related)
51089         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51090         whether the current entry is a directory, so don't test it.
51091
51092 2009-02-10  Bruno Haible  <bruno@clisp.org>
51093
51094         Tests for module 'uniwbrk/ulc-wordbreaks'.
51095         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51096         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51097         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51098
51099         Tests for module 'uniwbrk/u32-wordbreaks'.
51100         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51101         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51102
51103         Tests for module 'uniwbrk/u16-wordbreaks'.
51104         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51105         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51106
51107         Tests for module 'uniwbrk/u8-wordbreaks'.
51108         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51109         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51110
51111 2009-02-10  Bruno Haible  <bruno@clisp.org>
51112
51113         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51114         property.
51115         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51116         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51117         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51118
51119 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51120
51121         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51122         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51123
51124 2009-02-10  Bruno Haible  <bruno@clisp.org>
51125
51126         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51127         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51128         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51129         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51130         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51131         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51132
51133 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51134
51135         * lib/sockets.h (gl_fd_to_handle): New function.
51136
51137         * tests/test-sockets.c: Call gl_fd_to_handle.
51138
51139 2009-02-09  Bruno Haible  <bruno@clisp.org>
51140
51141         * doc/havelib.texi: Document the conventions on bi-arch systems.
51142
51143 2009-02-08  Bruno Haible  <bruno@clisp.org>
51144
51145         Document the AC_LIB_LINKFLAGS macro.
51146         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51147         * doc/gnulib.texi: Include it.
51148
51149 2009-02-08  Bruno Haible  <bruno@clisp.org>
51150
51151         Fix wrong order of sections, compared to TOC.
51152         * doc/gnulib.texi: Include relocatable-maint.texi after the
51153         "Regular expressions" node, not before.
51154
51155 2009-02-08  Bruno Haible  <bruno@clisp.org>
51156
51157         Tests for module 'unicase/totitle'.
51158         * modules/unicase/totitle-tests: New file.
51159
51160         Tests for module 'unicase/tolower'.
51161         * modules/unicase/tolower-tests: New file.
51162
51163         Tests for module 'unicase/toupper'.
51164         * modules/unicase/toupper-tests: New file.
51165         * tests/unicase/test-mapping-part1.h: New file.
51166         * tests/unicase/test-mapping-part2.h: New file.
51167
51168         New module 'unicase/totitle'.
51169         * modules/unicase/totitle: New file.
51170         * lib/unicase/totitle.c: New file.
51171
51172         New module 'unicase/tolower'.
51173         * modules/unicase/tolower: New file.
51174         * lib/unicase/tolower.c: New file.
51175
51176         New module 'unicase/toupper'.
51177         * modules/unicase/toupper: New file.
51178         * lib/unicase/toupper.c: New file.
51179         * lib/unicase/simple-mapping.h: New file.
51180
51181         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51182         (mapping_table): New structure.
51183         (output_simple_mapping): New function.
51184         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51185         * modules/gen-uni-tables (Description): Update.
51186         * lib/unicase/toupper.h: New file, automatically generated by
51187         gen-uni-tables.
51188         * lib/unicase/tolower.h: New file, automatically generated by
51189         gen-uni-tables.
51190         * lib/unicase/totitle.h: New file, automatically generated by
51191         gen-uni-tables.
51192         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51193         gen-uni-tables.
51194         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51195         gen-uni-tables.
51196         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51197         gen-uni-tables.
51198
51199         New module 'unicase/base'.
51200         * modules/unicase/base: New file.
51201         * lib/unicase.h: New file.
51202
51203 2009-02-08  Bruno Haible  <bruno@clisp.org>
51204
51205         New module 'uniwbrk/ulc-wordbreaks'.
51206         * modules/uniwbrk/ulc-wordbreaks: New file.
51207         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51208
51209         New module 'uniwbrk/u32-wordbreaks'.
51210         * modules/uniwbrk/u32-wordbreaks: New file.
51211         * lib/uniwbrk/u32-wordbreaks.c: New file.
51212
51213         New module 'uniwbrk/u16-wordbreaks'.
51214         * modules/uniwbrk/u16-wordbreaks: New file.
51215         * lib/uniwbrk/u16-wordbreaks.c: New file.
51216
51217         New module 'uniwbrk/u8-wordbreaks'.
51218         * modules/uniwbrk/u8-wordbreaks: New file.
51219         * lib/uniwbrk/u8-wordbreaks.c: New file.
51220         * lib/uniwbrk/u-wordbreaks.h: New file.
51221
51222         New module 'uniwbrk/table'.
51223         * modules/uniwbrk/table: New file.
51224         * lib/uniwbrk/wbrktable.h: New file.
51225         * lib/uniwbrk/wbrktable.c: New file.
51226
51227         New module 'uniwbrk/wordbreak-property'.
51228         * modules/uniwbrk/wordbreak-property: New file.
51229         * lib/uniwbrk/wordbreak-property.c: New file.
51230
51231         * lib/gen-uni-tables.c (WBP_*): New enum items.
51232         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51233         (unicode_org_wbp): New variable.
51234         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51235         New functions.
51236         (wbp_table): New structure.
51237         (output_wbp, output_wbrk_tables): New functions.
51238         (main): Accept additional argument. Invoke fill_org_wbp,
51239         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51240         output_wbrk_tables.
51241         * modules/gen-uni-tables (Description): Update.
51242         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51243         gen-uni-tables.
51244
51245         New module 'uniwbrk/base'.
51246         * modules/uniwbrk/base: New file.
51247         * lib/uniwbrk.h: New file.
51248
51249 2009-02-08  Bruno Haible  <bruno@clisp.org>
51250
51251         Update to Unicode 5.1.0.
51252         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51253         U+2185..U+2188.
51254         (is_property_default_ignorable_code_point): Don't include characters
51255         of category Cc or Cs and not-a-characters.
51256         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51257         U+0D79, U+109E, U+109F, U+A60C.
51258         * lib/unictype/bidi_of.h: Regenerated.
51259         * lib/unictype/blocks.h: Regenerated.
51260         * lib/unictype/categ_C.h: Regenerated.
51261         * lib/unictype/categ_Cf.h: Regenerated.
51262         * lib/unictype/categ_Cn.h: Regenerated.
51263         * lib/unictype/categ_L.h: Regenerated.
51264         * lib/unictype/categ_Ll.h: Regenerated.
51265         * lib/unictype/categ_Lm.h: Regenerated.
51266         * lib/unictype/categ_Lo.h: Regenerated.
51267         * lib/unictype/categ_Lu.h: Regenerated.
51268         * lib/unictype/categ_M.h: Regenerated.
51269         * lib/unictype/categ_Mc.h: Regenerated.
51270         * lib/unictype/categ_Me.h: Regenerated.
51271         * lib/unictype/categ_Mn.h: Regenerated.
51272         * lib/unictype/categ_N.h: Regenerated.
51273         * lib/unictype/categ_Nd.h: Regenerated.
51274         * lib/unictype/categ_Nl.h: Regenerated.
51275         * lib/unictype/categ_No.h: Regenerated.
51276         * lib/unictype/categ_P.h: Regenerated.
51277         * lib/unictype/categ_Pd.h: Regenerated.
51278         * lib/unictype/categ_Pe.h: Regenerated.
51279         * lib/unictype/categ_Pf.h: Regenerated.
51280         * lib/unictype/categ_Pi.h: Regenerated.
51281         * lib/unictype/categ_Po.h: Regenerated.
51282         * lib/unictype/categ_Ps.h: Regenerated.
51283         * lib/unictype/categ_S.h: Regenerated.
51284         * lib/unictype/categ_Sk.h: Regenerated.
51285         * lib/unictype/categ_Sm.h: Regenerated.
51286         * lib/unictype/categ_So.h: Regenerated.
51287         * lib/unictype/categ_of.h: Regenerated.
51288         * lib/unictype/combining.h: Regenerated.
51289         * lib/unictype/ctype_alnum.h: Regenerated.
51290         * lib/unictype/ctype_alpha.h: Regenerated.
51291         * lib/unictype/ctype_graph.h: Regenerated.
51292         * lib/unictype/ctype_lower.h: Regenerated.
51293         * lib/unictype/ctype_print.h: Regenerated.
51294         * lib/unictype/ctype_punct.h: Regenerated.
51295         * lib/unictype/ctype_upper.h: Regenerated.
51296         * lib/unictype/decdigit.h: Regenerated.
51297         * lib/unictype/digit.h: Regenerated.
51298         * lib/unictype/mirror.h: Regenerated.
51299         * lib/unictype/numeric.h: Regenerated.
51300         * lib/unictype/pr_alphabetic.h: Regenerated.
51301         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51302         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51303         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51304         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51305         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51306         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51307         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51308         * lib/unictype/pr_combining.h: Regenerated.
51309         * lib/unictype/pr_dash.h: Regenerated.
51310         * lib/unictype/pr_decimal_digit.h: Regenerated.
51311         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51312         * lib/unictype/pr_deprecated.h: Regenerated.
51313         * lib/unictype/pr_diacritic.h: Regenerated.
51314         * lib/unictype/pr_extender.h: Regenerated.
51315         * lib/unictype/pr_format_control.h: Regenerated.
51316         * lib/unictype/pr_grapheme_base.h: Regenerated.
51317         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51318         * lib/unictype/pr_grapheme_link.h: Regenerated.
51319         * lib/unictype/pr_id_continue.h: Regenerated.
51320         * lib/unictype/pr_id_start.h: Regenerated.
51321         * lib/unictype/pr_ideographic.h: Regenerated.
51322         * lib/unictype/pr_ignorable_control.h: Regenerated.
51323         * lib/unictype/pr_lowercase.h: Regenerated.
51324         * lib/unictype/pr_math.h: Regenerated.
51325         * lib/unictype/pr_numeric.h: Regenerated.
51326         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51327         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51328         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51329         * lib/unictype/pr_other_id_continue.h: Regenerated.
51330         * lib/unictype/pr_other_lowercase.h: Regenerated.
51331         * lib/unictype/pr_other_math.h: Regenerated.
51332         * lib/unictype/pr_punctuation.h: Regenerated.
51333         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51334         * lib/unictype/pr_soft_dotted.h: Regenerated.
51335         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51336         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51337         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51338         * lib/unictype/pr_uppercase.h: Regenerated.
51339         * lib/unictype/pr_xid_continue.h: Regenerated.
51340         * lib/unictype/pr_xid_start.h: Regenerated.
51341         * lib/unictype/pr_zero_width.h: Regenerated.
51342         * lib/unictype/scripts.h: Regenerated.
51343         * lib/unictype/scripts_byname.gperf: Regenerated.
51344         * lib/unictype/sy_java_ident.h: Regenerated.
51345         * lib/unilbrk/lbrkprop1.h: Regenerated.
51346         * lib/unilbrk/lbrkprop2.h: Regenerated.
51347         * tests/unictype/test-categ_C.c: Regenerated.
51348         * tests/unictype/test-categ_Cf.c: Regenerated.
51349         * tests/unictype/test-categ_Cn.c: Regenerated.
51350         * tests/unictype/test-categ_L.c: Regenerated.
51351         * tests/unictype/test-categ_Ll.c: Regenerated.
51352         * tests/unictype/test-categ_Lm.c: Regenerated.
51353         * tests/unictype/test-categ_Lo.c: Regenerated.
51354         * tests/unictype/test-categ_Lu.c: Regenerated.
51355         * tests/unictype/test-categ_M.c: Regenerated.
51356         * tests/unictype/test-categ_Mc.c: Regenerated.
51357         * tests/unictype/test-categ_Me.c: Regenerated.
51358         * tests/unictype/test-categ_Mn.c: Regenerated.
51359         * tests/unictype/test-categ_N.c: Regenerated.
51360         * tests/unictype/test-categ_Nd.c: Regenerated.
51361         * tests/unictype/test-categ_Nl.c: Regenerated.
51362         * tests/unictype/test-categ_No.c: Regenerated.
51363         * tests/unictype/test-categ_P.c: Regenerated.
51364         * tests/unictype/test-categ_Pd.c: Regenerated.
51365         * tests/unictype/test-categ_Pe.c: Regenerated.
51366         * tests/unictype/test-categ_Pf.c: Regenerated.
51367         * tests/unictype/test-categ_Pi.c: Regenerated.
51368         * tests/unictype/test-categ_Po.c: Regenerated.
51369         * tests/unictype/test-categ_Ps.c: Regenerated.
51370         * tests/unictype/test-categ_S.c: Regenerated.
51371         * tests/unictype/test-categ_Sk.c: Regenerated.
51372         * tests/unictype/test-categ_Sm.c: Regenerated.
51373         * tests/unictype/test-categ_So.c: Regenerated.
51374         * tests/unictype/test-ctype_alnum.c: Regenerated.
51375         * tests/unictype/test-ctype_alpha.c: Regenerated.
51376         * tests/unictype/test-ctype_graph.c: Regenerated.
51377         * tests/unictype/test-ctype_lower.c: Regenerated.
51378         * tests/unictype/test-ctype_print.c: Regenerated.
51379         * tests/unictype/test-ctype_punct.c: Regenerated.
51380         * tests/unictype/test-ctype_upper.c: Regenerated.
51381         * tests/unictype/test-decdigit.h: Regenerated.
51382         * tests/unictype/test-digit.h: Regenerated.
51383         * tests/unictype/test-numeric.h: Regenerated.
51384         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51385         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51386         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51387         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51388         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51389         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51390         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51391         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51392         * tests/unictype/test-pr_combining.c: Regenerated.
51393         * tests/unictype/test-pr_dash.c: Regenerated.
51394         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51395         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51396         * tests/unictype/test-pr_deprecated.c: Regenerated.
51397         * tests/unictype/test-pr_diacritic.c: Regenerated.
51398         * tests/unictype/test-pr_extender.c: Regenerated.
51399         * tests/unictype/test-pr_format_control.c: Regenerated.
51400         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51401         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51402         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51403         * tests/unictype/test-pr_id_continue.c: Regenerated.
51404         * tests/unictype/test-pr_id_start.c: Regenerated.
51405         * tests/unictype/test-pr_ideographic.c: Regenerated.
51406         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51407         * tests/unictype/test-pr_lowercase.c: Regenerated.
51408         * tests/unictype/test-pr_math.c: Regenerated.
51409         * tests/unictype/test-pr_numeric.c: Regenerated.
51410         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51411         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51412         Regenerated.
51413         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51414         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51415         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51416         * tests/unictype/test-pr_other_math.c: Regenerated.
51417         * tests/unictype/test-pr_punctuation.c: Regenerated.
51418         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51419         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51420         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51421         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51422         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51423         * tests/unictype/test-pr_uppercase.c: Regenerated.
51424         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51425         * tests/unictype/test-pr_xid_start.c: Regenerated.
51426         * tests/unictype/test-pr_zero_width.c: Regenerated.
51427
51428         Update to Unicode 5.1.0.
51429         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51430         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51431         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51432         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51433         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51434         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51435         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51436         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51437         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51438         (nonspacing_table_ind): Update.
51439         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51440
51441         Update to Unicode 5.1.0.
51442         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51443         code transform.
51444         * lib/uniname/uniname.c (unicode_character_name,
51445         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51446         * lib/uniname/uninames.h: Regenerated.
51447         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51448
51449 2009-02-07  Bruno Haible  <bruno@clisp.org>
51450
51451         Merge gen-ctype and gen-lbrk into a single program.
51452         * lib/gen-uni-tables.c: New file, incorporating
51453         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51454         Add directory prefixes to the names of the generated files.
51455         * lib/unictype/gen-ctype.c: Remove file.
51456         * lib/unilbrk/gen-lbrk.c: Remove file.
51457         * modules/gen-uni-tables: New file.
51458         * modules/unictype/gen-ctype: Remove file.
51459         * modules/unilbrk/gen-lbrk: Remove file.
51460
51461 2009-02-07  Bruno Haible  <bruno@clisp.org>
51462
51463         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51464
51465         New module 'unistr/u32-strcoll'.
51466         * modules/unistr/u32-strcoll: New file.
51467         * lib/unistr/u32-strcoll.c: New file.
51468
51469         New module 'unistr/u16-strcoll'.
51470         * modules/unistr/u16-strcoll: New file.
51471         * lib/unistr/u16-strcoll.c: New file.
51472
51473         New module 'unistr/u8-strcoll'.
51474         * modules/unistr/u8-strcoll: New file.
51475         * lib/unistr/u8-strcoll.c: New file.
51476         * lib/unistr/u-strcoll.h: New file.
51477
51478 2009-02-07  Bruno Haible  <bruno@clisp.org>
51479
51480         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51481         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51482         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51483         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51484         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51485         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51486
51487 2009-02-07  Bruno Haible  <bruno@clisp.org>
51488
51489         Make 64-bit clean.
51490         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51491         output_combclass, output_bidi_category, output_decimal_digit,
51492         output_digit, output_numeric, output_mirror, output_scripts,
51493         output_ident_category): Use proper width specifier in format strings.
51494
51495 2009-02-07  Bruno Haible  <bruno@clisp.org>
51496
51497         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51498         failure behaviour.
51499
51500 2009-02-07  Jim Meyering  <meyering@redhat.com>
51501
51502         regex: avoid compilation failure with upcoming gcc-4.4
51503         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51504         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51505         "... error: integer overflow in preprocessor expression".
51506
51507 2009-02-05  Ben Pfaff  <blp@gnu.org>
51508
51509         Fix link errors on Windows when close module is used.
51510         * modules/close: Add $(LIB_CLOSE) to Link section.
51511         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51512         $(LIB_CLOSE) on Windows.
51513
51514 2009-02-05  Jim Meyering  <meyering@redhat.com>
51515
51516         still avoid unused-parameter warnings, but do it cleanly
51517         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51518         (get_fs_usage): Cast to void instead.
51519         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51520         (dev_from_mount_options, read_file_system_list): Cast to void.
51521         Prompted by Bruno Haible.
51522
51523 2009-02-04  Jim Meyering  <meyering@redhat.com>
51524
51525         fsusage.c: correct copyright year
51526         * lib/fsusage.c: Reflect year in which the change is pushed into
51527
51528         avoid misc. warnings
51529         * lib/fsusage.c (UNUSED_PARAM): Define.
51530         (get_fs_usage): Mark parameter "disk" as unused.
51531         * lib/getugroups.c (getgrent): Use "void" in prototype.
51532         * lib/mountlist.c: Mark unused parameters.
51533         (read_file_system_list): Declare a local with "const".
51534         * lib/nanosleep.c (getnow): Declare static.
51535         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51536
51537         dirfd: set errno upon failure
51538         * lib/dirfd.c: Include <errno.h>.
51539         Set errno to ENOTSUP when returning -1.
51540         * modules/dirfd (Depends-on): Add errno.
51541         Suggested by John Kodis <kodis@comcast.net>.
51542
51543 2009-02-01  Bruno Haible  <bruno@clisp.org>
51544
51545         Don't assume sizeof (long) >= sizeof (void *).
51546         * lib/memcmp.c: Include stdint.h.
51547         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51548         srcp2 to 'const byte *'.
51549         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51550         types to uintptr_t.
51551         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51552         * modules/memcmp (Depends-on): Add stdint.
51553         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51554
51555 2009-01-30  Eric Blake  <ebb9@byu.net>
51556
51557         fix more require-before-expand issues
51558         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51559         expand, AC_PROG_AWK.
51560         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51561
51562 2009-01-28  Eric Blake  <ebb9@byu.net>
51563
51564         version-etc: use consistent URL formatting
51565         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51566         Improve formatting.  Use fputs for string without %.
51567
51568 2009-01-28  Jim Meyering  <meyering@redhat.com>
51569
51570         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51571         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51572         "underquoted definition of NAME" from autoconf-2.59.
51573
51574 2009-01-28  Bruno Haible  <bruno@clisp.org>
51575
51576         * doc/gnulib.texi: Add "Obsolete modules" to index.
51577
51578 2009-01-28  Jim Meyering  <meyering@redhat.com>
51579
51580         useless-if-before-free: recognize more variants
51581         * build-aux/useless-if-before-free: Also recognize e.g.,
51582         if (NULL != p) free (p);
51583
51584 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51585
51586         test-getaddrinfo: skip (don't fail) this test when there's no network
51587         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51588         on the presumption that it means you lack network access.
51589
51590 2009-01-26  Jim Meyering  <meyering@redhat.com>
51591
51592         fflush: avoid warnings on modern systems
51593         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51594         pos and result, into scopes where they're used.
51595
51596 2009-01-26  Eric Blake  <ebb9@byu.net>
51597
51598         Silence warning reintroduced by recent extensions patch.
51599         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51600         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51601         autoconf.
51602
51603         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51604         * m4/00gnulib.m4: New file.
51605         * gnulib-tool (func_get_filelist): Always use it.
51606         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51607         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51608
51609 2009-01-25  Bruno Haible  <bruno@clisp.org>
51610
51611         Make test-quotearg work on MacOS X and AIX.
51612         * tests/test-quotearg.sh: New file.
51613         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51614         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51615         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51616         include <libintl.h>.
51617         (fake_locale): Remove variable.
51618         (gettext, dgettext, dcgettext): Remove functions.
51619         (main): Instead of setting a fake locale, set a real locale. Call
51620         textdomain and bindtextdomain.
51621         * modules/quotearg-tests (Files): Add the new files.
51622         (Depends-on): Add gettext, setenv, unsetenv.
51623         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51624         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51625         Augment TESTS_ENVIRONMENT.
51626
51627 2009-01-25  Bruno Haible  <bruno@clisp.org>
51628
51629         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51630         fr_FR.ISO8859-1 locale on MacOS X.
51631         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51632         ja_JP.eucJP locale on MacOS X.
51633         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51634         zh_CN.GB18030 locale on MacOS X.
51635
51636 2009-01-25  Bruno Haible  <bruno@clisp.org>
51637
51638         Avoid link errors on MacOS X 10.3.
51639         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51640         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51641
51642 2009-01-25  Bruno Haible  <bruno@clisp.org>
51643
51644         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51645         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51646         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51647         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51648         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51649         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51650         posix_spawnattr_init, posix_spawnattr_setsigmask,
51651         posix_spawnattr_setflags, posix_spawnattr_destroy.
51652
51653         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51654         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51655         * modules/execute (Files): Remove m4/posix_spawn.m4.
51656         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51657         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51658         posix_spawnattr_init, posix_spawnattr_setsigmask,
51659         posix_spawnattr_setflags, posix_spawnattr_destroy.
51660
51661 2009-01-25  Bruno Haible  <bruno@clisp.org>
51662
51663         * lib/glthread/threadlib.c: Include <stdlib.h>.
51664
51665 2009-01-25  Bruno Haible  <bruno@clisp.org>
51666
51667         * lib/glthread/threadlib.c (dummy): New declaration.
51668
51669 2009-01-25  Bruno Haible  <bruno@clisp.org>
51670
51671         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51672         multibyte characters also for the GB18030 encoding. Don't crash when
51673         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51674
51675 2009-01-25  Bruno Haible  <bruno@clisp.org>
51676
51677         Avoid redefining 'struct random_data' on OSF/1 5.1.
51678         * lib/stdlib.in.h: Include <random.h> if it exists.
51679         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51680         HAVE_RANDOM_H. Include <random.h> when testing whether
51681         'struct random_data' exists.
51682         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51683
51684 2009-01-25  Bruno Haible  <bruno@clisp.org>
51685
51686         Don't install charset.alias on MacOS X >= 10.3.
51687         * lib/localcharset.c (DARWIN7): New macro.
51688         (get_charset_aliases): Hardcode the result for Darwin7.
51689         * modules/localcharset (install-exec-local): Don't install
51690         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51691
51692 2009-01-25  Bruno Haible  <bruno@clisp.org>
51693
51694         Don't install charset.alias on mingw and Cygwin.
51695         * modules/localcharset (install-exec-local): Don't install
51696         charset.alias on mingw and Cygwin, if the file does not yet exist.
51697         The result for these platforms is hardcoded in localcharset.c.
51698
51699 2009-01-25  Bruno Haible  <bruno@clisp.org>
51700
51701         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51702         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51703         before requiring AC_USE_SYSTEM_EXTENSIONS.
51704
51705 2009-01-25  Jim Meyering  <meyering@redhat.com>
51706
51707         c-strtod: avoid warnings
51708         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51709         "assignment discards qualifiers from pointer target type" warnings.
51710
51711 2009-01-24  Bruno Haible  <bruno@clisp.org>
51712
51713         Add support for non-UTF-8 locales on MacOS X.
51714         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51715         canonical encodings. For Darwin 7 and newer, don't map traditional
51716         encodings to UTF-8.
51717         Reported by Vincent Lefevre <vincent@vinc17.org>
51718         at <http://savannah.gnu.org/bugs/?25235>.
51719
51720 2009-01-24  Bruno Haible  <bruno@clisp.org>
51721
51722         * doc/gnulib.texi (Obsolete modules): New section.
51723         Reported by Mike Frysinger <vapier@gentoo.org>.
51724
51725 2009-01-24  Bruno Haible  <bruno@clisp.org>
51726
51727         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51728         (%.dvi): New rule.
51729
51730 2009-01-24  Bruno Haible  <bruno@clisp.org>
51731
51732         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51733         Reported by Eric Blake.
51734
51735 2009-01-24  Bruno Haible  <bruno@clisp.org>
51736
51737         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51738         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51739         Reported by Gary V. Vaughan <gary@gnu.org>.
51740
51741 2009-01-24  Bruno Haible  <bruno@clisp.org>
51742
51743         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51744
51745 2009-01-23  Bruno Haible  <bruno@clisp.org>
51746
51747         Make c-strtod, c-strtold usable in libraries.
51748         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51749         (C_STRTOD): Call strdup instead of xstrdup.
51750         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51751         * modules/c-strtold (Depends-on): Likewise.
51752         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51753         * NEWS: Mention the change.
51754         Reported by Michael Gold <mgold@ncf.ca>.
51755
51756 2009-01-23  Jim Meyering  <meyering@redhat.com>
51757
51758         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51759         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51760         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51761
51762 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51763
51764         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51765         GNU CoreUtils.
51766         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51767         * modules/version-etc (Description): Update.
51768
51769 2009-01-22  Bruno Haible  <bruno@clisp.org>
51770
51771         Cache the C locale object.
51772         * lib/c-strtod.c (c_locale_cache): New variable.
51773         (c_locale): New function.
51774         (C_STRTOD): Use it, and don't call freelocale.
51775         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51776         Suggested by Paolo Bonzini.
51777
51778 2009-01-21  Bruno Haible  <bruno@clisp.org>
51779
51780         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51781         conditions other than overflow.
51782
51783 2009-01-21  Bruno Haible  <bruno@clisp.org>
51784
51785         * lib/c-strtod.c: Include errno.h.
51786         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51787         value from STRTOD_L and STRTOD.
51788
51789 2009-01-21  Bruno Haible  <bruno@clisp.org>
51790         and Jim Meyering  <meyering@redhat.com>
51791
51792         nanosleep: skip configure test (fail it) for apple universal builds
51793         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51794         universal builds, assume that nanosleep does not work.
51795         * modules/nanosleep (Depends-on): Add multiarch.
51796
51797         mktime: skip configure test (fail it) for apple universal builds
51798         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51799         universal builds, assume that mktime does not work.
51800         * modules/mktime (Depends-on): Add multiarch.
51801
51802 2009-01-21  Eric Blake  <ebb9@byu.net>
51803
51804         multiarch: avoid expand-before-require warning
51805         * modules/multiarch (configure.ac): Require, rather than expand,
51806         gl_MULTIARCH.
51807         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51808         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51809         enforce that all clients require it.  Partial reversion of
51810         2008-12-29 patch.
51811
51812         error: avoid expand-before-require warning
51813         * modules/errno (configure.ac): Require, rather than expand,
51814         gl_HEADER_ERRNO_H.
51815         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51816         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51817         enforce that all clients require it.
51818
51819         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51820         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51821         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51822         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51823
51824 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51825
51826         Revert:
51827         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51828
51829         regex: do not depend on obsolete modules.
51830         * modules/regex: Remove memcmp and memmove.
51831
51832 2009-01-20  Bruno Haible  <bruno@clisp.org>
51833
51834         Make the 'link' module link on Windows NT 4.
51835         * lib/link.c (_WIN32_WINNT): Don't define.
51836         (CreateHardLinkFuncType): New type.
51837         (CreateHardLinkFunc, initialized): New variables.
51838         (initialize): New function.
51839         (link): Invoke CreateHardLink indirectly through the function pointer.
51840
51841 2009-01-20  Bruno Haible  <bruno@clisp.org>
51842
51843         Fix compilation failure on mingw.
51844         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51845
51846 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51847
51848         * doc/c-strtod.texi: Mention a couple of restrictions.
51849
51850 2009-01-20  Jim Meyering  <meyering@redhat.com>
51851
51852         gettimeofday: move more declarations out of functions
51853         * lib/gettimeofday.c: Move extern declarations of tzset and
51854         gmtime out of containing functions.  Prompted by Bruno Haible.
51855
51856 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51857
51858         regex: do not depend on obsolete modules.
51859         * modules/regex: Remove memcmp and memmove.
51860
51861 2009-01-19  Bruno Haible  <bruno@clisp.org>
51862
51863         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51864         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51865         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51866         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51867         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51868
51869 2009-01-19  Bruno Haible  <bruno@clisp.org>
51870
51871         * tests/test-link.c: Include <errno.h>.
51872         (main): Exit with code 77 when a hard link cannot be created due to
51873         the file system.
51874         * tests/test-link.sh: Skip test when a hard link cannot be created due
51875         to the file system.
51876         Suggested by Eric Blake.
51877
51878 2009-01-19  Martin Lambers  <marlam@marlam.de>
51879
51880         * modules/link-tests: New file.
51881         * tests/test-link.sh: New file.
51882         * tests/test-link.c: New file.
51883
51884 2009-01-19  Eric Blake  <ebb9@byu.net>
51885
51886         doc: mention another function added in cygwin 1.7.0
51887         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51888         Another new function in cygwin 1.7.
51889
51890 2009-01-19  Bruno Haible  <bruno@clisp.org>
51891
51892         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51893         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51894         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51895         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51896         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51897         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51898         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51899         * m4/md4.m4 (gl_MD4): Likewise.
51900         * m4/md5.m4 (gl_MD5): Likewise.
51901         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51902         * m4/sha1.m4 (gl_SHA1): Likewise.
51903         * m4/sha256.m4 (gl_SHA256): Likewise.
51904         * m4/sha512.m4 (gl_SHA512): Likewise.
51905
51906 2009-01-19  Bruno Haible  <bruno@clisp.org>
51907
51908         * modules/uniname/uniname-tests (Depends-on): Add progname.
51909         * tests/uniname/test-uninames.c: Include progname.h.
51910         (main): Call set_program_name.
51911
51912         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51913         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51914         (main): Call set_program_name.
51915
51916         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51917         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51918         (main): Call set_program_name.
51919
51920         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51921         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51922         (main): Call set_program_name.
51923
51924         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51925         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51926         (main): Call set_program_name.
51927
51928         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51929         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51930         (main): Call set_program_name.
51931
51932         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51933         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51934         (main): Call set_program_name.
51935
51936         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51937         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51938         (main): Call set_program_name.
51939
51940         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51941         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51942         (main): Call set_program_name.
51943
51944 2009-01-19  Eric Blake  <ebb9@byu.net>
51945
51946         test-unistd: test previous patch
51947         * tests/test-unistd.c: Test *_FILENO macros.
51948
51949         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51950         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51951         Guarantee a definition.
51952         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51953         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51954         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51955         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51956         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51957         Likewise.
51958         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51959         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51960         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51961         Likewise.
51962         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51963         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51964         (STDERR_FILENO): Likewise.
51965         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51966         (STDERR_FILENO): Likewise.
51967         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51968         (STDERR_FILENO): Likewise.
51969         Reported by Elbert Pol.
51970
51971 2009-01-19  Eric Blake  <ebb9@byu.net>
51972
51973         doc: mention more functions added in cygwin 1.7.0
51974         * doc/posix-functions/abort.texi (abort): Update wording related
51975         to cygwin.
51976         * doc/posix-functions/daylight.texi (daylight): Likewise.
51977         * doc/posix-functions/optarg.texi (optarg): Likewise.
51978         * doc/posix-functions/optarg.texi (opterr): Likewise.
51979         * doc/posix-functions/optarg.texi (optind): Likewise.
51980         * doc/posix-functions/optarg.texi (optopt): Likewise.
51981         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51982         worked in 1.5.x, and was withdrawn in 1.7.
51983         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51984         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51985         cygwin versions.
51986         * doc/posix-functions/perror.texi (perror): Likewise.
51987         * doc/posix-functions/printf.texi (printf): Likewise.
51988         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51989         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51990         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51991         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51992         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51993         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51994         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51995         Likewise.
51996         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51997         Likewise.
51998         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51999         this function.
52000         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52001         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52002         Likewise.
52003         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52004         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52005         * doc/posix-functions/confstr.texi (confstr): Likewise.
52006         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52007         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52008         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52009         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52010         * doc/posix-functions/fputws.texi (fputws): Likewise.
52011         * doc/posix-functions/fwide.texi (fwide): Likewise.
52012         * doc/posix-functions/getwc.texi (getwc): Likewise.
52013         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52014         * doc/posix-functions/putwc.texi (putwc): Likewise.
52015         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52016         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52017         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52018         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52019         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52020         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52021         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52022         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52023         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52024         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52025         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52026
52027 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52028
52029         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52030         * lib/ioctl.c: Include <sys/ioctl.h>.
52031
52032 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52033
52034         * modules/getdate-tests (Depends-on): Add progname.
52035         * tests/test-getdate.c: Use progname module, to avoid link errors
52036         on non-glibc systems.
52037
52038 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52039
52040         * modules/filenamecat-tests (Depends-on): Add progname.
52041         * modules/fstrcmp-tests (Depends-on): Likewise.
52042
52043         * tests/test-filenamecat.c: Use progname module, to avoid link
52044         errors on non-glibc systems.
52045         * tests/test-fstrcmp.c: Likewise.
52046
52047 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52048
52049         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52050         * lib/gettimeofday.c: Move extern declaration out of function.
52051
52052 2009-01-18  Bruno Haible  <bruno@clisp.org>
52053
52054         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52055         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52056         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52057
52058 2009-01-18  Bruno Haible  <bruno@clisp.org>
52059
52060         * lib/strftime.c (MEMPCPY): Remove unused macro.
52061         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52062
52063 2009-01-18  Martin Lambers  <marlam@marlam.de>
52064
52065         New module 'link'.
52066         * lib/unistd.in.h (link): New declaration.
52067         * lib/link.c: New file.
52068         * m4/link.m4: New file.
52069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52070         HAVE_LINK.
52071         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52072         * modules/link: New file.
52073         * doc/posix-functions/link.texi: Mention the new module.
52074
52075 2009-01-18  Bruno Haible  <bruno@clisp.org>
52076
52077         * tests/test-avltree_list.c (main): Call set_program_name.
52078         * tests/test-avltree_oset.c (main): Likewise.
52079         * tests/test-obstack-printf.c: Include progname.h.
52080         (main): Call set_program_name.
52081         * tests/test-quotearg.c: Include progname.h.
52082         (main): Call set_program_name.
52083         * tests/test-xmemdup0.c: Include progname.h.
52084         (main): Call set_program_name.
52085
52086 2009-01-18  Bruno Haible  <bruno@clisp.org>
52087
52088         New module 'alphasort'.
52089         * lib/dirent.in.h (alphasort): New declaration.
52090         * lib/alphasort.c: New file, from glibc with modifications.
52091         * m4/alphasort.m4: New file.
52092         * modules/alphasort: New file.
52093         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52094         HAVE_ALPHASORT.
52095         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52096         HAVE_ALPHASORT.
52097         * doc/posix-functions/alphasort.texi: Mention the new module and the
52098         portability problems.
52099
52100 2009-01-18  Bruno Haible  <bruno@clisp.org>
52101
52102         New module 'scandir'.
52103         * lib/dirent.in.h (scandir): New declaration.
52104         * lib/scandir.c: New file, from glibc with modifications.
52105         * m4/scandir.m4: New file.
52106         * modules/scandir: New file.
52107         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52108         HAVE_SCANDIR.
52109         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52110         HAVE_SCANDIR.
52111         * doc/posix-functions/scandir.texi: Mention the new module and the
52112         portability problems.
52113
52114 2009-01-17  Bruno Haible  <bruno@clisp.org>
52115
52116         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52117         Update documentation.
52118         (func_remove_suffix): Escape all dots in the suffix. Update
52119         documentation.
52120         (func_filter_filelist): Update documentation.
52121         Reported by Ralf Wildenhues.
52122
52123 2009-01-17  Bruno Haible  <bruno@clisp.org>
52124
52125         * modules/dprintf-posix-tests: New file.
52126         * tests/test-dprintf-posix.sh: New file.
52127         * tests/test-dprintf-posix.c: New file.
52128
52129         New modules 'dprintf', 'dprintf-posix'.
52130         * lib/stdio.in.h (dprintf): New declaration.
52131         * lib/dprintf.c: New file.
52132         * m4/dprintf.m4: New file.
52133         * m4/dprintf-posix.m4: New file.
52134         * modules/dprintf: New file.
52135         * modules/dprintf-posix: New file.
52136         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52137         HAVE_DPRINTF, REPLACE_DPRINTF.
52138         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52139         HAVE_DPRINTF, REPLACE_DPRINTF.
52140         * doc/posix-functions/dprintf.texi: Mention the new modules.
52141
52142 2009-01-17  Bruno Haible  <bruno@clisp.org>
52143
52144         * modules/vdprintf-posix-tests: New file.
52145         * tests/test-vdprintf-posix.sh: New file.
52146         * tests/test-vdprintf-posix.c: New file.
52147
52148         New modules 'vdprintf', 'vdprintf-posix'.
52149         * lib/stdio.in.h (vdprintf): New declaration.
52150         * lib/vdprintf.c: New file.
52151         * m4/vdprintf.m4: New file.
52152         * m4/vdprintf-posix.m4: New file.
52153         * modules/vdprintf: New file.
52154         * modules/vdprintf-posix: New file.
52155         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52156         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52157         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52158         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52159         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52160
52161 2009-01-17  Bruno Haible  <bruno@clisp.org>
52162
52163         Fix replacement of fopen on mingw.
52164         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52165         mingw.
52166
52167 2009-01-17  Bruno Haible  <bruno@clisp.org>
52168
52169         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52170         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52171
52172 2009-01-17  Bruno Haible  <bruno@clisp.org>
52173
52174         Avoid test-fflush2.sh failure on mingw.
52175         * tests/test-fflush2.c: Include binary-io.h.
52176         (main): Put standard input into binary mode.
52177         * modules/fflush-tests (Depends-on): Add binary-io.
52178
52179 2009-01-17  Bruno Haible  <bruno@clisp.org>
52180
52181         * lib/wchar.in.h: In another particular situation, include only the
52182         system's <wchar.h> file.
52183         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52184         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52185         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52186
52187 2009-01-17  Bruno Haible  <bruno@clisp.org>
52188
52189         Support for stripping executables in --enable-relocatable.
52190         * build-aux/install-reloc: Expect one more argument, or an environment
52191         variable RELOC_STRIP_PROG. If set, strip the destination program and
52192         its wrapper.
52193         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52194         RELOC_STRIP_PROG.
52195         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52196         to set RELOCATABLE_STRIP.
52197         * NEWS: Mention the new Makefile requirement.
52198
52199 2009-01-17  Bruno Haible  <bruno@clisp.org>
52200
52201         * build-aux/install-reloc: Remove debugging information left over by
52202         C compiler on MacOS X.
52203
52204 2009-01-17  Bruno Haible  <bruno@clisp.org>
52205
52206         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52207         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52208         _NSGetExecutablePath.
52209
52210 2009-01-16  Jim Meyering  <meyering@redhat.com>
52211
52212         strerror: avoid warnings about discarding "const"
52213         * lib/strerror.c (rpl_strerror): Instead of returning a const
52214         string from each and every "case", use a variable, and add a single
52215         cast after the switch.
52216
52217 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52218
52219         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52220
52221 2009-01-16  Bruno Haible  <bruno@clisp.org>
52222
52223         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52224         array initializer syntax that also works in C++ mode.
52225         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52226
52227 2009-01-16  Jim Meyering  <meyering@redhat.com>
52228
52229         poll: suppress a warning
52230         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52231         to ignore "...unsigned expression < 0 is always false" warnings.
52232
52233 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52234
52235         poll: remove declarations of unused variables
52236         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52237         sockbuf and optlen.
52238
52239 2009-01-15  Bruno Haible  <bruno@clisp.org>
52240
52241         Make fflush-after-ungetc POSIX compliant on BSD systems.
52242         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52243         (clear_ungetc_buffer): Implement also for other systems.
52244         (rpl_fflush): On glibc systems, invoke
52245         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52246         clear_ungetc_buffer after fetching the stream's position, not before.
52247
52248 2009-01-15  Bruno Haible  <bruno@clisp.org>
52249
52250         Make fflush-after-ungetc POSIX compliant on glibc systems.
52251         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52252         after ungetc.
52253         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52254         (rpl_fflush): On glibc systems, simply call the system's fflush
52255         function after clearing the ungetc buffer.
52256         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52257         Instead, lseek only to the end of file, then use the system's fseeko
52258         for the rest. On glibc systems, reset the EOF indicator bit.
52259
52260 2009-01-15  Jim Meyering  <meyering@redhat.com>
52261
52262         openmp.m4: revert quote-adding change, for portability to older autoconf
52263         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52264         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52265         Simon Josefsson noticed the problem when using autoconf-2.61.
52266
52267 2009-01-15  Bruno Haible  <bruno@clisp.org>
52268
52269         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52270         * tests/test-fflush2.c (ASSERT): Always fail.
52271         (main): Add two tests for fflush() after ungetc(), taking into account
52272         the Austin Group's clarification.
52273         Suggested by Eric Blake.
52274
52275 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52276
52277         mktime.m4: remove K&R-style function prototypes
52278         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52279         for the Sun C++ compiler.
52280
52281 2009-01-14  Bruno Haible  <bruno@clisp.org>
52282
52283         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52284         while including <wchar.h>.
52285         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52286         the system's <wchar.h> file.
52287         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52288
52289 2009-01-14  Bruno Haible  <bruno@clisp.org>
52290
52291         * m4/csharp.m4: Don't mention gettext on the serial number line.
52292         * m4/csharpexec.m4: Likewise.
52293         * m4/eaccess.m4: Likewise.
52294         * m4/javaexec.m4: Likewise.
52295         * m4/sig_atomic_t.m4: Likewise.
52296         * m4/tmpdir.m4: Likewise.
52297         * m4/intldir.m4: Bump gettext version.
52298         * m4/lib-ld.m4: Likewise.
52299
52300 2009-01-14  Bruno Haible  <bruno@clisp.org>
52301
52302         * lib/progname.c (set_program_name): Add more comments.
52303         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52304
52305 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52306
52307         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52308         were sys/stat.h does not define it.
52309
52310 2009-01-14  Jim Meyering  <meyering@redhat.com>
52311
52312         many *.m4 files: improve m4 quoting
52313         99% of this change was performed by running the following commands:
52314         git ls-files | grep '\.m4$' | xargs perl -pi \
52315           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52316           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52317           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52318           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52319         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52320         The remainder were to add Copyright dates, increment serial numbers,
52321         undo some changes in comments, exclude m4/intl.m4, and add quotes
52322         around the "1" in ",1" where the unusual spacing prohibited the
52323         above regexps from doing the job.  For more details, see
52324         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52325         * m4/acl.m4: Modified.
52326         * m4/afs.m4: Likewise.
52327         * m4/alloca.m4: Likewise.
52328         * m4/argp.m4: Likewise.
52329         * m4/argz.m4: Likewise.
52330         * m4/atexit.m4: Likewise.
52331         * m4/bison-i18n.m4: Likewise.
52332         * m4/bison.m4: Likewise.
52333         * m4/byteswap.m4: Likewise.
52334         * m4/c-stack.m4: Likewise.
52335         * m4/c-strtod.m4: Likewise.
52336         * m4/calloc.m4: Likewise.
52337         * m4/canonicalize-lgpl.m4: Likewise.
52338         * m4/chown.m4: Likewise.
52339         * m4/clock_time.m4: Likewise.
52340         * m4/codeset.m4: Likewise.
52341         * m4/copy-file.m4: Likewise.
52342         * m4/csharp.m4: Likewise.
52343         * m4/csharpcomp.m4: Likewise.
52344         * m4/csharpexec.m4: Likewise.
52345         * m4/d-ino.m4: Likewise.
52346         * m4/d-type.m4: Likewise.
52347         * m4/dirfd.m4: Likewise.
52348         * m4/double-slash-root.m4: Likewise.
52349         * m4/eaccess.m4: Likewise.
52350         * m4/eealloc.m4: Likewise.
52351         * m4/environ.m4: Likewise.
52352         * m4/errno_h.m4: Likewise.
52353         * m4/euidaccess.m4: Likewise.
52354         * m4/execute.m4: Likewise.
52355         * m4/fatal-signal.m4: Likewise.
52356         * m4/fchdir.m4: Likewise.
52357         * m4/fcntl_h.m4: Likewise.
52358         * m4/fileblocks.m4: Likewise.
52359         * m4/filenamecat.m4: Likewise.
52360         * m4/findprog.m4: Likewise.
52361         * m4/flexmember.m4: Likewise.
52362         * m4/fnmatch.m4: Likewise.
52363         * m4/fopen.m4: Likewise.
52364         * m4/fpending.m4: Likewise.
52365         * m4/fprintf-posix.m4: Likewise.
52366         * m4/free.m4: Likewise.
52367         * m4/frexp.m4: Likewise.
52368         * m4/frexpl.m4: Likewise.
52369         * m4/fsusage.m4: Likewise.
52370         * m4/ftruncate.m4: Likewise.
52371         * m4/gc-camellia.m4: Likewise.
52372         * m4/gc-random.m4: Likewise.
52373         * m4/gc.m4: Likewise.
52374         * m4/getaddrinfo.m4: Likewise.
52375         * m4/getcwd-abort-bug.m4: Likewise.
52376         * m4/getcwd-path-max.m4: Likewise.
52377         * m4/getdate.m4: Likewise.
52378         * m4/getdomainname.m4: Likewise.
52379         * m4/getgroups.m4: Likewise.
52380         * m4/gethostname.m4: Likewise.
52381         * m4/gethrxtime.m4: Likewise.
52382         * m4/getline.m4: Likewise.
52383         * m4/getloadavg.m4: Likewise.
52384         * m4/getndelim2.m4: Likewise.
52385         * m4/getpass.m4: Likewise.
52386         * m4/gettext.m4: Likewise.
52387         * m4/gettime.m4: Likewise.
52388         * m4/gettimeofday.m4: Likewise.
52389         * m4/gnulib-common.m4: Likewise.
52390         * m4/group-member.m4: Likewise.
52391         * m4/host-os.m4: Likewise.
52392         * m4/iconv.m4: Likewise.
52393         * m4/iconv_open.m4: Likewise.
52394         * m4/inet_ntop.m4: Likewise.
52395         * m4/inet_pton.m4: Likewise.
52396         * m4/inline.m4: Likewise.
52397         * m4/intldir.m4: Likewise.
52398         * m4/intlmacosx.m4: Likewise.
52399         * m4/intmax.m4: Likewise.
52400         * m4/intmax_t.m4: Likewise.
52401         * m4/inttypes.m4: Likewise.
52402         * m4/inttypes_h.m4: Likewise.
52403         * m4/inttypes-pri.m4: Likewise.
52404         * m4/isapipe.m4: Likewise.
52405         * m4/isnand.m4: Likewise.
52406         * m4/isnanf.m4: Likewise.
52407         * m4/isnanl.m4: Likewise.
52408         * m4/javacomp.m4: Likewise.
52409         * m4/javaexec.m4: Likewise.
52410         * m4/jm-winsz1.m4: Likewise.
52411         * m4/jm-winsz2.m4: Likewise.
52412         * m4/lchown.m4: Likewise.
52413         * m4/lcmessage.m4: Likewise.
52414         * m4/ldexpl.m4: Likewise.
52415         * m4/lib-ld.m4: Likewise.
52416         * m4/lib-link.m4: Likewise.
52417         * m4/libsigsegv.m4: Likewise.
52418         * m4/link-follow.m4: Likewise.
52419         * m4/localcharset.m4: Likewise.
52420         * m4/locale-fr.m4: Likewise.
52421         * m4/locale-ja.m4: Likewise.
52422         * m4/locale-tr.m4: Likewise.
52423         * m4/locale-zh.m4: Likewise.
52424         * m4/lock.m4: Likewise.
52425         * m4/longlong.m4: Likewise.
52426         * m4/ls-mntd-fs.m4: Likewise.
52427         * m4/lstat.m4: Likewise.
52428         * m4/malloc.m4: Likewise.
52429         * m4/mathl.m4: Likewise.
52430         * m4/mbrtowc.m4: Likewise.
52431         * m4/mbstate_t.m4: Likewise.
52432         * m4/mbswidth.m4: Likewise.
52433         * m4/memchr.m4: Likewise.
52434         * m4/memcmp.m4: Likewise.
52435         * m4/memcpy.m4: Likewise.
52436         * m4/memmem.m4: Likewise.
52437         * m4/memmove.m4: Likewise.
52438         * m4/mempcpy.m4: Likewise.
52439         * m4/memrchr.m4: Likewise.
52440         * m4/memset.m4: Likewise.
52441         * m4/minmax.m4: Likewise.
52442         * m4/mkdir-slash.m4: Likewise.
52443         * m4/mkdtemp.m4: Likewise.
52444         * m4/mktime.m4: Likewise.
52445         * m4/mmap-anon.m4: Likewise.
52446         * m4/mountlist.m4: Likewise.
52447         * m4/nanosleep.m4: Likewise.
52448         * m4/nls.m4: Likewise.
52449         * m4/nocrash.m4: Likewise.
52450         * m4/open.m4: Likewise.
52451         * m4/openat.m4: Likewise.
52452         * m4/openmp.m4: Likewise.
52453         * m4/pathmax.m4: Likewise.
52454         * m4/perl.m4: Likewise.
52455         * m4/physmem.m4: Likewise.
52456         * m4/pipe.m4: Likewise.
52457         * m4/po.m4: Likewise.
52458         * m4/poll.m4: Likewise.
52459         * m4/posixtm.m4: Likewise.
52460         * m4/posixver.m4: Likewise.
52461         * m4/printf-frexp.m4: Likewise.
52462         * m4/printf-frexpl.m4: Likewise.
52463         * m4/printf-posix.m4: Likewise.
52464         * m4/printf-posix-rpl.m4: Likewise.
52465         * m4/printf.m4: Likewise.
52466         * m4/progtest.m4: Likewise.
52467         * m4/putenv.m4: Likewise.
52468         * m4/readline.m4: Likewise.
52469         * m4/readlink.m4: Likewise.
52470         * m4/readutmp.m4: Likewise.
52471         * m4/realloc.m4: Likewise.
52472         * m4/regex.m4: Likewise.
52473         * m4/relocatable.m4: Likewise.
52474         * m4/relocatable-lib.m4: Likewise.
52475         * m4/rename-dest-slash.m4: Likewise.
52476         * m4/rename.m4: Likewise.
52477         * m4/rmdir-errno.m4: Likewise.
52478         * m4/rmdir.m4: Likewise.
52479         * m4/roundf.m4: Likewise.
52480         * m4/roundl.m4: Likewise.
52481         * m4/rpmatch.m4: Likewise.
52482         * m4/save-cwd.m4: Likewise.
52483         * m4/selinux-selinux-h.m4: Likewise.
52484         * m4/setenv.m4: Likewise.
52485         * m4/settime.m4: Likewise.
52486         * m4/sig2str.m4: Likewise.
52487         * m4/sig_atomic_t.m4: Likewise.
52488         * m4/signalblocking.m4: Likewise.
52489         * m4/signbit.m4: Likewise.
52490         * m4/sigpipe.m4: Likewise.
52491         * m4/sockets.m4: Likewise.
52492         * m4/sockpfaf.m4: Likewise.
52493         * m4/st_dm_mode.m4: Likewise.
52494         * m4/stat-time.m4: Likewise.
52495         * m4/stdbool.m4: Likewise.
52496         * m4/stdint.m4: Likewise.
52497         * m4/stdint_h.m4: Likewise.
52498         * m4/stpcpy.m4: Likewise.
52499         * m4/stpncpy.m4: Likewise.
52500         * m4/strcase.m4: Likewise.
52501         * m4/strchrnul.m4: Likewise.
52502         * m4/strcspn.m4: Likewise.
52503         * m4/strdup.m4: Likewise.
52504         * m4/strftime.m4: Likewise.
52505         * m4/strndup.m4: Likewise.
52506         * m4/strnlen.m4: Likewise.
52507         * m4/strpbrk.m4: Likewise.
52508         * m4/strptime.m4: Likewise.
52509         * m4/strsep.m4: Likewise.
52510         * m4/strtod.m4: Likewise.
52511         * m4/strtoimax.m4: Likewise.
52512         * m4/strtok_r.m4: Likewise.
52513         * m4/strtol.m4: Likewise.
52514         * m4/strtoll.m4: Likewise.
52515         * m4/strtoul.m4: Likewise.
52516         * m4/strtoull.m4: Likewise.
52517         * m4/strtoumax.m4: Likewise.
52518         * m4/strverscmp.m4: Likewise.
52519         * m4/threadlib.m4: Likewise.
52520         * m4/timegm.m4: Likewise.
52521         * m4/tm_gmtoff.m4: Likewise.
52522         * m4/tmpdir.m4: Likewise.
52523         * m4/tmpfile.m4: Likewise.
52524         * m4/tzset.m4: Likewise.
52525         * m4/uintmax_t.m4: Likewise.
52526         * m4/unlinkdir.m4: Likewise.
52527         * m4/unlocked-io.m4: Likewise.
52528         * m4/uptime.m4: Likewise.
52529         * m4/userspec.m4: Likewise.
52530         * m4/utimbuf.m4: Likewise.
52531         * m4/utime.m4: Likewise.
52532         * m4/utimes-null.m4: Likewise.
52533         * m4/utimes.m4: Likewise.
52534         * m4/vararrays.m4: Likewise.
52535         * m4/vasnprintf.m4: Likewise.
52536         * m4/vfprintf-posix.m4: Likewise.
52537         * m4/vprintf-posix.m4: Likewise.
52538         * m4/wait-process.m4: Likewise.
52539         * m4/wchar_t.m4: Likewise.
52540         * m4/wint_t.m4: Likewise.
52541         * m4/write-any-file.m4: Likewise.
52542         * m4/yield.m4: Likewise.
52543
52544 2009-01-13  Bruno Haible  <bruno@clisp.org>
52545
52546         Avoid test-copy-file.sh failures when ACL support insufficient.
52547         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52548         TESTS_ENVIRONMENT.
52549         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52550         Reported by Jim Meyering.
52551
52552 2009-01-13  Bruno Haible  <bruno@clisp.org>
52553
52554         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52555         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52556         * modules/unistdio/u8-printf-parse (Files): Likewise.
52557         * modules/unistdio/u32-printf-parse (Files): Likewise.
52558         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52559
52560 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52561
52562         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52563         and m4/inttypes_h.m4 too.
52564
52565 2009-01-12  Eric Blake  <ebb9@byu.net>
52566
52567         tests: IRIX 6.2 cc can't compile -0.0 into .data
52568         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52569         rather than at compile-time.
52570         * tests/test-floorl.c (minus_zero): Likewise.
52571         * tests/test-frexpl.c (minus_zero): Likewise.
52572         * tests/test-isnan.c (minus_zerol): Likewise.
52573         * tests/test-isnanl.h (minus_zero): Likewise.
52574         * tests/test-ldexpl.c (minus_zero): Likewise.
52575         * tests/test-roundl.c (minus_zero): Likewise.
52576         * tests/test-signbit.c (minus_zerol): Likewise.
52577         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52578         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52579         * tests/test-truncl.c (minus_zero): Likewise.
52580         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52581         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52582         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52583
52584 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52585
52586         regex: fix glibc bug 9697
52587         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52588         handling.
52589
52590 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52591
52592         regex: fix glibc bug 697
52593         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52594         being NULL also if there are no backreferences.
52595
52596 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52597
52598         regex: merge glibc changes
52599         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52600         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52601         re_string_skip_chars, re_string_reconstruct): Likewise.
52602         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52603
52604 2009-01-07  Jim Meyering  <meyering@redhat.com>
52605
52606         poll: filter through cppi
52607         * lib/poll.c: Indent cpp directives to reflect nesting.
52608
52609 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52610
52611         poll: don't return uninitialized
52612         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52613
52614 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52615
52616         avoid compile failure on AIX 6.1
52617         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52618         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52619
52620 2009-01-04  Jim Meyering  <meyering@redhat.com>
52621
52622         remove duplicate inclusion of <stdio.h>
52623         * tests/test-fprintf-posix.c: Likewise.
52624         * tests/test-printf-posix.c: Likewise.
52625         * tests/test-snprintf-posix.c: Likewise.
52626         * tests/test-sprintf-posix.c: Likewise.
52627         * tests/test-vasprintf-posix.c: Likewise.
52628         * tests/test-vfprintf-posix.c: Likewise.
52629         * tests/test-vprintf-posix.c: Likewise.
52630         * tests/test-vsnprintf-posix.c: Likewise.
52631         * tests/test-vsprintf-posix.c: Likewise.
52632
52633 2009-01-03  Jim Meyering  <meyering@redhat.com>
52634
52635         gnulib-tool: fix sed-based filtering
52636         * gnulib-tool (func_filter_filelist): Remove extra backslash
52637         in sed_fff_filter definition.
52638
52639 2009-01-02  Jim Meyering  <meyering@redhat.com>
52640
52641         strftime: avoid compilation failure on Solaris 2.6
52642         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52643         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52644         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52645         be available.  Reported by Tom G. Christensen.  Details in
52646         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52647
52648 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52649             Bruno Haible  <bruno@clisp.org>
52650
52651         Speed up gnulib-tool by doing more string processing through shell
52652         built-ins.
52653         * gnulib-tool (fast_func_append): New variable.
52654         (func_remove_prefix, func_remove_suffix): New functions.
52655         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52656         (func_filter_filelist): New function.
52657         (func_get_dependencies): Use func_remove_suffix instead of sed.
52658         (func_get_automake_snippet): Use func_filter_filelist instead of a
52659         subshell and sed invocation.
52660
52661 2009-01-01  Bruno Haible  <bruno@clisp.org>
52662
52663         Fix a security bug.
52664         * gnulib-tool (func_import, import, update): Don't allow the characters
52665         '"', '$', '`', '\' in macro arguments that become part of commands that
52666         are evaluated.
52667
52668 2009-01-01  Bruno Haible  <bruno@clisp.org>
52669
52670         * gnulib-tool (func_reset_sigpipe): Add more comments.
52671
52672 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52673
52674         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52675         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52676         already know the answer.
52677
52678 2009-01-01  Jim Meyering  <meyering@redhat.com>
52679
52680         * lib/version-etc.c (version_etc_va): Update copyright year.
52681
52682 2008-12-30  Bruno Haible  <bruno@clisp.org>
52683
52684         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52685         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52686         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52687
52688 2008-12-29  Eric Blake  <ebb9@byu.net>
52689
52690         multiarch: avoid autoconf AC_REQUIRE bug
52691         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52692         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52693         2.63 and older.
52694         Reported by Bruno Haible, and analyzed in
52695         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52696
52697 2008-12-29  Bruno Haible  <bruno@clisp.org>
52698
52699         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52700         files in subdirectories correctly.
52701         Reported by Ralf Wildenhues.
52702
52703 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52704
52705         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52706         rather than 'join FILE -', for Solaris join.
52707
52708 2008-12-29  Bruno Haible  <bruno@clisp.org>
52709
52710         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52711         quoting.
52712         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52713         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52714         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52715         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52716         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52717         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52718         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52719         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52720         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52721         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52722         * m4/nls.m4 (AM_NLS): Likewise.
52723         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52724         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52725         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52726         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52727         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52728         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52729         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52730         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52731         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52732         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52733         * m4/xsize.m4 (gl_XSIZE): Likewise.
52734         Suggested by Jim Meyering.
52735
52736 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52737
52738         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52739         * lib/parse-duration.c: use a switch instead of cascading if's.
52740
52741 2008-12-29  Eric Blake  <ebb9@byu.net>
52742
52743         wchar.h: supply WEOF on Irix 5.3
52744         * lib/wchar.in.h (wint_t): Also supply WEOF.
52745         * lib/wctype.in.h (wint_t): Likewise.
52746         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52747         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52748         Reported by Tom G. Christensen.
52749
52750 2008-12-26  Bruno Haible  <bruno@clisp.org>
52751
52752         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52753         i486, i586, i686.
52754
52755 2008-12-26  Bruno Haible  <bruno@clisp.org>
52756
52757         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52758
52759 2008-12-26  Bruno Haible  <bruno@clisp.org>
52760
52761         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52762         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52763         not __STDC_CONSTANT_MACROS.
52764         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52765
52766 2008-12-25  Bruno Haible  <bruno@clisp.org>
52767
52768         Add support for universal builds to vasnprintf.
52769         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52770         universal builds, guess no.
52771         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52772         * modules/vasprintf-posix (Depends-on): Likewise.
52773         * modules/fprintf-posix (Depends-on): Likewise.
52774         * modules/vfprintf-posix (Depends-on): Likewise.
52775         * modules/snprintf-posix (Depends-on): Likewise.
52776         * modules/vsnprintf-posix (Depends-on): Likewise.
52777         * modules/sprintf-posix (Depends-on): Likewise.
52778         * modules/vsprintf-posix (Depends-on): Likewise.
52779         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52780         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52781         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52782         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52783         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52784         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52785         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52786
52787         Add support for universal builds to <inttypes.h>.
52788         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52789         _SCNu64_PREFIX): In Apple
52790         universal builds, define directly, using _LP64.
52791         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52792         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52793         * modules/inttypes (Depends-on): Add multiarch.
52794         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52795
52796         Add support for universal builds to <stdint.h>.
52797         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52798         universal builds, define directly, using _LP64.
52799         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52800         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52801         and size_t.
52802         * modules/stdint (Depends-on): Add multiarch.
52803         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52804
52805         New module 'multiarch'.
52806         * modules/multiarch: New file.
52807         * m4/multiarch.m4: New file.
52808
52809 2008-12-25  Bruno Haible  <bruno@clisp.org>
52810
52811         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52812
52813 2008-12-25  Bruno Haible  <bruno@clisp.org>
52814
52815         * modules/btowc (License): Relicense under LGPLv2+.
52816         * modules/mbsinit (License): Likewise.
52817         * modules/mbrtowc (License): Likewise.
52818         * modules/wcrtomb (License): Likewise.
52819         * modules/streq (License): Likewise.
52820         Reported by David Lutterkort <lutter@redhat.com>.
52821
52822 2008-12-23  Bruno Haible  <bruno@clisp.org>
52823
52824         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52825
52826 2008-12-23  Bruno Haible  <bruno@clisp.org>
52827
52828         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52829         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52830         GETADDRINFO_LIB, not in LIBS.
52831         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52832         * modules/canon-host (Link): Likewise.
52833         * NEWS: Mention the change.
52834         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52835         GETADDRINFO_LIB.
52836
52837 2008-12-22  Bruno Haible  <bruno@clisp.org>
52838
52839         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52840         * doc/posix-functions/iswalpha_l.texi: Likewise.
52841         * doc/posix-functions/iswblank_l.texi: Likewise.
52842         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52843         * doc/posix-functions/iswctype_l.texi: Likewise.
52844         * doc/posix-functions/iswdigit_l.texi: Likewise.
52845         * doc/posix-functions/iswgraph_l.texi: Likewise.
52846         * doc/posix-functions/iswlower_l.texi: Likewise.
52847         * doc/posix-functions/iswprint_l.texi: Likewise.
52848         * doc/posix-functions/iswpunct_l.texi: Likewise.
52849         * doc/posix-functions/iswspace_l.texi: Likewise.
52850         * doc/posix-functions/iswupper_l.texi: Likewise.
52851         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52852         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52853         * doc/posix-functions/open_wmemstream.texi: Likewise.
52854         * doc/posix-functions/swscanf.texi: Likewise.
52855         * doc/posix-functions/towctrans_l.texi: Likewise.
52856         * doc/posix-functions/towlower.texi: Likewise.
52857         * doc/posix-functions/towlower_l.texi: Likewise.
52858         * doc/posix-functions/towupper.texi: Likewise.
52859         * doc/posix-functions/towupper_l.texi: Likewise.
52860         * doc/posix-functions/vfwprintf.texi: Likewise.
52861         * doc/posix-functions/vfwscanf.texi: Likewise.
52862         * doc/posix-functions/vswscanf.texi: Likewise.
52863         * doc/posix-functions/vwprintf.texi: Likewise.
52864         * doc/posix-functions/vwscanf.texi: Likewise.
52865         * doc/posix-functions/wcpcpy.texi: Likewise.
52866         * doc/posix-functions/wcpncpy.texi: Likewise.
52867         * doc/posix-functions/wcscasecmp.texi: Likewise.
52868         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52869         * doc/posix-functions/wcscoll_l.texi: Likewise.
52870         * doc/posix-functions/wcsdup.texi: Likewise.
52871         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52872         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52873         * doc/posix-functions/wcsnlen.texi: Likewise.
52874         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52875         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52876         * doc/posix-functions/wctrans_l.texi: Likewise.
52877         * doc/posix-functions/wctype_l.texi: Likewise.
52878         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52879         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52880         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52881         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52882         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52883         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52884         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52885         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52886         * doc/glibc-functions/wcschrnul.texi: Likewise.
52887         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52888         * doc/glibc-functions/wcstod_l.texi: Likewise.
52889         * doc/glibc-functions/wcstof_l.texi: Likewise.
52890         * doc/glibc-functions/wcstol_l.texi: Likewise.
52891         * doc/glibc-functions/wcstold_l.texi: Likewise.
52892         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52893         * doc/glibc-functions/wcstoq.texi: Likewise.
52894         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52895         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52896         * doc/glibc-functions/wcstouq.texi: Likewise.
52897         * doc/glibc-functions/wmempcpy.texi: Likewise.
52898
52899 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52900             Eric Blake  <ebb9@byu.net>
52901             Paolo Bonzini  <bonzini@gnu.org>
52902             Bruno Haible  <bruno@clisp.org>
52903
52904         Make c-stack work on Haiku.
52905         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52906         (c_stack_action): Use SA_ONSTACK flag.
52907
52908 2008-12-22  Bruno Haible  <bruno@clisp.org>
52909
52910         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52911
52912 2008-12-22  Bruno Haible  <bruno@clisp.org>
52913
52914         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52915         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52916         being overridden.
52917         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52918         New macros.
52919         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52920         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52921         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52922         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52923
52924 2008-12-22  Bruno Haible  <bruno@clisp.org>
52925
52926         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52927         from test code.
52928
52929 2008-12-22  Eric Blake  <ebb9@byu.net>
52930
52931         Avoid gcc warnings on cygwin.
52932         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52933         Avoid unused variable.
52934         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52935         Likewise.
52936
52937 2008-12-22  Bruno Haible  <bruno@clisp.org>
52938
52939         Remove HAVE_MBRTOWC conditionals.
52940         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52941         (mbscasecmp): Assume mbrtowc function.
52942         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52943         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52944         * lib/mbschr.c: Include mbuiter.h unconditionally.
52945         (mbschr): Assume mbrtowc function.
52946         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52947         (mbscspn): Assume mbrtowc function.
52948         * lib/mbslen.c: Include mbuiter.h unconditionally.
52949         (mbslen): Assume mbrtowc function.
52950         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52951         (mbsncasecmp): Assume mbrtowc function.
52952         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52953         (mbsnlen): Assume mbrtowc function.
52954         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52955         (mbspbrk): Assume mbrtowc function.
52956         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52957         (mbspcasecmp): Assume mbrtowc function.
52958         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52959         (mbsrchr): Assume mbrtowc function.
52960         * lib/mbssep.c: Include mbuiter.h unconditionally.
52961         (mbssep): Assume mbrtowc function.
52962         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52963         (mbsspn): Assume mbrtowc function.
52964         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52965         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52966         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52967         (mbstok_r): Assume mbrtowc function.
52968         * lib/propername.c: Include mbuiter.h unconditionally.
52969         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52970         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52971         (trim2): Assume mbrtowc function.
52972         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52973         (mbsnwidth): Assume mbrtowc function.
52974         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52975         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52976         fallback definitions.
52977         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52978
52979 2008-12-22  Bruno Haible  <bruno@clisp.org>
52980
52981         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52982
52983 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52984
52985         * modules/regex: Request emulations for the mb*/wc* functions we need.
52986         * m4/regex.m4: Don't look for those functions here.
52987         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52988
52989 2008-12-22  Bruno Haible  <bruno@clisp.org>
52990
52991         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52992
52993 2008-12-21  Bruno Haible  <bruno@clisp.org>
52994
52995         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52996         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52997         (Include): Remove conditionalization.
52998         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52999         (Include): Remove conditionalization.
53000         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53001         (Include): Remove conditionalization.
53002         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53003         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53004         * NEWS: Mention the change.
53005         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53006         via Sergey Poznyakoff <gray@gnu.org.ua>.
53007
53008 2008-12-21  Bruno Haible  <bruno@clisp.org>
53009
53010         * MODULES.html.sh (Extended multibyte and wide character utilities
53011         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53012         wcrtomb, wcsrtombs.
53013         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53014         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53015         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53016         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53017
53018 2008-12-21  Bruno Haible  <bruno@clisp.org>
53019
53020         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53021
53022 2008-12-21  Bruno Haible  <bruno@clisp.org>
53023
53024         * modules/wcsnrtombs-tests: New file.
53025         * tests/test-wcsnrtombs1.sh: New file.
53026         * tests/test-wcsnrtombs2.sh: New file.
53027         * tests/test-wcsnrtombs3.sh: New file.
53028         * tests/test-wcsnrtombs4.sh: New file.
53029         * tests/test-wcsnrtombs.c: New file.
53030
53031         New module 'wcsnrtombs'.
53032         * lib/wchar.in.h (wcsnrtombs): New declaration.
53033         * lib/wcsnrtombs.c: New file.
53034         * lib/wcsrtombs-state.c: New file.
53035         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53036         (internal_state): Remove variable.
53037         * m4/wcsnrtombs.m4: New file.
53038         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53039         compilation units.
53040         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53041         HAVE_WCSNRTOMBS.
53042         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53043         HAVE_WCSNRTOMBS.
53044         * modules/wcsnrtombs: New file.
53045         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53046         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53047
53048 2008-12-21  Bruno Haible  <bruno@clisp.org>
53049
53050         * modules/wcsrtombs-tests: New file.
53051         * tests/test-wcsrtombs1.sh: New file.
53052         * tests/test-wcsrtombs2.sh: New file.
53053         * tests/test-wcsrtombs3.sh: New file.
53054         * tests/test-wcsrtombs4.sh: New file.
53055         * tests/test-wcsrtombs.c: New file.
53056
53057         New module 'wcsrtombs'.
53058         * lib/wchar.in.h (wcsrtombs): New declaration.
53059         * lib/wcsrtombs.c: New file.
53060         * m4/wcsrtombs.m4: New file.
53061         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53062         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53063         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53064         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53065         * modules/wcsrtombs: New file.
53066         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53067         bugs.
53068
53069 2008-12-21  Bruno Haible  <bruno@clisp.org>
53070
53071         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53072         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53073         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53074         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53075         if not correct.
53076         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53077         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
53078         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53079         m4/locale-zh.m4, m4/codeset.m4.
53080         * doc/posix-functions/wcrtomb.texi: Document the bug.
53081
53082 2008-12-21  Bruno Haible  <bruno@clisp.org>
53083
53084         Work around a btowc() bug on IRIX 6.5.
53085         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53086         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53087         REPLACE_WTOBC if not.
53088         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53089         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53090         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53091
53092 2008-12-21  Bruno Haible  <bruno@clisp.org>
53093
53094         * modules/wcrtomb-tests: New file.
53095         * tests/test-wcrtomb.sh: New file.
53096         * tests/test-wcrtomb.c: New file.
53097
53098         New module 'wcrtomb'.
53099         * lib/wchar.in.h (wcrtomb): New declaration.
53100         * lib/wcrtomb.c: New file.
53101         * m4/wcrtomb.m4: New file.
53102         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53103         HAVE_WCRTOMB.
53104         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53105         HAVE_WCRTOMB.
53106         * modules/wcrtomb: New file.
53107         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53108
53109 2008-12-21  Bruno Haible  <bruno@clisp.org>
53110
53111         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53112         * modules/mbsrtowcs (Files): Likewise.
53113         * modules/wctob (Files): Likewise.
53114         * modules/c-strcase-tests (Files): Likewise.
53115         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53116         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53117         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53118         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53119         * modules/vasnprintf-posix-tests (Files): Likewise.
53120
53121 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53122
53123         gitlog-to-changelog: pass all command-line arguments to git-log
53124         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53125         it is sometimes convenient to filter the commits in various ways.
53126         gitlog-to-changelog only allows --since to specify a start date,
53127         but git-log itself supports many other filtering mechanisms.
53128         At the moment, I want to filter by branch name.  Rather than
53129         adding a --branch option to gitlog-to-changelog, it seems more
53130         flexible to simply pass all options directly to git-log and let
53131         git do the work.  Notice that this effectively makes --since a
53132         redundant option for gitlog-to-changelog, but removing it would
53133         require current usage to change since calls would then require
53134         an additional '--'.
53135
53136 2008-12-21  Bruno Haible  <bruno@clisp.org>
53137
53138         * modules/mbsnrtowcs-tests: New file.
53139         * tests/test-mbsnrtowcs1.sh: New file.
53140         * tests/test-mbsnrtowcs2.sh: New file.
53141         * tests/test-mbsnrtowcs3.sh: New file.
53142         * tests/test-mbsnrtowcs4.sh: New file.
53143         * tests/test-mbsnrtowcs.c: New file.
53144
53145         New module 'mbsnrtowcs'.
53146         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53147         * lib/mbsnrtowcs.c: New file.
53148         * lib/mbsrtowcs-state.c: New file.
53149         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53150         (internal_state): Remove variable.
53151         * m4/mbsnrtowcs.m4: New file.
53152         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53153         compilation units.
53154         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53155         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53156         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53157         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53158         * modules/mbsnrtowcs: New file.
53159         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53160         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53161         portability problem.
53162
53163 2008-12-21  Bruno Haible  <bruno@clisp.org>
53164
53165         Work around mbsrtowcs bug.
53166         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53167         (gl_FUNC_MBSRTOWCS): Invoke it.
53168         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53169         m4/locale-zh.m4.
53170         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53171
53172 2008-12-21  Bruno Haible  <bruno@clisp.org>
53173
53174         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53175
53176 2008-12-21  Bruno Haible  <bruno@clisp.org>
53177
53178         Update doc for AIX.
53179         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53180         16-bit wchar_t type.
53181         * doc/posix-functions/btowc.texi: Likewise.
53182         * doc/posix-functions/fgetwc.texi: Likewise.
53183         * doc/posix-functions/fgetws.texi: Likewise.
53184         * doc/posix-functions/fputwc.texi: Likewise.
53185         * doc/posix-functions/fputws.texi: Likewise.
53186         * doc/posix-functions/fwide.texi: Likewise.
53187         * doc/posix-functions/fwprintf.texi: Likewise.
53188         * doc/posix-functions/fwscanf.texi: Likewise.
53189         * doc/posix-functions/getwchar.texi: Likewise.
53190         * doc/posix-functions/getwc.texi: Likewise.
53191         * doc/posix-functions/iswalnum.texi: Likewise.
53192         * doc/posix-functions/iswalpha.texi: Likewise.
53193         * doc/posix-functions/iswblank.texi: Likewise.
53194         * doc/posix-functions/iswcntrl.texi: Likewise.
53195         * doc/posix-functions/iswctype.texi: Likewise.
53196         * doc/posix-functions/iswdigit.texi: Likewise.
53197         * doc/posix-functions/iswgraph.texi: Likewise.
53198         * doc/posix-functions/iswlower.texi: Likewise.
53199         * doc/posix-functions/iswprint.texi: Likewise.
53200         * doc/posix-functions/iswpunct.texi: Likewise.
53201         * doc/posix-functions/iswspace.texi: Likewise.
53202         * doc/posix-functions/iswupper.texi: Likewise.
53203         * doc/posix-functions/iswxdigit.texi: Likewise.
53204         * doc/posix-functions/mbrtowc.texi: Likewise.
53205         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53206         * doc/posix-functions/mbstowcs.texi: Likewise.
53207         * doc/posix-functions/mbtowc.texi: Likewise.
53208         * doc/posix-functions/putwchar.texi: Likewise.
53209         * doc/posix-functions/putwc.texi: Likewise.
53210         * doc/posix-functions/swprintf.texi: Likewise.
53211         * doc/posix-functions/tolower.texi: Likewise.
53212         * doc/posix-functions/toupper.texi: Likewise.
53213         * doc/posix-functions/towctrans.texi: Likewise.
53214         * doc/posix-functions/ungetwc.texi: Likewise.
53215         * doc/posix-functions/vswprintf.texi: Likewise.
53216         * doc/posix-functions/wcrtomb.texi: Likewise.
53217         * doc/posix-functions/wcscat.texi: Likewise.
53218         * doc/posix-functions/wcschr.texi: Likewise.
53219         * doc/posix-functions/wcscmp.texi: Likewise.
53220         * doc/posix-functions/wcscoll.texi: Likewise.
53221         * doc/posix-functions/wcscpy.texi: Likewise.
53222         * doc/posix-functions/wcscspn.texi: Likewise.
53223         * doc/posix-functions/wcsftime.texi: Likewise.
53224         * doc/posix-functions/wcslen.texi: Likewise.
53225         * doc/posix-functions/wcsncat.texi: Likewise.
53226         * doc/posix-functions/wcsncmp.texi: Likewise.
53227         * doc/posix-functions/wcsncpy.texi: Likewise.
53228         * doc/posix-functions/wcspbrk.texi: Likewise.
53229         * doc/posix-functions/wcsrchr.texi: Likewise.
53230         * doc/posix-functions/wcsrtombs.texi: Likewise.
53231         * doc/posix-functions/wcsspn.texi: Likewise.
53232         * doc/posix-functions/wcsstr.texi: Likewise.
53233         * doc/posix-functions/wcstod.texi: Likewise.
53234         * doc/posix-functions/wcstof.texi: Likewise.
53235         * doc/posix-functions/wcstoimax.texi: Likewise.
53236         * doc/posix-functions/wcstok.texi: Likewise.
53237         * doc/posix-functions/wcstold.texi: Likewise.
53238         * doc/posix-functions/wcstoll.texi: Likewise.
53239         * doc/posix-functions/wcstol.texi: Likewise.
53240         * doc/posix-functions/wcstombs.texi: Likewise.
53241         * doc/posix-functions/wcstoull.texi: Likewise.
53242         * doc/posix-functions/wcstoul.texi: Likewise.
53243         * doc/posix-functions/wcstoumax.texi: Likewise.
53244         * doc/posix-functions/wcswidth.texi: Likewise.
53245         * doc/posix-functions/wcsxfrm.texi: Likewise.
53246         * doc/posix-functions/wctob.texi: Likewise.
53247         * doc/posix-functions/wctomb.texi: Likewise.
53248         * doc/posix-functions/wctrans.texi: Likewise.
53249         * doc/posix-functions/wctype.texi: Likewise.
53250         * doc/posix-functions/wcwidth.texi: Likewise.
53251         * doc/posix-functions/wmemchr.texi: Likewise.
53252         * doc/posix-functions/wmemcmp.texi: Likewise.
53253         * doc/posix-functions/wmemcpy.texi: Likewise.
53254         * doc/posix-functions/wmemmove.texi: Likewise.
53255         * doc/posix-functions/wmemset.texi: Likewise.
53256         * doc/posix-functions/wprintf.texi: Likewise.
53257         * doc/posix-functions/wscanf.texi: Likewise.
53258
53259 2008-12-21  Bruno Haible  <bruno@clisp.org>
53260
53261         Update doc for HP-UX 11.11.
53262         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53263         in HP-UX version 11.00, not in all versions of HP-UX 11.
53264         * doc/posix-functions/fwide.texi: Likewise.
53265         * doc/posix-functions/fwprintf.texi: Likewise.
53266         * doc/posix-functions/fwscanf.texi: Likewise.
53267         * doc/posix-functions/inet_ntop.texi: Likewise.
53268         * doc/posix-functions/inet_pton.texi: Likewise.
53269         * doc/posix-functions/mbrlen.texi: Likewise.
53270         * doc/posix-functions/mbrtowc.texi: Likewise.
53271         * doc/posix-functions/mbsinit.texi: Likewise.
53272         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53273         * doc/posix-functions/swprintf.texi: Likewise.
53274         * doc/posix-functions/swscanf.texi: Likewise.
53275         * doc/posix-functions/towctrans.texi: Likewise.
53276         * doc/posix-functions/vfwprintf.texi: Likewise.
53277         * doc/posix-functions/vswprintf.texi: Likewise.
53278         * doc/posix-functions/vwprintf.texi: Likewise.
53279         * doc/posix-functions/wcrtomb.texi: Likewise.
53280         * doc/posix-functions/wcsrtombs.texi: Likewise.
53281         * doc/posix-functions/wcsstr.texi: Likewise.
53282         * doc/posix-functions/wctob.texi: Likewise.
53283         * doc/posix-functions/wctrans.texi: Likewise.
53284         * doc/posix-functions/wmemchr.texi: Likewise.
53285         * doc/posix-functions/wmemcmp.texi: Likewise.
53286         * doc/posix-functions/wmemcpy.texi: Likewise.
53287         * doc/posix-functions/wmemmove.texi: Likewise.
53288         * doc/posix-functions/wmemset.texi: Likewise.
53289         * doc/posix-functions/wprintf.texi: Likewise.
53290         * doc/posix-functions/wscanf.texi: Likewise.
53291
53292 2008-12-21  Bruno Haible  <bruno@clisp.org>
53293
53294         Work around a portability problem.
53295         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53296         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53297
53298 2008-12-20  Bruno Haible  <bruno@clisp.org>
53299
53300         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53301         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53302         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53303         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53304         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53305
53306         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53307         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53308         set.
53309         (GNULIB_defined_mbstate_t): New macro.
53310         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53311         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53312         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53313         reuses the system's mbrtowc function but works around the bugs.
53314         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53315         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53316         macros.
53317         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53318         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53319         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53320         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53321         REPLACE_MBSINIT if mbsinit needs to be overridden.
53322         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53323         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53324         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53325         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53326         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53327         m4/locale-zh.m4.
53328         (Depends): Add mbsinit.
53329         * modules/mbsinit (Depends): Add mbrtowc.
53330         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53331
53332 2008-12-20  Bruno Haible  <bruno@clisp.org>
53333
53334         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53335         so that there are no conversion errors on AIX.
53336         * tests/test-mbsrtowcs.c (main): LIkewise.
53337
53338 2008-12-20  Bruno Haible  <bruno@clisp.org>
53339
53340         Work around wctob bug on Solaris <= 9.
53341         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53342         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53343         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53344         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53345         * modules/wctob (Files): Add m4/locale-fr.m4.
53346         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53347
53348 2008-12-20  Bruno Haible  <bruno@clisp.org>
53349
53350         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53351         /dev/null.
53352         * tests/test-select-in.sh: Likewise.
53353         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53354
53355 2008-12-20  Bruno Haible  <bruno@clisp.org>
53356
53357         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53358         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53359         Cygwin 1.5.x.
53360
53361 2008-12-20  Bruno Haible  <bruno@clisp.org>
53362
53363         Ensure mbstate_t is defined on HP-UX 11.11.
53364         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53365         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53366         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53367         AC_USE_SYSTEM_EXTENSIONS.
53368         * modules/fnmatch (Depends-on): Add extensions.
53369         * modules/mbrlen (Depends-on): Likewise.
53370         * modules/mbrtowc (Depends-on): Likewise.
53371         * modules/mbsinit (Depends-on): Likewise.
53372         * modules/mbsrtowcs (Depends-on): Likewise.
53373         * modules/mbswidth (Depends-on): Likewise.
53374         * modules/quotearg (Depends-on): Likewise.
53375         * modules/strftime (Depends-on): Likewise.
53376
53377 2008-12-20  Bruno Haible  <bruno@clisp.org>
53378
53379         Ensure wctob is declared on IRIX 6.5.
53380         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53381         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53382         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53383         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53384         of HAVE_WCTOB.
53385         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53386         HAVE_WCTOB.
53387         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53388
53389 2008-12-19  Bruno Haible  <bruno@clisp.org>
53390
53391         * modules/mbsrtowcs-tests: New file.
53392         * tests/test-mbsrtowcs1.sh: New file.
53393         * tests/test-mbsrtowcs2.sh: New file.
53394         * tests/test-mbsrtowcs3.sh: New file.
53395         * tests/test-mbsrtowcs4.sh: New file.
53396         * tests/test-mbsrtowcs.c: New file.
53397
53398         New module 'mbsrtowcs'.
53399         * lib/wchar.in.h (mbsrtowcs): New declaration.
53400         * lib/mbsrtowcs.c: New file.
53401         * m4/mbsrtowcs.m4: New file.
53402         * modules/mbsrtowcs: New file.
53403         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53404         HAVE_MBSRTOWCS.
53405         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53406         HAVE_MBSRTOWCS.
53407         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53408
53409 2008-12-19  Bruno Haible  <bruno@clisp.org>
53410
53411         New module 'mbrlen'.
53412         * lib/wchar.in.h (mbrlen): New declaration.
53413         * lib/mbrlen.c: New file.
53414         * m4/mbrlen.m4: New file.
53415         * modules/mbrlen: New file.
53416         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53417         HAVE_MBRLEN.
53418         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53419         HAVE_MBRLEN.
53420         * doc/posix-functions/mbrlen.texi: Document the new module.
53421
53422 2008-12-19  Bruno Haible  <bruno@clisp.org>
53423
53424         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53425         * modules/mbrtowc (Depends-on): Add verify.
53426         Suggested by Paul Eggert.
53427
53428 2008-12-18  Bruno Haible  <bruno@clisp.org>
53429
53430         * modules/mbsinit-tests: New file.
53431         * tests/test-mbsinit.sh: New file.
53432         * tests/test-mbsinit.c: New file.
53433
53434 2008-12-18  Bruno Haible  <bruno@clisp.org>
53435
53436         * modules/mbrtowc-tests: New file.
53437         * tests/test-mbrtowc1.sh: New file.
53438         * tests/test-mbrtowc2.sh: New file.
53439         * tests/test-mbrtowc3.sh: New file.
53440         * tests/test-mbrtowc4.sh: New file.
53441         * tests/test-mbrtowc.c: New file.
53442
53443         New module 'mbrtowc'.
53444         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53445         mbsinit and mbrtowc.
53446         (mbrtowc): New declaration.
53447         * lib/mbrtowc.c: New file.
53448         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53449         * modules/mbrtowc: New file.
53450         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53451         HAVE_MBRTOWC.
53452         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53453         HAVE_MBRTOWC.
53454         * doc/posix-functions/mbrtowc.texi: Document the new module.
53455
53456 2008-12-18  Bruno Haible  <bruno@clisp.org>
53457
53458         New module 'wctob'.
53459         * lib/wchar.in.h (wctob): New declaration.
53460         * lib/wctob.c: New file.
53461         * m4/wctob.m4: New file.
53462         * modules/wctob: New file.
53463         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53464         HAVE_WCTOB.
53465         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53466         * doc/posix-functions/wctob.texi: Document the new module.
53467
53468 2008-12-18  Bruno Haible  <bruno@clisp.org>
53469
53470         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53471         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53472
53473 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53474
53475         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53476         G. Christensen" <tgc@jupiterrise.com>.
53477
53478         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53479         G. Christensen" <tgc@jupiterrise.com>.
53480
53481         * lib/flock.c: Need to include string.h.  Reported by "Tom
53482         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53483         <ebb9@byu.net>.
53484
53485 2008-12-18  Bruno Haible  <bruno@clisp.org>
53486
53487         * m4/locale-ja.m4: New file, from GNU gettext.
53488
53489 2008-12-17  Bruno Haible  <bruno@clisp.org>
53490
53491         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53492         Suggested by Eric Blake.
53493
53494 2008-12-17  Bruno Haible  <bruno@clisp.org>
53495
53496         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53497
53498 2008-12-17  Bruno Haible  <bruno@clisp.org>
53499
53500         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53501         * modules/mbsinit (Depends-on): Add verify.
53502         Suggested by Paul Eggert.
53503
53504 2008-12-17  Bruno Haible  <bruno@clisp.org>
53505
53506         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53507         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53508         gl_FUNC_MBRTOWC.
53509         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53510         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53511         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53512         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53513         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53514         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53515         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53516         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53517         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53518         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53519         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53520         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53521         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53522         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53523         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53524         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53525         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53526         * modules/trim (configure.ac): Likewise.
53527
53528 2008-12-17  Bruno Haible  <bruno@clisp.org>
53529
53530         * modules/btowc-tests: New file.
53531         * tests/test-btowc1.sh: New file.
53532         * tests/test-btowc2.sh: New file.
53533         * tests/test-btowc.c: New file.
53534
53535         New module 'btowc'.
53536         * lib/wchar.in.h (btowc): New declaration.
53537         * lib/btowc.c: New file.
53538         * m4/btowc.m4: New file.
53539         * modules/btowc: New file.
53540         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53541         HAVE_BTOWC.
53542         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53543         * doc/posix-functions/btowc.texi: Document the new module.
53544
53545 2008-12-17  Bruno Haible  <bruno@clisp.org>
53546
53547         New module 'mbsinit'.
53548         * lib/wchar.in.h (mbsinit): New declaration.
53549         * lib/mbsinit.c: New file.
53550         * m4/mbsinit.m4: New file.
53551         * modules/mbsinit: New file.
53552         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53553         HAVE_MBSINIT.
53554         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53555         HAVE_MBSINIT.
53556         * doc/posix-functions/mbsinit.texi: Document the new module.
53557
53558 2008-12-16  Bruno Haible  <bruno@clisp.org>
53559
53560         * lib/unistd.in.h: Add comment.
53561         * tests/test-environ.c: Don't include <stdlib.h>.
53562
53563 2008-12-16  Bruno Haible  <bruno@clisp.org>
53564
53565         * lib/parse-duration.h (parse_duration): Document return value
53566         convention.
53567         * lib/parse-duration.c: Include specification header first. Add
53568         comments.
53569         (_): Remove macro.
53570         (parse_year_month_day, parse_hour_minute_second): Move side effects
53571         outside of strchr call.
53572         (parse_non_iso8601): Move side effects outside of isspace call.
53573         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53574         call.
53575
53576 2008-12-16  Bruno Haible  <bruno@clisp.org>
53577
53578         * tests/test-parse-duration.sh: Produce no output when the test
53579         succeeds.
53580
53581 2008-12-16  Bruno Haible  <bruno@clisp.org>
53582
53583         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53584         expressions.
53585
53586 2008-12-15  Bruno Haible  <bruno@clisp.org>
53587
53588         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53589         * doc/glibc-functions/flistxattr.texi: Likewise.
53590         * doc/glibc-functions/fopencookie.texi: Likewise.
53591         * doc/glibc-functions/fremovexattr.texi: Likewise.
53592         * doc/glibc-functions/fsetxattr.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/removexattr.texi: Likewise.
53600         * doc/glibc-functions/setxattr.texi: Likewise.
53601         * doc/posix-functions/open_memstream.texi: Likewise.
53602
53603 2008-12-15  Eric Blake  <ebb9@byu.net>
53604
53605         Update doc for cygwin 1.7.
53606         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53607         functions.
53608         * doc/posix-functions/fchmodat.texi: Likewise.
53609         * doc/posix-functions/fchownat.texi: Likewise.
53610         * doc/posix-functions/fdopendir.texi: Likewise.
53611         * doc/posix-functions/fmemopen.texi: Likewise.
53612         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53613         * doc/posix-functions/fstatat.texi: Likewise.
53614         * doc/posix-functions/futimens.texi: Likewise.
53615         * doc/posix-functions/gai_strerror.texi: Likewise.
53616         * doc/posix-functions/getaddrinfo.texi: Likewise.
53617         * doc/posix-functions/getnameinfo.texi: Likewise.
53618         * doc/posix-functions/if_freenameindex.texi: Likewise.
53619         * doc/posix-functions/if_indextoname.texi: Likewise.
53620         * doc/posix-functions/if_nameindex.texi: Likewise.
53621         * doc/posix-functions/if_nametoindex.texi: Likewise.
53622         * doc/posix-functions/insque.texi: Likewise.
53623         * doc/posix-functions/linkat.texi: Likewise.
53624         * doc/posix-functions/llrint.texi: Likewise.
53625         * doc/posix-functions/llrintf.texi: Likewise.
53626         * doc/posix-functions/llrintl.texi: Likewise.
53627         * doc/posix-functions/lockf.texi: Likewise.
53628         * doc/posix-functions/lrintl.texi: Likewise.
53629         * doc/posix-functions/mkdirat.texi: Likewise.
53630         * doc/posix-functions/mkfifoat.texi: Likewise.
53631         * doc/posix-functions/mknodat.texi: Likewise.
53632         * doc/posix-functions/mq_close.texi: Likewise.
53633         * doc/posix-functions/mq_getattr.texi: Likewise.
53634         * doc/posix-functions/mq_notify.texi: Likewise.
53635         * doc/posix-functions/mq_open.texi: Likewise.
53636         * doc/posix-functions/mq_receive.texi: Likewise.
53637         * doc/posix-functions/mq_send.texi: Likewise.
53638         * doc/posix-functions/mq_setattr.texi: Likewise.
53639         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53640         * doc/posix-functions/mq_timedsend.texi: Likewise.
53641         * doc/posix-functions/mq_unlink.texi: Likewise.
53642         * doc/posix-functions/open_memstream.texi: Likewise.
53643         * doc/posix-functions/openat.texi: Likewise.
53644         * doc/posix-functions/posix_fadvise.texi: Likewise.
53645         * doc/posix-functions/posix_fallocate.texi: Likewise.
53646         * doc/posix-functions/posix_madvise.texi: Likewise.
53647         * doc/posix-functions/posix_memalign.texi: Likewise.
53648         * doc/posix-functions/posix_openpt.texi: Likewise.
53649         * doc/posix-functions/readlinkat.texi: Likewise.
53650         * doc/posix-functions/remque.texi: Likewise.
53651         * doc/posix-functions/renameat.texi: Likewise.
53652         * doc/posix-functions/rintl.texi: Likewise.
53653         * doc/posix-functions/sem_unlink.texi: Likewise.
53654         * doc/posix-functions/shm_open.texi: Likewise.
53655         * doc/posix-functions/shm_unlink.texi: Likewise.
53656         * doc/posix-functions/signgam.texi: Likewise.
53657         * doc/posix-functions/sigset.texi: Likewise.
53658         * doc/posix-functions/stpcpy.texi: Likewise.
53659         * doc/posix-functions/stpncpy.texi: Likewise.
53660         * doc/posix-functions/strerror.texi: Likewise.
53661         * doc/posix-functions/strtod.texi: Likewise.
53662         * doc/posix-functions/symlinkat.texi: Likewise.
53663         * doc/posix-functions/unlinkat.texi: Likewise.
53664         * doc/posix-functions/utimensat.texi: Likewise.
53665         * doc/glibc-functions/bindresvport.texi: Likewise.
53666         * doc/glibc-functions/dn_expand.texi: Likewise.
53667         * doc/glibc-functions/exp10.texi: Likewise.
53668         * doc/glibc-functions/exp10f.texi: Likewise.
53669         * doc/glibc-functions/fgetxattr.texi: Likewise.
53670         * doc/glibc-functions/flistxattr.texi: Likewise.
53671         * doc/glibc-functions/fopencookie.texi: Likewise.
53672         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53673         * doc/glibc-functions/fremovexattr.texi: Likewise.
53674         * doc/glibc-functions/fsetxattr.texi: Likewise.
53675         * doc/glibc-functions/getifaddrs.texi: Likewise.
53676         * doc/glibc-functions/getxattr.texi: Likewise.
53677         * doc/glibc-functions/lgetxattr.texi: Likewise.
53678         * doc/glibc-functions/listxattr.texi: Likewise.
53679         * doc/glibc-functions/llistxattr.texi: Likewise.
53680         * doc/glibc-functions/lremovexattr.texi: Likewise.
53681         * doc/glibc-functions/lsetxattr.texi: Likewise.
53682         * doc/glibc-functions/pow10.texi: Likewise.
53683         * doc/glibc-functions/pow10f.texi: Likewise.
53684         * doc/glibc-functions/rcmd_af.texi: Likewise.
53685         * doc/glibc-functions/removexattr.texi: Likewise.
53686         * doc/glibc-functions/res_init.texi: Likewise.
53687         * doc/glibc-functions/res_mkquery.texi: Likewise.
53688         * doc/glibc-functions/res_query.texi: Likewise.
53689         * doc/glibc-functions/res_querydomain.texi: Likewise.
53690         * doc/glibc-functions/res_send.texi: Likewise.
53691         * doc/glibc-functions/rresvport_af.texi: Likewise.
53692         * doc/glibc-functions/setxattr.texi: Likewise.
53693         * doc/glibc-functions/strcasestr.texi: Likewise.
53694
53695 2008-12-15  Bruno Haible  <bruno@clisp.org>
53696
53697         Fix compilation error on OSF/1 4.0.
53698         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53699         <sys/time.h>, simply delegate to the system header.
53700         Reported by Daniel Richard G. <oss@teragram.com>.
53701
53702 2008-12-15  Bruno Haible  <bruno@clisp.org>
53703
53704         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53705         * doc/posix-functions/fchmodat.texi: Likewise.
53706         * doc/posix-functions/fchownat.texi: Likewise.
53707         * doc/posix-functions/fdopendir.texi: Likewise.
53708         * doc/posix-functions/fstatat.texi: Likewise.
53709         * doc/posix-functions/mkdirat.texi: Likewise.
53710         * doc/posix-functions/unlinkat.texi: Likewise.
53711
53712 2008-12-14  Bruno Haible  <bruno@clisp.org>
53713
53714         Update doc for POSIX:2008.
53715         * doc/posix-functions/faccessat.texi: New file.
53716         * doc/posix-functions/fchmodat.texi: New file.
53717         * doc/posix-functions/fchownat.texi: New file.
53718         * doc/posix-functions/fdopendir.texi: New file.
53719         * doc/posix-functions/fstatat.texi: New file.
53720         * doc/posix-functions/futimens.texi: New file.
53721         * doc/posix-functions/linkat.texi: New file.
53722         * doc/posix-functions/mkdirat.texi: New file.
53723         * doc/posix-functions/mkfifoat.texi: New file.
53724         * doc/posix-functions/mknodat.texi: New file.
53725         * doc/posix-functions/open_wmemstream.texi: New file.
53726         * doc/posix-functions/openat.texi: New file.
53727         * doc/posix-functions/psiginfo.texi: New file.
53728         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53729         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53730         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53731         * doc/posix-functions/readlinkat.texi: New file.
53732         * doc/posix-functions/renameat.texi: New file.
53733         * doc/posix-functions/strerror_l.texi: New file.
53734         * doc/posix-functions/symlinkat.texi: New file.
53735         * doc/posix-functions/unlinkat.texi: New file.
53736         * doc/posix-functions/utimensat.texi: New file.
53737         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53738
53739 2008-12-14  Bruno Haible  <bruno@clisp.org>
53740
53741         Update doc for POSIX:2008.
53742         * doc/posix-functions/alphasort.texi: Renamed from
53743         doc/glibc-functions/alphasort.texi.
53744         * doc/posix-functions/dirfd.texi: Renamed from
53745         doc/glibc-functions/dirfd.texi.
53746         * doc/posix-functions/dprintf.texi: Renamed from
53747         doc/glibc-functions/dprintf.texi.
53748         * doc/posix-functions/duplocale.texi: Renamed from
53749         doc/glibc-functions/duplocale.texi.
53750         * doc/posix-functions/fexecve.texi: Renamed from
53751         doc/glibc-functions/fexecve.texi.
53752         * doc/posix-functions/fmemopen.texi: Renamed from
53753         doc/glibc-functions/fmemopen.texi.
53754         * doc/posix-functions/freelocale.texi: Renamed from
53755         doc/glibc-functions/freelocale.texi.
53756         * doc/posix-functions/getdate_err.texi: Renamed from
53757         doc/glibc-functions/getdate_err.texi.
53758         * doc/posix-functions/isalnum_l.texi: Renamed from
53759         doc/glibc-functions/isalnum_l.texi.
53760         * doc/posix-functions/isalpha_l.texi: Renamed from
53761         doc/glibc-functions/isalpha_l.texi.
53762         * doc/posix-functions/isblank_l.texi: Renamed from
53763         doc/glibc-functions/isblank_l.texi.
53764         * doc/posix-functions/iscntrl_l.texi: Renamed from
53765         doc/glibc-functions/iscntrl_l.texi.
53766         * doc/posix-functions/isdigit_l.texi: Renamed from
53767         doc/glibc-functions/isdigit_l.texi.
53768         * doc/posix-functions/isgraph_l.texi: Renamed from
53769         doc/glibc-functions/isgraph_l.texi.
53770         * doc/posix-functions/islower_l.texi: Renamed from
53771         doc/glibc-functions/islower_l.texi.
53772         * doc/posix-functions/isprint_l.texi: Renamed from
53773         doc/glibc-functions/isprint_l.texi.
53774         * doc/posix-functions/ispunct_l.texi: Renamed from
53775         doc/glibc-functions/ispunct_l.texi.
53776         * doc/posix-functions/isspace_l.texi: Renamed from
53777         doc/glibc-functions/isspace_l.texi.
53778         * doc/posix-functions/isupper_l.texi: Renamed from
53779         doc/glibc-functions/isupper_l.texi.
53780         * doc/posix-functions/iswalnum_l.texi: Renamed from
53781         doc/glibc-functions/iswalnum_l.texi.
53782         * doc/posix-functions/iswalpha_l.texi: Renamed from
53783         doc/glibc-functions/iswalpha_l.texi.
53784         * doc/posix-functions/iswblank_l.texi: Renamed from
53785         doc/glibc-functions/iswblank_l.texi.
53786         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53787         doc/glibc-functions/iswcntrl_l.texi.
53788         * doc/posix-functions/iswctype_l.texi: Renamed from
53789         doc/glibc-functions/iswctype_l.texi.
53790         * doc/posix-functions/iswdigit_l.texi: Renamed from
53791         doc/glibc-functions/iswdigit_l.texi.
53792         * doc/posix-functions/iswgraph_l.texi: Renamed from
53793         doc/glibc-functions/iswgraph_l.texi.
53794         * doc/posix-functions/iswlower_l.texi: Renamed from
53795         doc/glibc-functions/iswlower_l.texi.
53796         * doc/posix-functions/iswprint_l.texi: Renamed from
53797         doc/glibc-functions/iswprint_l.texi.
53798         * doc/posix-functions/iswpunct_l.texi: Renamed from
53799         doc/glibc-functions/iswpunct_l.texi.
53800         * doc/posix-functions/iswspace_l.texi: Renamed from
53801         doc/glibc-functions/iswspace_l.texi.
53802         * doc/posix-functions/iswupper_l.texi: Renamed from
53803         doc/glibc-functions/iswupper_l.texi.
53804         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53805         doc/glibc-functions/iswxdigit_l.texi.
53806         * doc/posix-functions/isxdigit_l.texi: Renamed from
53807         doc/glibc-functions/isxdigit_l.texi.
53808         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53809         doc/glibc-functions/mbsnrtowcs.texi.
53810         * doc/posix-functions/mkdtemp.texi: Renamed from
53811         doc/glibc-functions/mkdtemp.texi.
53812         * doc/posix-functions/newlocale.texi: Renamed from
53813         doc/glibc-functions/newlocale.texi.
53814         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53815         doc/glibc-functions/nl_langinfo_l.texi.
53816         * doc/posix-functions/open_memstream.texi: Renamed from
53817         doc/glibc-functions/open_memstream.texi.
53818         * doc/posix-functions/opterr.texi: Renamed from
53819         doc/glibc-functions/opterr.texi.
53820         * doc/posix-functions/optind.texi: Renamed from
53821         doc/glibc-functions/optind.texi.
53822         * doc/posix-functions/optopt.texi: Renamed from
53823         doc/glibc-functions/optopt.texi.
53824         * doc/posix-functions/psignal.texi: Renamed from
53825         doc/glibc-functions/psignal.texi.
53826         * doc/posix-functions/scandir.texi: Renamed from
53827         doc/glibc-functions/scandir.texi.
53828         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53829         doc/glibc-functions/sched_get_priority_min.texi.
53830         * doc/posix-functions/signgam.texi: Renamed from
53831         doc/glibc-functions/signgam.texi.
53832         * doc/posix-functions/stpcpy.texi: Renamed from
53833         doc/glibc-functions/stpcpy.texi.
53834         * doc/posix-functions/stpncpy.texi: Renamed from
53835         doc/glibc-functions/stpncpy.texi.
53836         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53837         doc/glibc-functions/strcasecmp_l.texi.
53838         * doc/posix-functions/strcoll_l.texi: Renamed from
53839         doc/glibc-functions/strcoll_l.texi.
53840         * doc/posix-functions/strfmon_l.texi: Renamed from
53841         doc/glibc-functions/strfmon_l.texi.
53842         * doc/posix-functions/strftime_l.texi: Renamed from
53843         doc/glibc-functions/strftime_l.texi.
53844         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53845         doc/glibc-functions/strncasecmp_l.texi.
53846         * doc/posix-functions/strndup.texi: Renamed from
53847         doc/glibc-functions/strndup.texi.
53848         * doc/posix-functions/strnlen.texi: Renamed from
53849         doc/glibc-functions/strnlen.texi.
53850         * doc/posix-functions/strsignal.texi: Renamed from
53851         doc/glibc-functions/strsignal.texi.
53852         * doc/posix-functions/strxfrm_l.texi: Renamed from
53853         doc/glibc-functions/strxfrm_l.texi.
53854         * doc/posix-functions/timer_gettime.texi: Renamed from
53855         doc/glibc-functions/timer_gettime.texi.
53856         * doc/posix-functions/tolower_l.texi: Renamed from
53857         doc/glibc-functions/tolower_l.texi.
53858         * doc/posix-functions/toupper_l.texi: Renamed from
53859         doc/glibc-functions/toupper_l.texi.
53860         * doc/posix-functions/towctrans_l.texi: Renamed from
53861         doc/glibc-functions/towctrans_l.texi.
53862         * doc/posix-functions/towlower_l.texi: Renamed from
53863         doc/glibc-functions/towlower_l.texi.
53864         * doc/posix-functions/towupper_l.texi: Renamed from
53865         doc/glibc-functions/towupper_l.texi.
53866         * doc/posix-functions/uselocale.texi: Renamed from
53867         doc/glibc-functions/uselocale.texi.
53868         * doc/posix-functions/vdprintf.texi: Renamed from
53869         doc/glibc-functions/vdprintf.texi.
53870         * doc/posix-functions/wcpcpy.texi:
53871         Renamed from doc/glibc-functions/wcpcpy.texi.
53872         * doc/posix-functions/wcpncpy.texi: Renamed from
53873         doc/glibc-functions/wcpncpy.texi.
53874         * doc/posix-functions/wcscasecmp.texi: Renamed from
53875         doc/glibc-functions/wcscasecmp.texi.
53876         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53877         doc/glibc-functions/wcscasecmp_l.texi.
53878         * doc/posix-functions/wcscoll_l.texi: Renamed from
53879         doc/glibc-functions/wcscoll_l.texi.
53880         * doc/posix-functions/wcsdup.texi: Renamed from
53881         doc/glibc-functions/wcsdup.texi.
53882         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53883         doc/glibc-functions/wcsncasecmp.texi.
53884         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53885         doc/glibc-functions/wcsncasecmp_l.texi.
53886         * doc/posix-functions/wcsnlen.texi: Renamed from
53887         doc/glibc-functions/wcsnlen.texi.
53888         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53889         doc/glibc-functions/wcsnrtombs.texi.
53890         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53891         doc/glibc-functions/wcsxfrm_l.texi.
53892         * doc/posix-functions/wctrans_l.texi: Renamed from
53893         doc/glibc-functions/wctrans_l.texi.
53894         * doc/posix-functions/wctype_l.texi: Renamed from
53895         doc/glibc-functions/wctype_l.texi.
53896         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53897         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53898         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53899         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53900         these subsections.
53901         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53902         Remove sections.
53903
53904 2008-12-14  Bruno Haible  <bruno@clisp.org>
53905
53906         Update doc for POSIX:2008.
53907         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53908
53909 2008-12-14  Bruno Haible  <bruno@clisp.org>
53910
53911         Update doc for POSIX:2008.
53912         * doc/pastposix-functions/bcmp.texi: Renamed from
53913         doc/posix-functions/bcmp.texi.
53914         * doc/pastposix-functions/bcopy.texi: Renamed from
53915         doc/posix-functions/bcopy.texi.
53916         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53917         doc/posix-functions/bsd_signal.texi.
53918         * doc/pastposix-functions/bzero.texi: Renamed from
53919         doc/posix-functions/bzero.texi.
53920         * doc/pastposix-functions/ecvt.texi: Renamed from
53921         doc/posix-functions/ecvt.texi.
53922         * doc/pastposix-functions/fcvt.texi: Renamed from
53923         doc/posix-functions/fcvt.texi.
53924         * doc/pastposix-functions/ftime.texi: Renamed from
53925         doc/posix-functions/ftime.texi.
53926         * doc/pastposix-functions/gcvt.texi: Renamed from
53927         doc/posix-functions/gcvt.texi.
53928         * doc/pastposix-functions/getcontext.texi: Renamed from
53929         doc/posix-functions/getcontext.texi.
53930         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53931         doc/posix-functions/gethostbyaddr.texi.
53932         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53933         doc/posix-functions/gethostbyname.texi.
53934         * doc/pastposix-functions/getwd.texi: Renamed from
53935         doc/posix-functions/getwd.texi.
53936         * doc/pastposix-functions/h_errno.texi: Renamed from
53937         doc/posix-functions/h_errno.texi.
53938         * doc/pastposix-functions/index.texi: Renamed from
53939         doc/posix-functions/index.texi.
53940         * doc/pastposix-functions/makecontext.texi: Renamed from
53941         doc/posix-functions/makecontext.texi.
53942         * doc/pastposix-functions/mktemp.texi: Renamed from
53943         doc/posix-functions/mktemp.texi.
53944         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53945         doc/posix-functions/pthread_attr_getstackaddr.texi.
53946         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53947         doc/posix-functions/pthread_attr_setstackaddr.texi.
53948         * doc/pastposix-functions/rindex.texi: Renamed from
53949         doc/posix-functions/rindex.texi.
53950         * doc/pastposix-functions/scalb.texi: Renamed from
53951         doc/posix-functions/scalb.texi.
53952         * doc/pastposix-functions/setcontext.texi: Renamed from
53953         doc/posix-functions/setcontext.texi.
53954         * doc/pastposix-functions/swapcontext.texi: Renamed from
53955         doc/posix-functions/swapcontext.texi.
53956         * doc/pastposix-functions/ualarm.texi: Renamed from
53957         doc/posix-functions/ualarm.texi.
53958         * doc/pastposix-functions/usleep.texi: Renamed from
53959         doc/posix-functions/usleep.texi.
53960         * doc/pastposix-functions/vfork.texi: Renamed from
53961         doc/posix-functions/vfork.texi.
53962         * doc/pastposix-functions/wcswcs.texi: Renamed from
53963         doc/posix-functions/wcswcs.texi.
53964         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53965         (Function Substitutes): Update.
53966
53967 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53968
53969         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53970         m4/strerror.m4.
53971
53972 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53973             Bruno Haible  <bruno@clisp.org>
53974
53975         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53976
53977 2008-12-13  Bruno Haible  <bruno@clisp.org>
53978
53979         * modules/strtoull (Depends-on): Remove unistd.
53980
53981 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53982
53983         * modules/strtoull (Depends-on): Add stdlib.
53984
53985 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53986
53987         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53988
53989 2008-12-10  Jim Meyering  <meyering@redhat.com>
53990
53991         gl_ASSERT: don't say assertions are disabled when they're not
53992         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53993         "checking whether to enable assertions... no", when they are in
53994         fact enabled.  This is solely a bug in the output of configure.
53995         In spite of saying "no", NDEBUG was not defined in that case.
53996         Also, as noted by Eric Blake, leave assertions enabled upon
53997         --enable-assert=INVALID.
53998
53999 2008-12-10  Bruno Haible  <bruno@clisp.org>
54000
54001         Change MODULES.html to refer to POSIX:2008 where possible.
54002         * MODULES.html.sh (POSIX2008_URL): New variable.
54003         (posix_headers): Remove sys/timeb, ucontext.
54004         (posix2001_headers): New variable.
54005         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54006         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54007         index, makecontext, mktemp, pthread_attr_getstackaddr,
54008         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54009         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54010         (posix2001_functions): New variable.
54011         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54012         otherwise.
54013
54014 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54015
54016         add missing include to parse-duration.c
54017         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54018         * modules/parse-duration (Depends-on): Add xalloc.
54019
54020         fix sed script reading maint.mk
54021         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54022         (syntax-check-rules): Use it.
54023
54024 2008-12-09  Bruno Haible  <bruno@clisp.org>
54025
54026         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54027         MacOS X 10.4/PowerPC.
54028         Reported by Simon Josefsson.
54029
54030 2008-12-08  Jim Meyering  <meyering@redhat.com>
54031
54032         work around mingw's lack of some S_IF definitions
54033         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54034         Reported by Simon Josefsson.
54035
54036 2008-12-08  Bruno Haible  <bruno@clisp.org>
54037
54038         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54039         applied to variables. Needed on MacOS X 10.4/PowerPC.
54040         Reported by Simon Josefsson.
54041
54042 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54043         and Eric Blake  <ebb9@byu.net>
54044
54045         assert: honor --enable-assert
54046         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54047         order to honor --enable-assert, rather than treating it as a
54048         synonym for --disable-assert.
54049
54050 2008-12-08  Jim Meyering  <meyering@redhat.com>
54051
54052         * lib/posixtm.c: Remove now-useless declaration of mktime.
54053
54054         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54055
54056 2008-12-07  Bruno Haible  <bruno@clisp.org>
54057
54058         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54059         test_once): Mark functions as static.
54060         * tests/test-tls.c (test_tls): Likewise.
54061
54062 2008-12-07  Bruno Haible  <bruno@clisp.org>
54063
54064         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54065         iconv_register_autodetect.
54066
54067 2008-12-07  Jim Meyering  <meyering@redhat.com>
54068
54069         posixtm.c: avoid a warning
54070         * lib/posixtm.c (posixtime): Don't initialize tm0.
54071         It's no longer needed to placate gcc4's -Wuninitialized,
54072         and the attempt to placate would elicit a new warning.
54073
54074         unicodeio.c: mark unused parameters
54075         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54076         (fallback_failure_callback): Likewise.
54077
54078 2008-12-07  Bruno Haible  <bruno@clisp.org>
54079
54080         * gnulib-tool (func_create_testdir): When building the tests
54081         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
54082         Reported by Simon Josefsson.
54083
54084 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54085
54086         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54087
54088 2008-12-06  Bruno Haible  <bruno@clisp.org>
54089
54090         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54091         Suggested by Eric Blake.
54092
54093 2008-12-06  Bruno Haible  <bruno@clisp.org>
54094
54095         Fix a c-stack test failure on MacOS X.
54096         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54097         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54098         handler for SIGBUS as well.
54099         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54100         install a signal handler for SIGBUS as well.
54101         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54102
54103 2008-12-06  Bruno Haible  <bruno@clisp.org>
54104
54105         Advocacy documentation.
54106         * doc/gnulib-intro.texi (Benefits): New section.
54107         * doc/gnulib.texi: Update.
54108
54109 2008-12-06  Bruno Haible  <bruno@clisp.org>
54110
54111         Document the 'manywarnings' module.
54112         * doc/manywarnings.texi: New file.
54113         * doc/gnulib.texi: Include it.
54114
54115 2008-12-05  Eric Blake  <ebb9@byu.net>
54116
54117         tests: silence some gcc warnings
54118         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54119         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54120         type mismatches.
54121
54122 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54123             Bruno Haible  <bruno@clisp.org>
54124
54125         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54126
54127 2008-11-29  Jim Meyering  <meyering@redhat.com>
54128
54129         unicodeio.c: mark unused parameters
54130         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54131         (fallback_failure_callback): Likewise.
54132
54133         fts: fix a thinko
54134         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54135         (set_stat_type): Return S_IF*-valued "type" directly.
54136         Prompted by James Youngman's spotting a related bug.
54137         Confirmed by further testing through find.
54138
54139         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54140         * lib/fts.c (D_TYPE): Define.
54141         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54142         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54143         (s_ifmt_shift_bits): New function.
54144         (set_stat_type): New function.
54145         (fts_build): When not calling fts_stat, call set_stat_type
54146         to propagate dirent.d_type info to fts_read caller.
54147         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54148         fts_statp->st_mode type information may be valid.
54149
54150 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54151
54152         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54153         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54154         <sds@gnu.org>.
54155
54156 2008-11-20  Bruno Haible  <bruno@clisp.org>
54157
54158         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54159         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54160         INCLUDE_NEXT.
54161         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54162         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54163         * modules/math (Makefile.am): Substitute
54164         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54165         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54166
54167 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54168             Bruno Haible  <bruno@clisp.org>
54169
54170         * lib/stdint.in.h: Define all type macros so that their expansion is
54171         a single typedef'ed token. Fixes a compilation failure in Boost which
54172         does "using ::int8_t;".
54173
54174 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54175
54176         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54177         gl_MANYWARN_ALL_GCC.
54178         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54179         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54180         * modules/manywarnings: New file.
54181         * MODULES.html.sh: Mention manywarnings module.
54182
54183 2008-11-18  Bruno Haible  <bruno@clisp.org>
54184
54185         * doc/gnulib-tool.texi (Unit tests): New section.
54186
54187 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54188
54189         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54190         paths like 'lib/po/foo.po'.
54191
54192 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54193
54194         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54195         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54196
54197 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54198
54199         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54200         parameter works.
54201
54202 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54203
54204         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54205
54206 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54207
54208         * modules/parse-duration-tests: New file.
54209         * tests/test-parse-duration.sh: New file.
54210         * tests/test-parse-duration.c: New file.
54211
54212         New module 'parse-duration'.
54213         * lib/parse-duration.h: New file.
54214         * lib/parse-duration.c: New file.
54215         * modules/parse-duration: New file.
54216
54217 2008-11-17  Bruno Haible  <bruno@clisp.org>
54218
54219         * tests/test-select-out.sh: Comment out the first pipe test.
54220         Reported by Simon Josefsson.
54221
54222 2008-11-17  Bruno Haible  <bruno@clisp.org>
54223
54224         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54225         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54226         gl_HOSTENT.
54227
54228 2008-11-17  Bruno Haible  <bruno@clisp.org>
54229
54230         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54231         -lnetwork and -lnet. Needed for Haiku and BeOS.
54232
54233 2008-11-16  Bruno Haible  <bruno@clisp.org>
54234
54235         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54236
54237 2008-11-16  Bruno Haible  <bruno@clisp.org>
54238
54239         Avoid test failure on Haiku.
54240         * tests/test-fsync.c: Include <errno.h>.
54241         (main): Don't require that fsync (0) fails.
54242
54243 2008-11-15  Bruno Haible  <bruno@clisp.org>
54244
54245         New module 'hostent'.
54246         * modules/hostent: New file.
54247         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54248
54249 2008-11-15  Bruno Haible  <bruno@clisp.org>
54250
54251         New module 'servent'.
54252         * modules/servent: New file.
54253         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54254
54255 2008-11-15  Bruno Haible  <bruno@clisp.org>
54256
54257         Avoid generating same test program with two different rules.
54258         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54259         test-frexp to test-frexp-nolibm.
54260         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54261         test-frexpl to test-frexpl-nolibm.
54262
54263 2008-11-15  Bruno Haible  <bruno@clisp.org>
54264
54265         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54266         $(FREXPL_LIBM).
54267
54268 2008-11-15  Bruno Haible  <bruno@clisp.org>
54269
54270         * lib/netdb.in.h: Activate the definitions also when the system's
54271         <netdb.h> has 'struct addrinfo'.
54272         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54273         EAI_OVERFLOW or AI_NUMERICSERV.
54274         * doc/posix-headers/netdb.texi: Document the problem.
54275
54276 2008-11-15  Bruno Haible  <bruno@clisp.org>
54277
54278         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54279
54280         Make the 'sched' module work on platforms where <sched.h> exists but
54281         is incomplete (such as Haiku).
54282         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54283         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54284         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54285         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54286         HAVE_STRUCT_SCHED_PARAM.
54287         * modules/sched (Depends-on): Add include_next.
54288         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54289         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54290         * doc/posix-headers/sched.texi: Document the issue.
54291
54292 2008-11-13  Jim Meyering  <meyering@redhat.com>
54293
54294         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54295         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54296         test would fail due to the difference in the Report bugs to ...
54297         line.  The expected address is empty, "<>", while the actual
54298         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54299
54300 2008-11-12  Bruno Haible  <bruno@clisp.org>
54301
54302         lstat: don't compile lstat.c on systems lacking lstat
54303         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54304         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54305         Reported by Daniel P. Berrange via Jim Meyering.
54306
54307 2008-11-12  Jim Meyering  <meyering@redhat.com>
54308
54309         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54310
54311 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54312
54313         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54314         instead.
54315
54316 2008-11-12  Bruno Haible  <bruno@clisp.org>
54317
54318         * lib/unicodeio.c: Include unistr.h.
54319         (utf8_wctomb): Remove function.
54320         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54321
54322 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54323
54324         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54325         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54326         <bruno@clisp.org>.
54327         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54328
54329 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54330
54331         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54332         * doc/gnulib.texi: Add section for warnings.
54333
54334 2008-11-11  Bruno Haible  <bruno@clisp.org>
54335
54336         * lib/sockets.h: Add a comment.
54337
54338 2008-11-11  Karl Berry  <karl@gnu.org>
54339
54340         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54341
54342 2008-11-11  Eric Blake  <ebb9@byu.net>
54343
54344         fdl.texi: avoid git symlinks
54345         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54346
54347 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54348
54349         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54350
54351 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54352
54353         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54354         (gl_WARN_ADD): Substitute $2 if literal.
54355
54356 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54357
54358         * m4/warning.m4: Remove.
54359
54360 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54361
54362         * m4/warnings.m4: Almost complete rewrite. :-)
54363
54364 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54365
54366         * modules/warnings: New module.
54367         * m4/warnings.m4: New file.
54368         * MODULES.html.sh: Mention warnings module.
54369         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54370         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54371
54372 2008-11-10  Eric Blake  <ebb9@byu.net>
54373
54374         fdl.texi: make a symlink to the latest version
54375         * doc/standards.texi: Revert today's earlier change.
54376         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54377         * doc/fdl.texi: ...and replace this with a symlink to the newer
54378         fdl-1.3.texi.
54379
54380 2008-11-10  Bruno Haible  <bruno@clisp.org>
54381
54382         * tests/test-select-fd.c (main): Accept the result file name as fourth
54383         argument.
54384         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54385         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54386
54387 2008-11-10  Bruno Haible  <bruno@clisp.org>
54388
54389         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54390         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54391         as autoconf-substituted macros.
54392         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54393         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54394         gl_NETDB_H_DEFAULTS. Set these variables.
54395         * modules/netdb (Makefile.am): Substitute these variables.
54396
54397 2008-11-10  Eric Blake  <ebb9@byu.net>
54398
54399         standards.texi: include correct file for FDL 1.3
54400         * doc/standards.texi (GNU Free Documentation License): Change
54401         include file to pull in FDL 1.3, not 1.2.
54402
54403         fdl.texi: revert accidental change to license
54404         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54405
54406 2008-11-10  Bruno Haible  <bruno@clisp.org>
54407
54408         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54409         cross-compiling guesses also when the native compile gives no result.
54410
54411 2008-11-10  Bruno Haible  <bruno@clisp.org>
54412
54413         * lib/spawni.c (__spawni): Force variable into the stack.
54414
54415 2008-11-10  Bruno Haible  <bruno@clisp.org>
54416
54417         Add support for Haiku.
54418         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54419         glibc and BeOS, but also on Haiku.
54420         * lib/fpurge.c (fpurge): Likewise.
54421         * lib/freadable.c (freadable): Likewise.
54422         * lib/freadahead.c (freadahead): Likewise.
54423         * lib/freading.c (freading): Likewise.
54424         * lib/freadptr.c (freadptr): Likewise.
54425         * lib/freadseek.c (freadptrinc): Likewise.
54426         * lib/fseeko.c (rpl_fseeko): Likewise.
54427         * lib/fseterr.c (fseterr): Likewise.
54428         * lib/fwritable.c (fwritable): Likewise.
54429         * lib/fwriting.c (fwriting): Likewise.
54430         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54431
54432 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54433
54434         * lib/config.charset: Treat Haiku like BeOS.
54435
54436 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54437
54438         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54439         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54440
54441 2008-11-08  Bruno Haible  <bruno@clisp.org>
54442
54443         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54444         AC_CACHE_CHECK.
54445
54446 2008-11-08  Bruno Haible  <bruno@clisp.org>
54447
54448         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54449
54450 2008-11-08  Bruno Haible  <bruno@clisp.org>
54451
54452         * tests/test-select-fd.c: New file.
54453         * tests/test-select-in.sh: New file.
54454         * tests/test-select-out.sh: New file.
54455         * tests/test-select-stdin.c: New file.
54456         * modules/select-tests (Files): Add the new files.
54457         (Depends-on): Add gettimeofday.
54458         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54459         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54460         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54461
54462 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54463             Bruno Haible  <bruno@clisp.org>
54464
54465         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54466
54467 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54468
54469         * build-aux/pmccabe2html: Added support for C++ source files.
54470
54471 2008-11-05  Ben Pfaff  <blp@gnu.org>
54472
54473         Fix lib/close.c build on Windows.
54474         * modules/close (Files): Add lib/w32sock.h.
54475
54476 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54477
54478         Accept Bison's NEWS format.
54479         * build-aux/announce-gen (print_news_deltas): Tweak
54480         $re_prefix.
54481
54482 2008-11-04  Bruno Haible  <bruno@clisp.org>
54483
54484         * modules/random_r (Maintainer): Add glibc.
54485
54486 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54487
54488         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54489         by karl@freefriends.org (Karl Berry).
54490         * doc/alloca.texi: Likewise.
54491         * doc/c-ctype.texi: Likewise.
54492         * doc/c-strcase.texi: Likewise.
54493         * doc/c-strcaseeq.texi: Likewise.
54494         * doc/c-strcasestr.texi: Likewise.
54495         * doc/c-strstr.texi: Likewise.
54496         * doc/c-strtod.texi: Likewise.
54497         * doc/c-strtold.texi: Likewise.
54498         * doc/ctime.texi: Likewise.
54499         * doc/error.texi: Likewise.
54500         * doc/fdl.texi: Likewise.
54501         * doc/gcd.texi: Likewise.
54502         * doc/getdate.texi: Likewise.
54503         * doc/gnulib-intro.texi: Likewise.
54504         * doc/gnulib-tool.texi: Likewise.
54505         * doc/gnulib.texi: Likewise.
54506         * doc/inet_ntoa.texi: Likewise.
54507         * doc/maintain.texi: Likewise.
54508         * doc/make-stds.texi: Likewise.
54509         * doc/quote.texi: Likewise.
54510         * doc/regexprops-generic.texi: Likewise.
54511         * doc/standards.texi: Likewise.
54512         * doc/verify.texi: Likewise.
54513         * doc/visibility.texi: Likewise.
54514         * doc/gnulib.texi (GNU Free Documentation License): Include
54515         fdl-1.3.texi instead of fdl.texi.
54516
54517 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54518
54519         * doc/fdl-1.3.texi: New file, from
54520         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54521         * modules/fdl-1.3: Add.
54522         * MODULES.html.sh: Add fdl-1.3.
54523
54524 2008-11-03  Bruno Haible  <bruno@clisp.org>
54525
54526         Make determination of absolute name of header file work with AIX xlc.
54527         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54528         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54529         preprocessing.
54530         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54531         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54532
54533 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54534
54535         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54536         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54537         <ludo@gnu.org>.
54538
54539 2008-11-02  Bruno Haible  <bruno@clisp.org>
54540
54541         Mark 'strpbrk' obsolete.
54542         * modules/strpbrk (Status, Notice): New sections.
54543         * modules/strtok_r (Depends-on): Add strpbrk.
54544
54545 2008-11-02  Bruno Haible  <bruno@clisp.org>
54546
54547         Mark 'strdup' obsolete.
54548         * modules/strdup (Status, Notice): New sections.
54549         * modules/findprog (Depends-on): Add strdup.
54550         * modules/getaddrinfo (Depends-on): Likewise.
54551         * modules/localename (Depends-on): Likewise.
54552         * modules/relocatable-lib (Depends-on): Likewise.
54553         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54554         * modules/relocatable-prog (Depends-on): Likewise.
54555         * modules/trim (Depends-on): Likewise.
54556         * modules/unictype/gen-ctype (Depends-on): Likewise.
54557         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54558
54559 2008-11-02  Bruno Haible  <bruno@clisp.org>
54560
54561         Mark 'strcspn' obsolete.
54562         * modules/strcspn (Status, Notice): New sections.
54563
54564 2008-11-02  Bruno Haible  <bruno@clisp.org>
54565
54566         Mark 'rmdir' obsolete.
54567         * modules/rmdir (Status, Notice): New sections.
54568         * modules/clean-temp (Depends-on): Add rmdir.
54569         * modules/openat (Depends-on): Likewise.
54570
54571 2008-11-02  Bruno Haible  <bruno@clisp.org>
54572
54573         Mark 'raise' obsolete.
54574         * modules/raise (Status, Notice): New sections.
54575         (Include): Specify <signal.h>.
54576         * modules/stdio (Depends-on): Add raise.
54577         * modules/write (Depends-on): Likewise.
54578
54579 2008-11-02  Bruno Haible  <bruno@clisp.org>
54580
54581         Mark 'memset' obsolete.
54582         * modules/memset (Status, Notice): New sections.
54583
54584 2008-11-02  Bruno Haible  <bruno@clisp.org>
54585
54586         Mark 'memmove' obsolete.
54587         * modules/memmove (Status, Notice): New sections.
54588         * modules/argp (Depends-on): Add memmove.
54589         * modules/argz (Depends-on): Likewise.
54590         * modules/canonicalize (Depends-on): Likewise.
54591         * modules/canonicalize-lgpl (Depends-on): Likewise.
54592         * modules/fts (Depends-on): Likewise.
54593         * modules/getcwd (Depends-on): Likewise.
54594         * modules/human (Depends-on): Likewise.
54595         * modules/regex (Depends-on): Likewise.
54596         * modules/striconveh (Depends-on): Likewise.
54597         * modules/trim (Depends-on): Likewise.
54598         * modules/unistr/u8-move (Depends-on): Likewise.
54599         * modules/unistr/u16-move (Depends-on): Likewise.
54600         * modules/unistr/u32-move (Depends-on): Likewise.
54601
54602 2008-11-02  Bruno Haible  <bruno@clisp.org>
54603
54604         Mark 'memcpy' obsolete.
54605         * modules/memcpy (Status, Notice): New sections.
54606
54607 2008-11-02  Bruno Haible  <bruno@clisp.org>
54608
54609         Mark 'memcmp' obsolete.
54610         * modules/memcmp (Status, Notice): New sections.
54611         * modules/argmatch (Depends-on): Add memchr.
54612         * modules/backupfile (Depends-on): Likewise.
54613         * modules/c-strcasestr (Depends-on): Likewise.
54614         * modules/crypto/des (Depends-on): Likewise.
54615         * modules/csharpcomp (Depends-on): Likewise.
54616         * modules/fnmatch (Depends-on): Likewise.
54617         * modules/git-merge-changelog (Depends-on): Likewise.
54618         * modules/isnand (Depends-on): Likewise.
54619         * modules/isnand-nolibm (Depends-on): Likewise.
54620         * modules/isnanf (Depends-on): Likewise.
54621         * modules/isnanf-nolibm (Depends-on): Likewise.
54622         * modules/isnanl (Depends-on): Likewise.
54623         * modules/isnanl-nolibm (Depends-on): Likewise.
54624         * modules/mbchar (Depends-on): Likewise.
54625         * modules/memcoll (Depends-on): Likewise.
54626         * modules/quotearg (Depends-on): Likewise.
54627         * modules/regex (Depends-on): Likewise.
54628         * modules/relocatable-prog (Depends-on): Likewise.
54629         * modules/same (Depends-on): Likewise.
54630         * modules/signbit (Depends-on): Likewise.
54631         * modules/strcasestr-simple (Depends-on): Likewise.
54632         * modules/unictype/gen-ctype (Depends-on): Likewise.
54633         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54634         * modules/uniname/uniname (Depends-on): Likewise.
54635         * modules/unistr/u8-cmp (Depends-on): Likewise.
54636
54637 2008-11-02  Bruno Haible  <bruno@clisp.org>
54638
54639         Mark 'memchr' obsolete.
54640         * modules/memchr (Status, Notice): New sections.
54641         * modules/argp (Depends-on): Add memchr.
54642         * modules/base64 (Depends-on): Likewise.
54643         * modules/c-strcasestr (Depends-on): Likewise.
54644         * modules/chdir-long (Depends-on): Likewise.
54645         * modules/fnmatch (Depends-on): Likewise.
54646         * modules/getsubopt (Depends-on): Likewise.
54647         * modules/git-merge-changelog (Depends-on): Likewise.
54648         * modules/glob (Depends-on): Likewise.
54649         * modules/strcasestr-simple (Depends-on): Likewise.
54650         * modules/strnlen (Depends-on): Likewise.
54651
54652 2008-11-02  Bruno Haible  <bruno@clisp.org>
54653
54654         Mark 'atexit' obsolete.
54655         * modules/atexit (Status, Notice): New sections.
54656         * modules/chdir-long (Depends-on): Add atexit.
54657         * modules/wait-process (Depends-on): Likewise.
54658
54659 2008-11-02  Bruno Haible  <bruno@clisp.org>
54660
54661         * gnulib-tool: New option --with-obsolete.
54662         (func_usage): Document it.
54663         (func_modules_transitive_closure): Drop obsolete dependencies if
54664         incobsolete is not true.
54665         (func_import): Read and save the incobsolete variable to the cache.
54666
54667 2008-11-02  Bruno Haible  <bruno@clisp.org>
54668
54669         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54670         * gnulib-tool: New option --extract-status.
54671         (func_usage): Document it.
54672         (sed_extract_prog): Recognize it.
54673         (func_get_status): New function.
54674
54675 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54676
54677         * modules/sockets (License): Change from LGPL to LGPLv2+.
54678
54679 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54680
54681         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54682
54683 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54684
54685         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54686         Mention times and sys_times.
54687         * modules/sys_times, modules/sys_times-tests: New modules.
54688         * modules/times, modules/times-tests: Likewise
54689         * m4/sys_times_h.m4: New file.
54690         * lib/sys_times.in.h: Likewise
54691         * lib/times.c: Likewise.
54692         * tests/test-sys_times.c: Likewise.
54693         * tests/test-times.c: Likewise.
54694         * doc/posix-headers/sys_times.texi: Update.
54695         * doc/posix-functions/times.texi: Update.
54696
54697 2008-10-28  Jim Meyering  <meyering@redhat.com>
54698
54699         * modules/tempname (Depends-on): Add lstat.
54700
54701         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54702
54703 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54704
54705         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54706         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54707         using idiom used elsewhere in gnulib.
54708
54709 2008-10-27  Jim Meyering  <meyering@redhat.com>
54710
54711         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54712
54713 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54714
54715         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54716         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54717         programs.
54718         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54719
54720 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54721
54722         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54723
54724 2008-10-27  Bruno Haible  <bruno@clisp.org>
54725
54726         * tests/test-lstat.c: Include <stdio.h>.
54727
54728 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54729
54730         * modules/lstat-tests: New module.
54731         * tests/test-lstat.c: New file.
54732
54733 2008-10-26  Jim Meyering  <meyering@redhat.com>
54734
54735         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54736
54737 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54738             Bruno Haible  <bruno@clisp.org>
54739
54740         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54741         * modules/configmake (Include): Add a note that the include must come
54742         after all system headers.
54743         * lib/javaversion.c: Include configmake.h after all other includes.
54744
54745 2008-10-26  Bruno Haible  <bruno@clisp.org>
54746
54747         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54748         HAVE_STRUCT_RANDOM_DATA to 1.
54749         (gl_STDLIB_H): Simplify.
54750
54751 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54752
54753         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54754         substitute HAVE_STRUCT_RANDOM_DATA.
54755         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54756         random_data.
54757         * modules/stdlib (Makefile.am): Substitute
54758         HAVE_STRUCT_RANDOM_DATA.
54759
54760 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54761
54762         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54763         * doc/gnulib-intro.texi (Copyright): Likewise.
54764
54765 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54766
54767         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54768         findings.
54769
54770 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54771             Bruno Haible  <bruno@clisp.org>
54772
54773         * lib/unistd.in.h: Include <winsock2.h>.
54774         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54775         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54776         Provide dummy declarations.
54777         (gethostname): Override.
54778         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54779         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54780         gl_PREREQ_SYS_H_WINSOCK2.
54781         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54782         * doc/posix-functions/gethostname.texi: More details.
54783
54784 2008-10-25  Bruno Haible  <bruno@clisp.org>
54785
54786         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54787         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54788         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54789
54790         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54791         here ...
54792         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54793         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54794         gl_UNISTD_H_DEFAULTS.
54795
54796 2008-10-25  Eric Blake  <ebb9@byu.net>
54797
54798         signbit: avoid spurious compiler failure
54799         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54800         declarations inside function.
54801
54802 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54803             Bruno Haible  <bruno@clisp.org>
54804
54805         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54806         * modules/random_r (Depends-on): Add stdint.
54807
54808 2008-10-24  Bruno Haible  <bruno@clisp.org>
54809
54810         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54811         Eggert.
54812         * modules/strerror (License): Likewise.
54813
54814 2008-10-24  Jim Meyering  <meyering@redhat.com>
54815
54816         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54817         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54818
54819 2008-10-24  Eric Blake  <ebb9@byu.net>
54820
54821         getgroups: fix compilation when getgroups is available
54822         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54823         but with <config.h> override of getgroups disabled.
54824
54825 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54826
54827         * doc/gnulib.texi (Header files): Add note about C++ problems.
54828         Explained by Bruno Haible <bruno@clisp.org>.
54829
54830 2008-10-23  Bruno Haible  <bruno@clisp.org>
54831
54832         Define a dummy SA_NODEFER macro on Interix.
54833         * lib/signal.in.h (SA_NODEFER): Define fallback.
54834         Reported by Aleksey Cheusov <cheusov@tut.by> via
54835         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54836
54837 2008-10-23  Bruno Haible  <bruno@clisp.org>
54838
54839         * modules/freadahead (License): Change to LGPLv2+.
54840         Suggested by Simon Josefsson.
54841
54842 2008-10-23  Jim Meyering  <meyering@redhat.com>
54843
54844         random_r: new module
54845         * modules/random_r: New file.
54846         * m4/random_r.m4: New file.
54847         * lib/random_r.c: New file, from glibc.
54848         * modules/random_r-tests: New file.
54849         * tests/test-random_r.c: New file.
54850         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54851          Declare.
54852         (RAND_MAX): Define.
54853         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54854         * modules/stdlib: Substitute them, too.
54855         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54856         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54857         * doc/glibc-functions/random_r.texi: Likewise.
54858         * doc/glibc-functions/setstate_r.texi: Likewise.
54859         * doc/glibc-functions/srandom_r.texi: Likewise.
54860         * config/srclist.txt: Mention it.
54861
54862 2008-10-23  David Lutterkort  <lutter@redhat.com>
54863
54864         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54865         link requirement
54866
54867 2008-10-23  Jim Meyering  <meyering@redhat.com>
54868
54869         selinux-h: mark parameters of stub functions as intentionally unused
54870         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54871         * lib/se-context.in.h: Likewise.
54872
54873 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54874
54875         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54876
54877 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54878
54879         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54880
54881 2008-10-22  Eric Blake  <ebb9@byu.net>
54882
54883         glthread/thread: avoid compiler warning
54884         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54885         Add unreachable abort to silence compiler.
54886
54887 2008-10-22  Eric Blake  <ebb9@byu.net>
54888
54889         netdb: also supply struct addrinfo for cygwin 1.5.x
54890         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54891         older cygwin.
54892         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54893         cygwin.
54894         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54895
54896 2008-10-22  Bruno Haible  <bruno@clisp.org>
54897
54898         * users.txt: Update entry about pspp.
54899
54900 2008-10-21  Bruno Haible  <bruno@clisp.org>
54901
54902         Simplification.
54903         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54904         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54905
54906         Simplification.
54907         * lib/ioctl.c (ioctl): Don't undefine.
54908         * lib/socket.c (socket): Don't undefine.
54909
54910         Remove unused module indicator macros.
54911         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54912         GNULIB_$1 as a C macro.
54913
54914         * doc/posix-functions/close.texi: Undo last change.
54915         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54916         Windows platforms.
54917
54918 2008-10-21  Bruno Haible  <bruno@clisp.org>
54919
54920         Add gethostname() declaration to <unistd.h>.
54921         * lib/unistd.in.h (gethostname): New declaration.
54922         * lib/gethostname.c: Include <unistd.h>.
54923         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54924         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54925         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54926         and HAVE_GETHOSTNAME.
54927         * modules/gethostname (Depends-on): Add unistd.
54928         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54929         (Include): Specify <unistd.h>.
54930         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54931         HAVE_GETHOSTNAME.
54932         * tests/test-gethostname.c: Include <unistd.h> first.
54933
54934 2008-10-21  Bruno Haible  <bruno@clisp.org>
54935
54936         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54937         * modules/select-tests (Depends-on): Likewise.
54938         Reported by Simon Josefsson.
54939
54940 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54941
54942         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54943         * lib/accept.c: New file, based on winsock.c.
54944         * lib/bind.c: New file, based on winsock.c.
54945         * lib/connect.c: New file, based on winsock.c.
54946         * lib/getpeername.c: New file, based on winsock.c.
54947         * lib/getsockname.c: New file, based on winsock.c.
54948         * lib/getsockopt.c: New file, based on winsock.c.
54949         * lib/ioctl.c: New file, based on winsock.c.
54950         * lib/listen.c: New file, based on winsock.c.
54951         * lib/recv.c: New file, based on winsock.c.
54952         * lib/recvfrom.c: New file, based on winsock.c.
54953         * lib/send.c: New file, based on winsock.c.
54954         * lib/sendto.c: New file, based on winsock.c.
54955         * lib/setsockopt.c: New file, based on winsock.c.
54956         * lib/shutdown.c: New file, based on winsock.c.
54957         * lib/socket.c: New file, based on winsock.c.
54958         * lib/w32sock.h: New file, based on winsock.c.
54959         * lib/winsock.c: Remove file.
54960         * modules/accept: Likewise.
54961         * modules/bind: Likewise.
54962         * modules/connect: Likewise.
54963         * modules/getpeername: Likewise.
54964         * modules/getsockname: Likewise.
54965         * modules/getsockopt: Likewise.
54966         * modules/ioctl: Likewise.
54967         * modules/listen: Likewise.
54968         * modules/recv: Likewise.
54969         * modules/recvfrom: Likewise.
54970         * modules/send: Likewise.
54971         * modules/sendto: Likewise.
54972         * modules/setsockopt: Likewise.
54973         * modules/shutdown: Likewise.
54974         * modules/socket: Use socket.c instead of winsock.c.
54975         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54976         * doc/posix-functions/accept.texi: Doc fix.
54977         * doc/posix-functions/bind.texi: Doc fix.
54978         * doc/posix-functions/close.texi: Doc fix.
54979         * doc/posix-functions/connect.texi: Doc fix.
54980         * doc/posix-functions/getpeername.texi: Doc fix.
54981         * doc/posix-functions/getsockname.texi: Doc fix.
54982         * doc/posix-functions/getsockopt.texi: Doc fix.
54983         * doc/posix-functions/ioctl.texi: Doc fix.
54984         * doc/posix-functions/listen.texi: Doc fix.
54985         * doc/posix-functions/recv.texi: Doc fix.
54986         * doc/posix-functions/recvfrom.texi: Doc fix.
54987         * doc/posix-functions/send.texi: Doc fix.
54988         * doc/posix-functions/sendto.texi: Doc fix.
54989         * doc/posix-functions/setsockopt.texi: Doc fix.
54990         * doc/posix-functions/shutdown.texi: Doc fix.
54991         * doc/posix-functions/socket.texi: Doc fix.
54992
54993 2008-10-20  Bruno Haible  <bruno@clisp.org>
54994
54995         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54996         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54997         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54998         as an alias for SIGABRT.
54999         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55000         (sigaction): Map it to SIGABRT.
55001         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55002
55003 2008-10-20  Bruno Haible  <bruno@clisp.org>
55004
55005         * lib/fts.c: Don't include lstat.h.
55006         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55007
55008         Move the lstat() declaration to <sys/stat.h>.
55009         * lib/lstat.h: Remove file.
55010         * lib/sys_stat.in.h: Add special invocation convention.
55011         (lstat): New declaration.
55012         * lib/lstat.c (orig_lstat): New function.
55013         (rpl_lstat): Use orig_lstat instead of lstat.
55014         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55015         AC_C_INLINE. Set REPLACE_LSTAT.
55016         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55017         and REPLACE_LSTAT.
55018         * modules/lstat (Files): Remove lib/lstat.h.
55019         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55020         (Include): Specify <sys/stat.h> instead of lstat.h.
55021         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55022         REPLACE_LSTAT.
55023         * NEWS: Mention the change.
55024
55025 2008-10-20  Bruno Haible  <bruno@clisp.org>
55026
55027         * modules/posix_spawn-tests: New file.
55028         * tests/test-posix_spawn3.c: New file.
55029
55030 2008-10-20  Bruno Haible  <bruno@clisp.org>
55031
55032         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55033         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55034         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55035         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55036         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55037
55038 2008-10-20  Bruno Haible  <bruno@clisp.org>
55039
55040         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55041         of posix_spawn on AIX 5.3.
55042
55043 2008-10-20  Bruno Haible  <bruno@clisp.org>
55044
55045         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55046
55047 2008-10-20  Bruno Haible  <bruno@clisp.org>
55048
55049         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55050         of AC_LANG_PROGRAM.
55051
55052 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55053
55054         * lib/netdb.in.h: Don't define GNU specific constants until they
55055         are supported or needed.  Reported by Bruno Haible
55056         <bruno@clisp.org>.
55057
55058 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55059
55060         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55061
55062 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55063
55064         * lib/getaddrinfo.h: Remove file.
55065         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55066         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55067         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55068         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55069         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55070         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55071         * tests/test-getaddrinfo.c: Likewise.
55072         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55073         * NEWS: Mention change.
55074
55075 2008-10-19  Bruno Haible  <bruno@clisp.org>
55076
55077         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
55078
55079 2008-10-19  Bruno Haible  <bruno@clisp.org>
55080
55081         * lib/wait-process.c: Include simply <sys/wait.h>.
55082         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55083         WIFSTOPPED): Remove fallback definitions.
55084         * modules/wait-process (Depends-on): Add sys_wait.
55085
55086         New module 'sys_wait'.
55087         * modules/sys_wait: New file.
55088         * lib/sys_wait.in.h: New file, partially copied from
55089         lib/wait-process.c.
55090         * m4/sys_wait_h.m4: New file.
55091         * doc/posix-headers/sys_wait.texi: Mention the new module.
55092
55093 2008-10-19  Bruno Haible  <bruno@clisp.org>
55094
55095         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55096
55097 2008-10-19  Bruno Haible  <bruno@clisp.org>
55098
55099         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55100         * lib/wait-process.c (WAIT_T): Remove type.
55101         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55102         (wait_subprocess): Update.
55103
55104 2008-10-19  Bruno Haible  <bruno@clisp.org>
55105
55106         New module 'atoll'.
55107         * modules/atoll: New file.
55108         * lib/stdlib.in.h (atoll): New declaration.
55109         * lib/atoll.c: New file, from glibc with modifications.
55110         * m4/atoll.m4: New file.
55111         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55112         HAVE_ATOLL.
55113         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55114         * doc/posix-functions/atoll.texi: Mention the new module.
55115
55116 2008-10-19  Bruno Haible  <bruno@clisp.org>
55117
55118         Add strtoull() declaration to <stdlib.h>.
55119         * lib/stdlib.in.h (strtoull): New declaration.
55120         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55121         Set HAVE_STRTOULL.
55122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55123         HAVE_STRTOULL.
55124         * modules/strtoull (Depends-on): Add stdlib.
55125         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55126         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55127         HAVE_STRTOULL.
55128
55129 2008-10-19  Bruno Haible  <bruno@clisp.org>
55130
55131         Add strtoll() declaration to <stdlib.h>.
55132         * lib/stdlib.in.h (strtoll): New declaration.
55133         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55134         Set HAVE_STRTOLL.
55135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55136         HAVE_STRTOLL.
55137         * modules/strtoll (Depends-on): Add stdlib.
55138         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55139         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55140
55141 2008-10-19  Bruno Haible  <bruno@clisp.org>
55142
55143         * modules/bcopy (Depends-on): Add strings.
55144         (Include): Specify <strings.h>.
55145
55146 2008-10-19  Bruno Haible  <bruno@clisp.org>
55147
55148         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55149
55150 2008-10-19  Bruno Haible  <bruno@clisp.org>
55151
55152         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55153         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55154         mingw.
55155
55156 2008-10-19  Bruno Haible  <bruno@clisp.org>
55157
55158         * lib/atanl.c: Don't include isnanl.h.
55159         * lib/cosl.c: Likewise.
55160         * lib/ldexpl.c: Likewise.
55161         * lib/logl.c: Likewise.
55162         * lib/sinl.c: Likewise.
55163         * lib/sqrtl.c: Likewise.
55164         * lib/tanl.c: Likewise.
55165
55166         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55167         * lib/isnanf.h: Remove file.
55168         * lib/isnand.h: Remove file.
55169         * lib/isnanl.h: Remove file.
55170         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55171         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55172         macros.
55173         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55174         HAVE_ISNANF, don't define it as a C macro.
55175         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55176         HAVE_ISNAND, don't define it as a C macro.
55177         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55178         HAVE_ISNANL, don't define it as a C macro.
55179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55180         HAVE_ISNAN[FDL].
55181         * modules/isnanf (Files): Remove lib/isnanf.h.
55182         (Depends-on): Add math.
55183         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55184         (Include): Specify <math.h> instead of isnanf.h.
55185         * modules/isnand (Files): Remove lib/isnand.h.
55186         (Depends-on): Add math.
55187         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55188         (Include): Specify <math.h> instead of isnand.h.
55189         * modules/isnanl (Files): Remove lib/isnanl.h.
55190         (Depends-on): Add math.
55191         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55192         (Include): Specify <math.h> instead of isnanl.h.
55193         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55194         HAVE_ISNAN[FDL].
55195         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55196         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55197         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55198         * NEWS: Mention the change.
55199
55200 2008-10-18  Bruno Haible  <bruno@clisp.org>
55201
55202         Add getusershell(), setusershell(), endusershell() declarations to
55203         <unistd.h>.
55204         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55205         declarations.
55206         * lib/getusershell.c: Include unistd.h.
55207         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55208         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55209         HAVE_GETUSERSHELL.
55210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55211         and HAVE_GETUSERSHELL.
55212         * modules/getusershell (Depends-on): Add unistd, extensions.
55213         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55214         (Include): Specify <unistd.h>.
55215         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55216         HAVE_GETUSERSHELL.
55217
55218 2008-10-18  Bruno Haible  <bruno@clisp.org>
55219
55220         Add a getloadavg() declaration to <stdlib.h>.
55221         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55222         getloadavg declaration.
55223         (getloadavg): New declaration.
55224         * lib/getloadavg.c: Include <stdlib.h> first.
55225         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55226         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55227         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55228         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55229         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55230         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55231         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55232         (Include): Specify <stdlib.h>.
55233         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55234         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55235
55236 2008-10-18  Bruno Haible  <bruno@clisp.org>
55237
55238         * lib/dirchownmod.c: Don't include lchmod.h.
55239
55240         Move the lchmod() declaration to <sys/stat.h>.
55241         * lib/lchmod.h: Remove file.
55242         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55243         (lchmod): New declaration, moved here from lib/lchown.h.
55244         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55245         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55246         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55247         and HAVE_LCHMOD.
55248         * modules/lchmod (Files): Remove lib/lchmod.h.
55249         (Depends-on): Add sys_stat, extensions.
55250         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55251         (Include): Specify <sys/stat.h> instead of lchmod.h.
55252         * modules/sys_stat (Depends-on): Add link-warning.
55253         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55254         definition of GL_LINK_WARNING.
55255         * NEWS: Mention the change.
55256
55257 2008-10-18  Bruno Haible  <bruno@clisp.org>
55258
55259         * lib/fchdir.c: Don't include dirfd.h.
55260         * lib/fts.c: Likewise.
55261         * lib/getcwd.c: Likewise.
55262         * lib/glob.c: Likewise.
55263
55264         Move the dirfd() declaration to <dirent.h>.
55265         * lib/dirfd.h: Remove file.
55266         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55267         (dirfd): New declaration.
55268         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55269         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55270         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55271         HAVE_DECL_DIRFD.
55272         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55273         HAVE_DECL_DIRFD.
55274         * modules/dirfd (Files): Remove lib/dirfd.h.
55275         (Depends-on): Add dirent, extensions.
55276         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55277         (Include): Specify <dirent.h> instead of dirfd.h.
55278         * modules/dirent (Depends-on): Add link-warning.
55279         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55280         definition of GL_LINK_WARNING.
55281         * NEWS: Mention the change.
55282
55283 2008-10-18  Bruno Haible  <bruno@clisp.org>
55284
55285         Move the euidaccess() declaration to <unistd.h>.
55286         * lib/euidaccess.h: Remove file.
55287         * lib/unistd.in.h (euidaccess): New declaration.
55288         * lib/euidaccess.c: Don't include euidaccess.h.
55289         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55290         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55292         and HAVE_EUIDACCESS.
55293         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55294         (Depends-on): Add unistd.
55295         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55296         (Include): Specify <unistd.h> instead of euidaccess.h.
55297         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55298         HAVE_EUIDACCESS.
55299         * NEWS: Mention the change.
55300
55301 2008-10-18  Bruno Haible  <bruno@clisp.org>
55302
55303         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55304
55305         Move the getdomainname() declaration to <unistd.h>.
55306         * lib/getdomainname.h: Remove file.
55307         * lib/unistd.in.h (getdomainname): New declaration.
55308         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55309         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55310         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55311         HAVE_GETDOMAINNAME.
55312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55313         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55314         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55315         (Depends-on): Add unistd, extensions.
55316         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55317         (Includes): Specify <unistd.h> instead of getdomainname.h.
55318         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55319         HAVE_GETDOMAINNAME.
55320         * NEWS: Mention the change.
55321
55322 2008-10-18  Bruno Haible  <bruno@clisp.org>
55323
55324         * modules/dirent: New file.
55325         * m4/dirent_h.m4: New file.
55326         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55327         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55328         * modules/fchdir (Files): Remove lib/dirent.in.h.
55329         (Depends-on): Add dirent.
55330         (Makefile.am): Move rules to modules/dirent.
55331         * doc/posix-headers/dirent.texi: Mention the new module.
55332
55333 2008-10-18  Bruno Haible  <bruno@clisp.org>
55334
55335         Avoid -Wunused-parameter warnings in public gnulib header files.
55336         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55337         macro.
55338         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55339
55340 2008-10-18  Bruno Haible  <bruno@clisp.org>
55341
55342         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55343         * doc/glibc-functions/error.texi: Mention the module 'error'.
55344         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55345         * doc/glibc-functions/getdomainname.texi: Mention the module
55346         'getdomainname'.
55347         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55348         * doc/glibc-functions/getpagesize.texi: Mention the module
55349         'getpagesize'.
55350         * doc/glibc-functions/getusershell.texi: Mention the module
55351         'getusershell'.
55352         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55353         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55354         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55355         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55356         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55357         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55358         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55359         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55360         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55361         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55362         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55363         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55364         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55365         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55366
55367 2008-10-17  Bruno Haible  <bruno@clisp.org>
55368
55369         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55370         HP-UX and IRIX, use -0.0L.
55371         * tests/test-ceill.c (minus_zero): Likewise.
55372         * tests/test-floorl.c (minus_zero): Likewise.
55373         * tests/test-frexpl.c (minus_zero): Likewise.
55374         * tests/test-isnan.c (minus_zerol): Likewise.
55375         * tests/test-isnanl.h (minus_zero): Likewise.
55376         * tests/test-ldexpl.c (minus_zero): Likewise.
55377         * tests/test-roundl.c (minus_zero): Likewise.
55378         * tests/test-signbit.c (minus_zerol): Likewise.
55379         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55380         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55381         * tests/test-truncl.c (minus_zero): Likewise.
55382         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55383         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55384         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55385         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55386
55387 2008-10-17  Bruno Haible  <bruno@clisp.org>
55388
55389         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55390         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55391         that it gets activated only for gcc >= 3.0.
55392         * lib/dirent.in.h: Likewise.
55393         * lib/errno.in.h: Likewise.
55394         * lib/fcntl.in.h: Likewise.
55395         * lib/float.in.h: Likewise.
55396         * lib/iconv.in.h: Likewise.
55397         * lib/inttypes.in.h: Likewise.
55398         * lib/locale.in.h: Likewise.
55399         * lib/math.in.h: Likewise.
55400         * lib/netdb.in.h: Likewise.
55401         * lib/netinet_in.in.h: Likewise.
55402         * lib/search.in.h: Likewise.
55403         * lib/signal.in.h: Likewise.
55404         * lib/spawn.in.h: Likewise.
55405         * lib/stdarg.in.h: Likewise.
55406         * lib/stdint.in.h: Likewise.
55407         * lib/stdio.in.h: Likewise.
55408         * lib/stdlib.in.h: Likewise.
55409         * lib/string.in.h: Likewise.
55410         * lib/strings.in.h: Likewise.
55411         * lib/sys_file.in.h: Likewise.
55412         * lib/sys_ioctl.in.h: Likewise.
55413         * lib/sys_select.in.h: Likewise.
55414         * lib/sys_socket.in.h: Likewise.
55415         * lib/sys_stat.in.h: Likewise.
55416         * lib/sys_time.in.h: Likewise.
55417         * lib/sysexits.in.h: Likewise.
55418         * lib/time.in.h: Likewise.
55419         * lib/unistd.in.h: Likewise.
55420         * lib/wchar.in.h: Likewise.
55421         * lib/wctype.in.h: Likewise.
55422         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55423
55424 2008-10-17  Jim Meyering  <meyering@redhat.com>
55425
55426         ignore-value: don't depend on inline module
55427         * modules/ignore-value (Depends-on): Remove 'inline'.
55428         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55429         Suggestion from Bruno Haible.
55430
55431 2008-10-17  Bruno Haible  <bruno@clisp.org>
55432
55433         New implementation of condition variables for Win32.
55434         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55435         (gl_linked_waitqueue_t): New type.
55436         (gl_cond_t): Use it.
55437         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55438         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55439         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55440         (glthread_cond_init_func, glthread_cond_wait_func,
55441         glthread_cond_timedwait_func, glthread_cond_signal_func,
55442         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55443         Reimplemented on the basis of gl_linked_waitqueue_t.
55444         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55445         gl_waitqueue_t.
55446         (gl_rwlock_t): Update.
55447         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55448
55449 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55450
55451         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55452         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55453
55454 2008-10-17  Jim Meyering  <meyering@redhat.com>
55455
55456         ignore-value: new module
55457         * modules/ignore-value: New file.
55458         * lib/ignore-value.h: New file.
55459         * MODULES.html.sh (Compiler warning management): New section,
55460         just for this module.  More to come.
55461
55462 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55463
55464         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55465         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55466         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55467
55468 2008-10-16  Jim Meyering  <meyering@redhat.com>
55469
55470         openat-die.c: avoid 'no previous prototype' warning
55471         * lib/openat-die.c: Include "openat.h".
55472         Reported by Reuben Thomas <rrt@sc3d.org>.
55473
55474 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55475
55476         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55477         * lib/netdb.in.h: Fix typo.
55478         Reported by Bruno Haible  <bruno@clisp.org>
55479
55480         * lib/netdb.in.h: Include sys/socket.h for platforms without
55481         netdb.h, to get structures like hostent on MinGW.
55482         * modules/netdb (Depends-on): Add sys_socket.
55483
55484 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55485
55486         * modules/netdb, modules/netdb-tests: New file.
55487         * m4/netdb_h.m4: New file.
55488         * lib/netdb.in.h: Add, currently just an empty file pending
55489         definitions.
55490         * tests/test-netdb.c: New file.
55491         * doc/posix-headers/netdb.texi: Mention that we replace it if
55492         needed.
55493         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55494         netdb.
55495
55496 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55497
55498         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55499         with code.
55500
55501 2008-10-13  Bruno Haible  <bruno@clisp.org>
55502
55503         * lib/glthread/cond.c (glthread_cond_wait_func,
55504         glthread_cond_timedwait_func): Add a comment.
55505
55506 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55507
55508         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55509         * tests/test-select.c: Likewise,
55510
55511 2008-10-13  Bruno Haible  <bruno@clisp.org>
55512
55513         * lib/glthread/cond.c (glthread_cond_wait_func,
55514         glthread_cond_timedwait_func): Fix variable name.
55515         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55516
55517 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55518
55519         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55520         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55521         struct sockaddr.sa_len.
55522         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55523
55524 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55525
55526         * build-aux/pmccabe2html: Add css and css_url parameters.
55527
55528 2008-10-12  Bruno Haible  <bruno@clisp.org>
55529
55530         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55531         calling aclx_get.
55532         Reported by Rainer Tammer <tammer@tammer.net>.
55533
55534 2008-10-12  Bruno Haible  <bruno@clisp.org>
55535
55536         Use msvcrt aware primitives for creation/termination of Win32 threads.
55537         * lib/glthread/thread.c: Include <process.h>.
55538         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55539         (wrapper_func): Update signature.
55540         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55541
55542 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55543             Bruno Haible  <bruno@clisp.org>
55544
55545         Provide a Win32 implementation of the 'cond' module.
55546         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55547         * lib/glthread/cond.c (glthread_cond_init_func,
55548         glthread_cond_wait_func, glthread_cond_timedwait_func,
55549         glthread_cond_signal_func, glthread_cond_broadcast_func,
55550         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55551         * modules/cond (Dependencies): Add gettimeofday.
55552
55553 2008-10-11  Bruno Haible  <bruno@clisp.org>
55554
55555         Make sleep work on older versions of mingw.
55556         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55557         only whether it exists.
55558         * doc/posix-functions/sleep.texi: Mention the problem with older
55559         versions of mingw.
55560
55561 2008-10-11  Bruno Haible  <bruno@clisp.org>
55562
55563         New module 'shutdown'.
55564         * modules/shutdown: New file.
55565         * lib/sys_socket.in.h (shutdown): New declaration.
55566         * lib/winsock.c (shutdown): New function.
55567         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55568         GNULIB_SHUTDOWN.
55569         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55570         * doc/posix-functions/shutdown.texi: Document the new module.
55571
55572 2008-10-11  Jim Meyering  <meyering@redhat.com>
55573
55574         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55575
55576 2008-10-11  Bruno Haible  <bruno@clisp.org>
55577
55578         New module 'fclose'.
55579         * modules/fclose: New file.
55580         * lib/stdio.in.h (fclose): New declaration.
55581         * lib/fclose.c: New file.
55582         * m4/fclose.m4: New file.
55583         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55584         REPLACE_FCLOSE.
55585         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55586         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55587         REPLACE_FCLOSE.
55588         * modules/close (Depends-on): fclose.
55589         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55590
55591 2008-10-11  Bruno Haible  <bruno@clisp.org>
55592
55593         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55594         set errno and don't call _close.
55595
55596 2008-10-10  Bruno Haible  <bruno@clisp.org>
55597
55598         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55599         ACL, not afterwards. Fixes test failure on Cygwin.
55600
55601 2008-10-09  Ben Pfaff  <blp@gnu.org>
55602
55603         * build-aux/announce-gen: Fix gnulib version related part of usage
55604         message.  Die with a useful error message if no tarballs are
55605         found.
55606
55607 2008-10-10  Jim Meyering  <meyering@redhat.com>
55608
55609         bootstrap: use git's --depth=N option only if it's supported
55610         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55611         recognize the --depth option.  Reported by Pádraig Brady.
55612
55613 2008-10-09  Bruno Haible  <bruno@clisp.org>
55614
55615         New module 'ioctl'.
55616         * modules/ioctl: New file.
55617         * lib/sys_socket.in.h (ioctl): Remove declaration.
55618         * lib/winsock.c: Include <sys/ioctl.h>.
55619         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55620         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55621         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55622         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55623         * doc/posix-functions/ioctl.texi: Mention the new module.
55624
55625 2008-10-09  Bruno Haible  <bruno@clisp.org>
55626
55627         New module 'sys_ioctl'.
55628         * lib/sys_ioctl.in.h: New file.
55629         * m4/sys_ioctl_h.m4: New file.
55630         * modules/sys_ioctl: New file.
55631         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55632
55633 2008-10-09  Bruno Haible  <bruno@clisp.org>
55634
55635         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55636         * lib/winsock.c: Include <stdarg.h>.
55637         (rpl_ioctl): Change to second argument 'int' and then varargs.
55638
55639 2008-10-09  Bruno Haible  <bruno@clisp.org>
55640
55641         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55642         when the sys_socket module is present and the system has <winsock2.h>.
55643
55644 2008-10-09  Bruno Haible  <bruno@clisp.org>
55645
55646         * doc/posix-functions/close.texi: Mention module 'close' instead of
55647         module 'sys_socket'.
55648
55649 2008-10-09  Bruno Haible  <bruno@clisp.org>
55650
55651         * doc/glibc-headers/sys_ioctl.texi: New file.
55652         * doc/gnulib.texi: Include it.
55653
55654 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55655             Bruno Haible  <bruno@clisp.org>
55656
55657         Combine the two replacements of 'close'.
55658         * lib/sys_socket.in.h (close): Define to a reminder to include
55659         <unistd.h>.
55660         (_gl_close_fd_maybe_socket): New declaration.
55661         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55662         * lib/winsock.c (close): Remove undefinition.
55663         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55664         needed for the gnulib module 'close'.
55665         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55666         define to an error symbol or to a warning, if suitable.
55667         * lib/close.c: Include <sys/socket.h>.
55668         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55669         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55670         UNISTD_H_HAVE_WINSOCK2_H.
55671         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55673         UNISTD_H_HAVE_WINSOCK2_H.
55674         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55675         (configure.ac): Set a module indicator.
55676         (Makefile.am): Substitute GNULIB_CLOSE.
55677         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55678         * modules/poll-tests (Depends-on): Add close.
55679         * modules/select-tests (Depends-on): Likewise.
55680
55681 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55682             Bruno Haible  <bruno@clisp.org>
55683
55684         New module 'close'.
55685         * modules/close: New file.
55686         * lib/unistd.in.h (close): Move declaration out of the
55687         FCHDIR_REPLACEMENT scope.
55688         (_gl_unregister_fd): New declaration.
55689         * lib/close.c: New file.
55690         * lib/fchdir.c (rpl_close): Remove function.
55691         * m4/close.m4: New file.
55692         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55693         close.
55694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55695         REPLACE_CLOSE.
55696         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55697         REPLACE_CLOSE.
55698         * modules/fchdir (Depends-on): Add close.
55699
55700 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55701             Bruno Haible  <bruno@clisp.org>
55702
55703         * lib/fcntl.in.h (open): Simplify conditionals.
55704         (_gl_register_fd): New declaration.
55705         * lib/fchdir.c (rpl_open): Remove function.
55706         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55707         also.
55708         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55709         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55710         open.
55711
55712 2008-10-09  Jim Meyering  <meyering@redhat.com>
55713
55714         GNUmakefile: use the more name-space-friendly "_version"
55715         * top/GNUmakefile (_dummy): Update.
55716         (_version): Rename from "version".
55717
55718 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55719             Bruno Haible  <bruno@clisp.org>
55720
55721         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55722         rpl_close.
55723         (_gl_register_fd): New function, extracted from rpl_open.
55724         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55725         (rpl_open, rpl_opendir): Use _gl_register_fd.
55726
55727 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55728
55729         Fix organization of 'open' replacement.
55730         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55731         (gl_FUNC_OPEN): Use it.
55732         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55733
55734 2008-10-08  Bruno Haible  <bruno@clisp.org>
55735
55736         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55737
55738 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55739
55740         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55741         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55742         listen).
55743
55744 2008-10-08  Eric Blake  <ebb9@byu.net>
55745
55746         GNUmakefile: add 'make version' target
55747         * top/GNUmakefile (_curr-ver): Split version update rules...
55748         (version): ...into a target.
55749
55750 2008-10-07  Bruno Haible  <bruno@clisp.org>
55751
55752         Use a more portable replacement expression for -0.0L.
55753         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55754         instead of -0.0L. Fix m4 quotation.
55755
55756         * tests/test-signbit.c: Include <float.h>.
55757         (minus_zero): New variable.
55758         (test_signbitl): Use minus_zero instead of -zero.
55759         * modules/signbit-tests (Depends-on): Add float.
55760
55761         * tests/test-ceill.c: Include <float.h>.
55762         (zero): Remove variable.
55763         (minus_zero): New variable.
55764         (main): Use minus_zero instead of -zero.
55765         * modules/ceill-tests (Depends-on): Add float.
55766
55767         * tests/test-floorl.c: Include <float.h>.
55768         (zero): Remove variable.
55769         (minus_zero): New variable.
55770         (main): Use minus_zero instead of -zero.
55771         * modules/floorl-tests (Depends-on): Add float.
55772
55773         * tests/test-roundl.c: Include <float.h>.
55774         (zero): Remove variable.
55775         (minus_zero): New variable.
55776         (main): Use minus_zero instead of -zero.
55777         * modules/roundl-tests (Depends-on): Add float.
55778
55779         * tests/test-truncl.c: Include <float.h>.
55780         (zero): Remove variable.
55781         (minus_zero): New variable.
55782         (main): Use minus_zero instead of -zero.
55783         * modules/truncl-tests (Depends-on): Add float.
55784
55785         * tests/test-frexpl.c (zero): Remove variable.
55786         (minus_zero): New variable.
55787         (main): Use minus_zero instead of -zero.
55788         * modules/frexpl-tests (Depends-on): Add float.
55789
55790         * tests/test-isnan.c (zerol): Remove variable.
55791         (minus_zerol): New variable.
55792         (test_long_double): Use minus_zerol instead of -zerol.
55793         * modules/isnan-tests (Depends-on): Add float.
55794
55795         * tests/test-isnanl.h (zero): Remove variable.
55796         (minus_zero): New variable.
55797         (main): Use minus_zero instead of -zero.
55798         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55799         * modules/isnanl-tests (Depends-on): Add float.
55800
55801         * tests/test-ldexpl.c (zero): Remove variable.
55802         (minus_zero): New variable.
55803         (main): Use minus_zero instead of -zero.
55804         * modules/ldexpl-tests (Depends-on): Add float.
55805
55806         * tests/test-snprintf-posix.h (zerol): Remove variable.
55807         (minus_zerol): New variable.
55808         (test_function): Use minus_zerol instead of -zerol.
55809         * modules/snprintf-posix-tests (Depends-on): Add float.
55810         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55811
55812         * tests/test-sprintf-posix.h (zerol): Remove variable.
55813         (minus_zerol): New variable.
55814         (test_function): Use minus_zerol instead of -zerol.
55815         * modules/sprintf-posix-tests (Depends-on): Add float.
55816         * modules/vsprintf-posix-tests (Depends-on): Add float.
55817
55818         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55819         (minus_zerol): New variable.
55820         (test_function): Use minus_zerol instead of -zerol.
55821         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55822
55823         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55824         (minus_zerol): New variable.
55825         (test_function): Use minus_zerol instead of -zerol.
55826         * modules/vasprintf-posix-tests (Depends-on): Add float.
55827
55828 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55829
55830         * MODULES.html.sh (Support for building documentation): Mention
55831         pmccabe2html.  Sort entries.
55832
55833         Add pmccabe2html module, from gnupdf.
55834         * build-aux/pmccabe.css: New file.
55835         * build-aux/pmccabe2html: New file.
55836         * m4/pmccabe2html.m4: New file.
55837         * modules/pmccabe2html: New file.
55838
55839 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55840
55841         flock: new module
55842         * MODULES.html.sh: Add to list of modules.
55843         * lib/flock.c: flock implementation for Windows and Unix systems
55844         which have fcntl.
55845         * doc/glibc-functions/flock.texi: Update documentation.
55846         * lib/sys_file.in.h: <sys/file.h> header file.
55847         * m4/flock.m4: M4 macros.
55848         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55849         * modules/flock: flock module.
55850         * modules/flock-tests: flock tests module.
55851         * modules/sys_file: sys/file.h module.
55852         * tests/test-flock.c: test suite for flock.
55853
55854 2008-10-06  Jim Meyering  <meyering@redhat.com>
55855
55856         bootstrap: check for LT_INIT more portably still ;-)
55857         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55858         Spotted by Bruno Haible.
55859
55860 2008-10-06  Eric Blake  <ebb9@byu.net>
55861
55862         test-signbit: avoid tripping Irix cc bug on -0.0L
55863         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55864         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55865         entire testsuite consistent and avoids an Irix 6.2 bug.
55866
55867 2008-10-05  Bruno Haible  <bruno@clisp.org>
55868             Jim Meyering  <jim@meyering.net>
55869
55870         Add an option for ignoring EPIPE during close_stdout.
55871         * lib/closeout.h: Include <stdbool.h>.
55872         (close_stdout_set_ignore_EPIPE): New declaration.
55873         * lib/closeout.c: Include <stdbool.h>.
55874         (ignore_EPIPE): New variable.
55875         (close_stdout_set_ignore_EPIPE): New function.
55876         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55877         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55878         failure.
55879         * modules/closeout (Depends-on): Add stdbool.
55880
55881 2008-10-05  Bruno Haible  <bruno@clisp.org>
55882
55883         * modules/accept: New file.
55884         * modules/bind: New file.
55885         * modules/connect: New file.
55886         * modules/getpeername: New file.
55887         * modules/getsockname: New file.
55888         * modules/getsockopt: New file.
55889         * modules/listen: New file.
55890         * modules/recv: New file.
55891         * modules/recvfrom: New file.
55892         * modules/send: New file.
55893         * modules/sendto: New file.
55894         * modules/setsockopt: New file.
55895         * modules/socket: New file.
55896         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55897         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55898         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55899         the particular module is requested. Add a link warning when the
55900         particular module is not requested.
55901         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55902         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55903         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55904         the particular module is requested.
55905         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55906         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55907         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55908         * modules/sys_socket (Depends-on): Add link-warning.
55909         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55910         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55911         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55912         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55913         GL_LINK_WARNING.
55914         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55915         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55916         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55917         * doc/posix-functions/getpeername.texi: Mention the new module
55918         'getpeername'.
55919         * doc/posix-functions/getsockname.texi: Mention the new module
55920         'getsockname'.
55921         * doc/posix-functions/getsockopt.texi: Mention the new module
55922         'getsockopt'.
55923         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55924         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55925         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55926         * doc/posix-functions/send.texi: Mention the new module 'send'.
55927         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55928         * doc/posix-functions/setsockopt.texi: Mention the new module
55929         'setsockopt'.
55930         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55931         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55932         listen, connect, accept.
55933         * modules/select-tests (Depends-on): Likewise.
55934
55935 2008-10-05  Bruno Haible  <bruno@clisp.org>
55936
55937         * lib/winsock.c (strerror): Remove unused #undef.
55938         (rpl_close): Remove unused local variable.
55939
55940         * modules/sys_socket (Depends-on); Add errno.
55941
55942 2008-10-05  Bruno Haible  <bruno@clisp.org>
55943
55944         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55945         (select): Add a link warning when the 'select' module is not used.
55946         * modules/sys_select (Depends-on): Add link-warning.
55947         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55948         Suggested by Paolo Bonzini.
55949
55950 2008-10-05  Jim Meyering  <meyering@redhat.com>
55951
55952         bootstrap: check for LT_INIT more portably
55953         * build-aux/bootstrap: Avoid using grep -E, since it's not
55954         portable enough.  Suggestion from Bruno Haible.
55955
55956 2008-10-05  Bruno Haible  <bruno@clisp.org>
55957
55958         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55959         as being fixed by gnulib.
55960
55961 2008-10-05  Bruno Haible  <bruno@clisp.org>
55962
55963         * modules/select-tests: New file, mostly copied from
55964         modules/sys_select-tests.
55965         * tests/test-select.c: New file, mostly copied from
55966         tests/test-sys_select.c.
55967         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55968         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55969         (Makefile.am): Remove test_sys_select_LDADD.
55970
55971         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55972         to an undefined symbol, for an error message.
55973         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55974         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55975         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55976         winsock-select.c here.
55977         * modules/sys_select (Files): Remove lib/winsock-select.c.
55978         (Depends-on): Remove alloca.
55979         (Makefile.am): Substitute GNULIB_SELECT.
55980         * modules/select: New file.
55981         * doc/posix-functions/select.texi: Update.
55982
55983 2008-10-05  Bruno Haible  <bruno@clisp.org>
55984
55985         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55986         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55987         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55988         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55989         getdtablesize.
55990         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55991         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55992
55993 2008-10-05  Bruno Haible  <bruno@clisp.org>
55994
55995         * modules/getdtablesize-tests: New file.
55996         * tests/test-getdtablesize.c: New file.
55997
55998         New module 'getdtablesize'.
55999         * lib/unistd.in.h (getdtablesize): New declaration.
56000         * lib/getdtablesize.c: New file.
56001         * m4/getdtablesize.m4: New file.
56002         * modules/getdtablesize: New file.
56003         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56004         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56005         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56006         HAVE_GETDTABLESIZE.
56007         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56008
56009 2008-10-05  Bruno Haible  <bruno@clisp.org>
56010
56011         * modules/sched (Makefile.am): Fix typo.
56012         Reported by Simon Josefsson.
56013
56014 2008-10-05  Jim Meyering  <meyering@redhat.com>
56015
56016         bootstrap: check for LT_INIT, too
56017         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56018         are deprecated.  Suggestion from Ralf Wildenhues.
56019
56020 2008-10-05  Bruno Haible  <bruno@clisp.org>
56021
56022         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56023         overriding them by ours.
56024         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56025
56026 2008-10-05  Jim Meyering  <meyering@redhat.com>
56027
56028         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56029         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56030         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56031
56032 2008-10-04  Bruno Haible  <bruno@clisp.org>
56033
56034         * modules/dup2 (License): Change to LGPLv2+.
56035         * modules/sleep (License): Likewise.
56036         * modules/perror (License): Likewise.
56037         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56038         Blake.
56039         * modules/signal (License): Likewise.
56040         * modules/sigprocmask (License): Likewise.
56041         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56042         Meyering.
56043
56044 2008-10-04  Bruno Haible  <bruno@clisp.org>
56045
56046         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56047         Reported by Rainer Tammer <tammer@tammer.net>.
56048
56049 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56050             Bruno Haible  <bruno@clisp.org>
56051
56052         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56053         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56054         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56055
56056 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56057
56058         filevercmp: new module
56059         * lib/filevercmp.h: New function filevercmp comparing version strings.
56060         * lib/filevercmp.c: Implementation of filevercmp function.
56061         * modules/filevercmp: Module metadata.
56062         * tests/test-filevercmp.c: Unit test for new module.
56063         * modules/filevercmp-tests: Unit test metadata.
56064         * MODULES.html.sh: Add filevercmp module.
56065
56066 2008-10-03  Bruno Haible  <bruno@clisp.org>
56067
56068         * lib/c-ctype.h: Add comment.
56069         Reported by Jim Meyering.
56070
56071 2008-10-02  Bruno Haible  <bruno@clisp.org>
56072
56073         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56074
56075 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56076
56077         * build-aux/bootstrap: Allow renaming bootstrap, and change the
56078         name of bootstrap.conf accordingly.
56079
56080 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56081
56082         * build-aux/bootstrap: Install git-merge-changelog configuration
56083         items into .gitconfig if needed.
56084
56085 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56086
56087         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56088         git repository, and initialize/update it accordingly.
56089
56090 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56091
56092         * modules/fsync-tests: New file.
56093         * tests/test-fsync.c: New file.
56094
56095         New module 'fsync'.
56096         * lib/fsync.c: New file.
56097         * m4/fsync.m4: New file.
56098         * modules/fsync: New file.
56099         * lib/unistd.in.h (fsync): New declaration.
56100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56101         GNULIB_FSYNC and HAVE_FSYNC.
56102         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56103         * MODULES.html.sh (posix_functions): Add fsync.
56104         * doc/posix-functions/fsync.texi: Mention the new module.
56105
56106 2008-10-02  Jim Meyering  <meyering@redhat.com>
56107
56108         fts.c: sync with similar code from coreutils' remove.c
56109         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56110         Guard also with "#if defined __linux__", since for now at least,
56111         this code is Linux-kernel-specific.
56112
56113 2008-10-02  Jim Meyering  <meyering@redhat.com>
56114
56115         fts: bug fixes
56116         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56117         Include <sys/vfs.h>, not <sys/statfs.h>.
56118
56119         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56120         Include <sys/vfs.h>, not <sys/statfs.h>.
56121
56122 2008-10-01  Bruno Haible  <bruno@clisp.org>
56123
56124         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56125         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56126         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56127         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56128         * doc/posix-functions/posix_spawnp.texi: Likewise.
56129         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56130         whether posix_spawn actually works.
56131         * m4/pipe.m4 (gl_PIPE): Likewise.
56132         * modules/execute (Files): Add m4/posix_spawn.m4.
56133         * modules/pipe (Files): Add m4/posix_spawn.m4.
56134         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56135
56136 2008-10-01  Jim Meyering  <meyering@redhat.com>
56137
56138         remove trailing spaces
56139         * NEWS: Likewise.
56140         * lib/poll.c (poll): Likewise.
56141         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56142         * lib/winsock.c (rpl_close): Likewise.
56143         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56144         * modules/yield: Likewise.
56145         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56146         * tests/test-sys_select.c (connect_to_socket): Likewise.
56147
56148         fts.c: adjust a new interface to be more generally useful
56149         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56150         (fts_build): Adjust caller.
56151
56152 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56153
56154         * modules/cond-tests: New file.
56155         * tests/test-cond.c: New file.
56156
56157 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56158             Bruno Haible  <bruno@clisp.org>
56159
56160         * modules/cond (Dependencies): Add errno, time.
56161         * lib/glthread/cond.h: Include <time.h>.
56162         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56163         across platforms.
56164
56165 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56166             Bruno Haible  <bruno@clisp.org>
56167
56168         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56169
56170 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56171             Bruno Haible  <bruno@clisp.org>
56172
56173         * modules/tls-tests (Depends-on): Add thread, yield.
56174         (configure.ac): Remove all checks.
56175         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56176         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56177         gl_thread_self): Remove definitions. Include glthread/thread.h and
56178         glthread/yield.h instead.
56179         (test_tls): Pass an additional NULL argument to gl_thread_join.
56180
56181 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56182             Bruno Haible  <bruno@clisp.org>
56183
56184         * modules/lock-tests (Depends-on): Add thread, yield.
56185         (configure.ac): Remove all checks.
56186         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56187         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56188         gl_thread_self): Remove definitions. Include glthread/thread.h and
56189         glthread/yield.h instead.
56190         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56191         additional NULL argument to gl_thread_join.
56192
56193 2008-09-30  Bruno Haible  <bruno@clisp.org>
56194
56195         Fix the Win32 implementation of the 'thread' module.
56196         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56197         pointer type.
56198         (gl_thread_self): Invoke gl_thread_self_func.
56199         (gl_thread_self_func): New declaration.
56200         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56201         (do_init_self_key, init_self_key): New functions.
56202         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56203         Remove some fields.
56204         (running_threads, running_lock): Remove variables.
56205         (get_current_thread_handle): New function.
56206         (gl_thread_self_func, wrapper_func, glthread_create_func,
56207         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56208         simplified.
56209
56210 2008-09-30  Bruno Haible  <bruno@clisp.org>
56211
56212         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56213         files.
56214
56215 2008-09-30  Jim Meyering  <meyering@redhat.com>
56216
56217         fts.m4: correct the test for statfs.f_type
56218         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56219         when checking for statfs.f_type.
56220
56221 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56222
56223         tests: avoid some compiler warnings
56224         * tests/test-memchr.c (main): Pass NULL indirectly.
56225         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56226
56227 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
56228
56229         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56230         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56231         exactly specified dayshifts.
56232         (dayshift): New rule.
56233         (rel): Add dayshift.
56234         (relative_time_table) [tomorrow, yesterday, today, now]:
56235         Use tDAY_SHIFT in place of tDAY_UNIT.
56236         * tests/test-getdate.c: Add tests for now-disallowed countable
56237         dayshifts, e.g., "4 yesterday ago".
56238
56239 2008-09-29  Bruno Haible  <bruno@clisp.org>
56240
56241         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56242         * tests/test-posix_spawn1.in.sh: Renamed from
56243         tests/test-posix_spawn.in.sh.
56244         * tests/test-posix_spawn2.c: New file.
56245         * tests/test-posix_spawn2.in.sh: New file.
56246         * modules/posix_spawnp-tests (Files): Update.
56247         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56248
56249 2008-09-29  Bruno Haible  <bruno@clisp.org>
56250
56251         Propagate effects of putenv/setenv/unsetenv to child processes.
56252         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56253         * lib/pipe.c (create_pipe): Likewise.
56254
56255 2008-09-29  Bruno Haible  <bruno@clisp.org>
56256
56257         Enable use of shell scripts as executables in mingw.
56258         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56259         run the program as a shell script.
56260         * lib/pipe.c (create_pipe): Likewise.
56261         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56262         resulting array.
56263
56264 2008-09-29  Eric Blake  <ebb9@byu.net>
56265
56266         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56267
56268 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56269
56270         * doc/posix-functions/accept.texi: Update mingw problems.
56271         * doc/posix-functions/bind.texi: Update mingw problems.
56272         * doc/posix-functions/close.texi: Update mingw problems.
56273         * doc/posix-functions/connect.texi: Update mingw problems.
56274         * doc/posix-functions/getpeername.texi: Update mingw problems.
56275         * doc/posix-functions/getsockname.texi: Update mingw problems.
56276         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56277         * doc/posix-functions/ioctl.texi: Update mingw problems.
56278         * doc/posix-functions/listen.texi: Update mingw problems.
56279         * doc/posix-functions/recv.texi: Update mingw problems.
56280         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56281         * doc/posix-functions/select.texi: Update mingw problems.
56282         * doc/posix-functions/send.texi: Update mingw problems.
56283         * doc/posix-functions/sendto.texi: Update mingw problems.
56284         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56285         * doc/posix-functions/socket.texi: Update mingw problems.
56286
56287 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56288             Bruno Haible  <bruno@clisp.org>
56289
56290         * lib/sys_select.in.h: Include sys/time.h.
56291         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56292         * modules/sys_select: Depend on sys_time.
56293         * tests/test-sys_select.c: Test that sys/select.h defines struct
56294         timeval fully.
56295
56296 2008-09-29  Bruno Haible  <bruno@clisp.org>
56297
56298         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56299         * lib/sys_select.in.h: Likewise.
56300
56301 2008-09-29  Bruno Haible  <bruno@clisp.org>
56302
56303         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56304
56305 2008-09-29  Bruno Haible  <bruno@clisp.org>
56306
56307         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56308         Set LIBSOCKET instead of augmenting LIBS.
56309         * modules/sockets (Link): New section.
56310         * modules/sockets-tests (test_sockets_LDADD): New variable.
56311         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56312         * modules/poll-tests (test_poll_LDADD): New variable.
56313         * NEWS: Document the change.
56314
56315 2008-09-29  Bruno Haible  <bruno@clisp.org>
56316
56317         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56318         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56319         ARPA_INET_H directly.
56320         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56321
56322 2008-09-28  Bruno Haible  <bruno@clisp.org>
56323
56324         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56325         from gl_HEADER_SYS_SOCKET.
56326         (gl_HEADER_SYS_SOCKET): Invoke it.
56327         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56328
56329 2008-09-28  Bruno Haible  <bruno@clisp.org>
56330
56331         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56332         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56333         Needed on OSF/1 4.0.
56334
56335 2008-09-28  Bruno Haible  <bruno@clisp.org>
56336
56337         Override open more carefully.
56338         * lib/open.c (orig_open): New function.
56339         (rpl_open): Use orig_open instead of open.
56340         * lib/fcntl.in.h: Add special invocation convention.
56341         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56342         (gl_FUNC_OPEN): Invoke it.
56343
56344         Override freopen more carefully.
56345         * lib/freopen.c (orig_freopen): New function.
56346         (rpl_freopen): Use orig_freopen instead of freopen.
56347         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56348         (gl_FUNC_FREOPEN): Invoke it.
56349
56350         Override fopen more carefully.
56351         * lib/fopen.c (orig_fopen): New function.
56352         (rpl_fopen): Use orig_fopen instead of fopen.
56353         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56354         (gl_FUNC_FOPEN): Invoke it.
56355         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56356
56357 2008-09-28  Bruno Haible  <bruno@clisp.org>
56358
56359         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56360         SIGPIPE.
56361
56362 2008-09-28  Bruno Haible  <bruno@clisp.org>
56363
56364         * tests/test-sigaction.c (handler, main): Disable the check whether
56365         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56366         glibc systems with LinuxThreads.
56367
56368 2008-09-28  Bruno Haible  <bruno@clisp.org>
56369
56370         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56371
56372         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56373         with AIX xlc.
56374         * lib/fcntl.in.h (open): Likewise.
56375         Reported by Rainer Tammer <tammer@tammer.net>.
56376
56377 2008-09-28  Bruno Haible  <bruno@clisp.org>
56378
56379         * modules/posix_spawnp-tests: New file.
56380         * tests/test-posix_spawn.c: New file.
56381         * tests/test-posix_spawn.in.sh: New file.
56382
56383         New module 'posix_spawnp'.
56384         * modules/posix_spawnp: New file.
56385         * lib/spawnp.c: New file, from GNU libc with modifications.
56386         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56387
56388         New module 'posix_spawn'.
56389         * modules/posix_spawn: New file.
56390         * lib/spawn.c: New file, from GNU libc with modifications.
56391         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56392
56393         New module 'posix_spawnattr_destroy'.
56394         * modules/posix_spawnattr_destroy: New file.
56395         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56396         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56397         module.
56398
56399         New module 'posix_spawnattr_setsigmask'.
56400         * modules/posix_spawnattr_setsigmask: New file.
56401         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56402         modifications.
56403         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56404         new module.
56405
56406         New module 'posix_spawnattr_getsigmask'.
56407         * modules/posix_spawnattr_getsigmask: New file.
56408         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56409         modifications.
56410         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56411         new module.
56412
56413         New module 'posix_spawnattr_setsigdefault'.
56414         * modules/posix_spawnattr_setsigdefault: New file.
56415         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56416         modifications.
56417         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56418         new module.
56419
56420         New module 'posix_spawnattr_getsigdefault'.
56421         * modules/posix_spawnattr_getsigdefault: New file.
56422         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56423         modifications.
56424         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56425         new module.
56426
56427         New module 'posix_spawnattr_setschedpolicy'.
56428         * modules/posix_spawnattr_setschedpolicy: New file.
56429         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56430         modifications.
56431         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56432         new module.
56433
56434         New module 'posix_spawnattr_getschedpolicy'.
56435         * modules/posix_spawnattr_getschedpolicy: New file.
56436         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56437         modifications.
56438         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56439         new module.
56440
56441         New module 'posix_spawnattr_setschedparam'.
56442         * modules/posix_spawnattr_setschedparam: New file.
56443         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56444         modifications.
56445         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56446         new module.
56447
56448         New module 'posix_spawnattr_getschedparam'.
56449         * modules/posix_spawnattr_getschedparam: New file.
56450         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56451         modifications.
56452         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56453         new module.
56454
56455         New module 'posix_spawnattr_setpgroup'.
56456         * modules/posix_spawnattr_setpgroup: New file.
56457         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56458         modifications.
56459         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56460         module.
56461
56462         New module 'posix_spawnattr_getpgroup'.
56463         * modules/posix_spawnattr_getpgroup: New file.
56464         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56465         modifications.
56466         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56467         module.
56468
56469         New module 'posix_spawnattr_setflags'.
56470         * modules/posix_spawnattr_setflags: New file.
56471         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56472         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56473         module.
56474
56475         New module 'posix_spawnattr_getflags'.
56476         * modules/posix_spawnattr_getflags: New file.
56477         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56478         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56479         module.
56480
56481         New module 'posix_spawnattr_init'.
56482         * modules/posix_spawnattr_init: New file.
56483         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56484         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56485         module.
56486
56487         New module 'posix_spawn_file_actions_destroy'.
56488         * modules/posix_spawn_file_actions_destroy: New file.
56489         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56490         modifications.
56491         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56492         the new module.
56493
56494         New module 'posix_spawn_file_actions_addopen'.
56495         * modules/posix_spawn_file_actions_addopen: New file.
56496         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56497         modifications.
56498         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56499         the new module.
56500
56501         New module 'posix_spawn_file_actions_adddup2'.
56502         * modules/posix_spawn_file_actions_adddup2: New file.
56503         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56504         modifications.
56505         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56506         the new module.
56507
56508         New module 'posix_spawn_file_actions_addclose'.
56509         * modules/posix_spawn_file_actions_addclose: New file.
56510         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56511         modifications.
56512         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56513         the new module.
56514
56515         New module 'posix_spawn_file_actions_init'.
56516         * modules/posix_spawn_file_actions_init: New file.
56517         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56518         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56519         new module.
56520
56521         New module 'posix_spawn-internal'.
56522         * modules/posix_spawn-internal: New file.
56523         * lib/spawn_int.h: New file, from GNU libc with modifications.
56524         * lib/spawni.c: New file, from GNU libc with modifications.
56525         * m4/posix_spawn.m4: New file.
56526
56527         New module 'spawn'.
56528         * modules/spawn: New file.
56529         * lib/spawn.in.h: New file, from GNU libc with modifications.
56530         * m4/spawn_h.m4: New file.
56531         * doc/posix-headers/spawn.texi: Mention the new module.
56532
56533 2008-09-28  Bruno Haible  <bruno@clisp.org>
56534
56535         * modules/sched-tests: New file.
56536         * tests/test-sched.c: New file.
56537
56538         New module 'sched'.
56539         * modules/sched: New file.
56540         * lib/sched.in.h: New file.
56541         * m4/sched_h.m4: New file.
56542         * doc/posix-headers/sched.texi: Mention the new module.
56543
56544 2008-09-27  Eric Blake  <ebb9@byu.net>
56545
56546         Fix previous patch, and tweak references to $0.
56547         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56548         (func_version, func_gnulib_dir): Don't call this program
56549         gnulib-tool.
56550         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56551         with using $0 in function.
56552         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56553         (func_fatal_error): Reuse the name the user invoked us with.
56554
56555 2008-09-27  Bruno Haible  <bruno@clisp.org>
56556
56557         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56558         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56559         (gl_ICONV_H): Not here.
56560         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56561         instead of assigning ICONV_H directly.
56562
56563         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56564         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56565         WCHAR_H directly.
56566
56567 2008-09-27  Bruno Haible  <bruno@clisp.org>
56568
56569         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56570         * modules/arpa_inet (Depends-on): Add link-warning.
56571         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56572         * modules/unistd (Makefile.am): Likewise.
56573
56574 2008-09-26  Bruno Haible  <bruno@clisp.org>
56575
56576         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56577         variables.
56578         (func_version): Essentially copied from gnulib-tool.
56579         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56580         func_readlink): Copied from gnulib-tool.
56581
56582 2008-09-26  Bruno Haible  <bruno@clisp.org>
56583
56584         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56585         invoking git-version-gen.
56586
56587 2008-09-26  Bruno Haible  <bruno@clisp.org>
56588
56589         * posix-modules: Update to directory names changed on 2008-01-19.
56590         Remove commas in output before splitting into words. No more need to
56591         avoid 'ftruncate' since 2007-02-19.
56592
56593 2008-09-26  Bruno Haible  <bruno@clisp.org>
56594
56595         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56596
56597 2008-09-26  Bruno Haible  <bruno@clisp.org>
56598
56599         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56600         * modules/fwriteerror (Depends-on): Add errno.
56601
56602 2008-09-26  Bruno Haible  <bruno@clisp.org>
56603
56604         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56605         * tests/test-vc-list-files-cvs.sh: Likewise.
56606
56607 2008-09-26  Bruno Haible  <bruno@clisp.org>
56608
56609         * doc/posix-headers/sys_resource.texi: Reorder items.
56610
56611 2008-09-26  Jim Meyering  <meyering@redhat.com>
56612
56613         fts: tweak inode comparison function
56614         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56615         inode numbers, as documented.
56616
56617         fts: sort dirent entries on inode number before traversing
56618         This avoids a quadratic, seek-related performance penalty when
56619         operating on a directory containing many entries (measurable at 10k;
56620         3.5 hours at 2 million entries with a cold cache) on certain types
56621         of file systems, including ext3 and ext4, but not tmpfs.
56622         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56623         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56624         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56625         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56626         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56627         (fts_build): Set the stat.st_ino member from D_INO.
56628         If it is likely to be useful, sort dirent entries on inode number.
56629
56630         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56631         and the struct statfs.f_type member.
56632         * modules/fts (Depends-on): Add d-ino.
56633
56634 2008-09-26  Bruno Haible  <bruno@clisp.org>
56635
56636         * modules/sigpipe-die (Depends-on): Add sigpipe.
56637
56638         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56639         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56640         and GNULIB_STDIO_H_SIGPIPE are set.
56641         * lib/stdio-write.c: New file.
56642         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56643         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56644         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56645         REPLACE_STDIO_WRITE_FUNCS.
56646         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56647         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56648         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56649         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56650         * modules/stdio (Files): Add lib/stdio-write.c.
56651         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56652         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56653         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56654         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56655         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56656         REPLACE_FPRINTF_POSIX.
56657         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56658         REPLACE_PRINTF_POSIX.
56659         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56660         REPLACE_VFPRINTF_POSIX.
56661         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56662         REPLACE_VPRINTF_POSIX.
56663         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56664         SIGPIPE issue.
56665         * doc/posix-functions/fputc.texi: Likewise.
56666         * doc/posix-functions/fputs.texi: Likewise.
56667         * doc/posix-functions/fwrite.texi: Likewise.
56668         * doc/posix-functions/printf.texi: Likewise.
56669         * doc/posix-functions/putc.texi: Likewise.
56670         * doc/posix-functions/putchar.texi: Likewise.
56671         * doc/posix-functions/puts.texi: Likewise.
56672         * doc/posix-functions/vfprintf.texi: Likewise.
56673         * doc/posix-functions/vprintf.texi: Likewise.
56674
56675         * modules/safe-write (Depends-on): Add write.
56676
56677         * modules/sigpipe-tests: New file.
56678         * tests/test-sigpipe.c: New file.
56679         * tests/test-sigpipe.sh: New file.
56680
56681         * modules/write: New file.
56682         * lib/unistd.in.h: Include <sys/types.h>.
56683         (write): New declaration.
56684         * lib/write.c: New file.
56685         * m4/write.m4: New file.
56686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56687         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56688         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56689         GNULIB_WRITE, REPLACE_WRITE.
56690         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56691         and the SIGPIPE issue.
56692
56693         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56694         (raise): New declaration.
56695         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56696         (ext_signal): New function.
56697         (rpl_raise): New function.
56698         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56699         GNULIB_SIGNAL_H_SIGPIPE.
56700         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56701         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56702
56703         * modules/sigpipe: New file.
56704         * m4/sigpipe.m4: New file.
56705
56706 2008-09-25  Derek Price  <derek@ximbiot.com>
56707             Bruno Haible  <bruno@clisp.org>
56708
56709         * gnulib-tool (func_import): Report all license incompatibilities, not
56710         just the first one.
56711
56712 2008-09-25  Bruno Haible  <bruno@clisp.org>
56713
56714         * gnulib-tool (func_import): When computing the edits, consider not
56715         only the Makefile.ams that exist but also those that will be generated.
56716
56717 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56718
56719         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56720         fixes gnulib-tool --test warning about duplicate dependency.
56721
56722 2008-09-25  Bruno Haible  <bruno@clisp.org>
56723
56724         * gnulib-tool: Don't ask the user to perform edits in the generated
56725         Makefile.ams.
56726         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56727         apply to the Makefile.am being generated.
56728         (func_emit_tests_Makefile_am): Execute edits that apply to the
56729         Makefile.am being generated.
56730         (func_import): Setup list of Makefile.am edits before emitting the
56731         Makefile.ams, not at the end.
56732         (func_create_testdir): Update.
56733         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56734
56735 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56736
56737         * gnulib-tool (func_import): Store the --tests-base option in the
56738         comment in gnulib-cache.m4.
56739
56740 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56741
56742         * NEWS: Document increased portability that sys_select now provides.
56743
56744         * lib/sys_select.in.h: Install select wrapper.
56745         * lib/sys_socket.in.h: Use more descriptive name when there is no
56746         select wrapper.
56747         * lib/winsock-select.c: New.
56748         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56749         Require gl_HEADER_SYS_SOCKET.
56750         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56751         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56752         * tests/test-sys_select.c: Add functional tests.
56753
56754 2008-09-24  Eric Blake  <ebb9@byu.net>
56755
56756         open, fopen: close fd leak in last patch
56757         * lib/open.c (rpl_open): Close fd before returning error.
56758         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56759         * doc/posix-functions/open.texi (open): Document that Irix also
56760         has the bug.
56761         * doc/posix-functions/fopen.texi (fopen): Likewise.
56762         Reported by Paolo Bonzini.
56763
56764 2008-09-24  Bruno Haible  <bruno@clisp.org>
56765
56766         Ensure that a filename ending in a slash cannot be used to access a
56767         non-directory.
56768         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56769         to check whether it's really a directory.
56770         * lib/fopen.c: Include fcntl.h, unistd.h.
56771         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56772         and fdopen().
56773         * modules/fopen (Depends-on): Add unistd.
56774         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56775         * tests/test-fopen.c (main): Likewise.
56776         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56777         * doc/posix-functions/fopen.texi: Likewise.
56778         Reported by Eric Blake.
56779
56780 2008-09-23  Eric Blake  <ebb9@byu.net>
56781
56782         c-stack: avoid compiler optimizations when provoking overflow
56783         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56784         recursion harder to optimize, to ensure a stack overflow occurs.
56785         * tests/test-c-stack.c (recurse): Likewise.
56786         Borrowed from libsigsegv.
56787
56788         c-stack: work around Irix sigaltstack bug
56789         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56790         whether sigaltstack uses wrong end of stack_t (copied in part from
56791         libsigsegv).
56792         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56793         Irix bug, without requiring an over-allocation.
56794         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56795         bug.
56796
56797         fopen: document mingw bug on directories
56798         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56799         not allowing a stream visiting a directory, even though reading
56800         from such a stream is not portable.
56801
56802 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56803
56804         * lib/poll.c: Rewrite.
56805         * modules/poll: Depend on alloca.
56806
56807 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56808
56809         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56810         instead define prototypes for a full set of wrappers.  Ensure
56811         that Cygwin does not use the compatibility code, which is only
56812         for MinGW.
56813         * lib/winsock.c: New.
56814         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56815         * modules/sys_socket: Add lib/winsock.c.
56816
56817         * modules/poll-tests: Add errno and perror.
56818         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56819
56820 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56821
56822         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56823
56824 2008-09-23  Bruno Haible  <bruno@clisp.org>
56825
56826         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56827         * doc/glibc-functions/*: Likewise.
56828
56829 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56830
56831         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56832         success.
56833
56834 2008-09-22  Eric Blake  <ebb9@byu.net>
56835             Bruno Haible  <bruno@clisp.org>
56836
56837         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56838         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56839         supply %A but mishandle pseudo-NaN.
56840         Reported by Simon Josefsson.
56841
56842 2008-09-21  Bruno Haible  <bruno@clisp.org>
56843
56844         * tests/test-lock.c (main): Tweak skip message.
56845         * tests/test-tls.c (main): Likewise.
56846
56847 2008-09-21  Bruno Haible  <bruno@clisp.org>
56848
56849         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56850         whether 'struct sigaction' has sa_sigaction here...
56851         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56852         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56853
56854 2008-09-21  Bruno Haible  <bruno@clisp.org>
56855
56856         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56857         section.
56858         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56859         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56860         the new section.
56861         (Support for obsolete systems lacking POSIX:2001): New section.
56862         (String handling <string.h>): Move strdup to the new section.
56863         Suggested by Simon Josefsson and Paolo Bonzini.
56864
56865 2008-09-21  Bruno Haible  <bruno@clisp.org>
56866
56867         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56868         exponents in %e and %g results on 'long double'. Needed for mingw's
56869         improved *printf functions.
56870         * tests/test-vasprintf-posix.c (test_function): Likewise.
56871         * tests/test-snprintf-posix.h (test_function): Likewise.
56872         * tests/test-sprintf-posix.h (test_function): Likewise.
56873         Reported by Eric Blake.
56874
56875 2008-09-21  Bruno Haible  <bruno@clisp.org>
56876
56877         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56878         * tests/test-sprintf-posix.h (test_function): Likewise.
56879
56880 2008-09-21  Bruno Haible  <bruno@clisp.org>
56881
56882         * modules/getpass (Depends-on): Add strdup-posix.
56883
56884         New module 'strdup-posix'.
56885         * modules/strdup-posix: New file.
56886         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56887         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56888         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56889         REPLACE_STRDUP.
56890         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56891         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56892         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56893         strdup-posix.
56894
56895         * modules/strdup (Depends-on): Remove malloc-posix.
56896
56897 2008-09-20  Bruno Haible  <bruno@clisp.org>
56898
56899         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56900         Wildenhues.
56901
56902 2008-09-20  Bruno Haible  <bruno@clisp.org>
56903
56904         Ensure that wint_t gets defined on IRIX 5.3.
56905         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56906         * lib/wctype.in.h (wint_t): Likewise.
56907         (__wctype_wint_t): Remove type.
56908         (isw*): Use wint_t instead of __wctype_wint_t.
56909         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56910         * modules/wchar (Files): Add m4/wint_t.m4.
56911         (Makefile.am): Substitute HAVE_WINT_T.
56912         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56913         * tests/test-wctype.c: Check that wint_t is defined.
56914         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56915         * doc/posix-headers/wctype.texi: Likewise.
56916         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56917
56918 2008-09-18  Bruno Haible  <bruno@clisp.org>
56919
56920         * gnulib-tool (func_exit): Update comment.
56921
56922 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56923
56924         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56925         assumes strdup exists and does not depend on strdup to return
56926         ENOMEM on out of memory conditions.
56927
56928 2008-09-18  Bruno Haible  <bruno@clisp.org>
56929
56930         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
56931         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56932         digits for the exponent.
56933
56934 2008-09-18  Jim Meyering  <meyering@redhat.com>
56935             Bruno Haible  <bruno@clisp.org>
56936
56937         * lib/vasnprintf.c (decimal_point_char): Define also if
56938         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56939
56940 2008-09-16  Bruno Haible  <bruno@clisp.org>
56941         and Eric Blake  <ebb9@byu.net>
56942
56943         vasnprintf: support Irix 5.3
56944         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56945         that mishandle long double infinity.
56946         Reported by Tom G. Christensen.
56947
56948 2008-09-16  Bruno Haible  <bruno@clisp.org>
56949
56950         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56951         Solaris 9.
56952         * doc/glibc-functions/alphasort.texi: Likewise.
56953         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56954
56955 2008-09-16  Jim Meyering  <meyering@redhat.com>
56956
56957         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56958         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56959         a umask modification leak out of a subshell.  Otherwise, the
56960         opensolaris /bin/sh would be accepted and thus cause unwarranted
56961         failures in the coreutils test suite.
56962
56963 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56964
56965         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56966         to succeed.
56967
56968 2008-09-16  Jim Meyering  <meyering@redhat.com>
56969
56970         avoid spurious test failure when library is built without ACL support
56971         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56972         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56973         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56974         * tests/test-copy-acl.sh: Likewise.
56975
56976 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56977
56978         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56979         based on character occurrence counts.
56980
56981 2008-09-15  Eric Blake  <ebb9@byu.net>
56982
56983         tests: avoid some compiler warnings
56984         * tests/test-memchr.c (main): Pass NULL indirectly.
56985         * tests/test-closein.c (main): Avoid unused variable.
56986
56987 2008-09-15  Bruno Haible  <bruno@clisp.org>
56988
56989         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56990         are missing on OpenBSD 4.0 individually.
56991         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56992
56993 2008-09-15  Bruno Haible  <bruno@clisp.org>
56994
56995         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56996         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56997         * doc/posix-functions/perror.texi: Likewise.
56998         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56999         is missing.
57000         Reported by Eric Blake.
57001
57002         * lib/errno.in.h: Use replacement values >= 2000.
57003         Reported by Eric Blake.
57004
57005 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57006
57007         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57008         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57009         limit.
57010         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57011         compareseq was aborted.
57012
57013 2008-09-14  Bruno Haible  <bruno@clisp.org>
57014
57015         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57016         yvec_edit_count.
57017         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57018         (fstrcmp_bounded): Simplify result computation accordingly.
57019
57020 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57021
57022         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57023         (fstrcmp): Define in terms of fstrcmp_bounded.
57024         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57025         lower_bound argument.
57026         Return quickly if the result is certainly < lower_bound.
57027         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57028
57029 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57030
57031         * lib/diffseq.h (EARLY_ABORT): New macro.
57032         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57033         evaluates to true.
57034
57035 2008-09-14  Bruno Haible  <bruno@clisp.org>
57036
57037         * modules/perror-tests: New file.
57038         * tests/test-perror.sh: New file.
57039         * tests/test-perror.c: New file.
57040
57041         New module 'perror'.
57042         * lib/stdio.in.h (perror): New declaration.
57043         * lib/perror.c: New file.
57044         * m4/perror.m4: New file.
57045         * modules/perror: New file.
57046         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57047         * doc/posix-functions/perror.texi: Mention the perror module.
57048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57049         REPLACE_PERROR.
57050         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57051         REPLACE_PERROR.
57052
57053 2008-09-14  Bruno Haible  <bruno@clisp.org>
57054
57055         * modules/stdio (Makefile.am): Reorder to match the order in
57056         lib/stdio.in.h.
57057         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57058
57059 2008-09-13  Bruno Haible  <bruno@clisp.org>
57060
57061         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57062
57063 2008-09-13  Bruno Haible  <bruno@clisp.org>
57064
57065         Extend strerror to cover the added errno values.
57066         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57067         (rpl_strerror): Provide error messages for the added errno values and
57068         for the WSA* values.
57069         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57070         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57071         strerror.
57072         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57073         * modules/strerror (Depends-on): Add errno.
57074         * doc/posix-functions/strerror.texi: Document the change.
57075         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57076         and EOVERFLOW.
57077
57078 2008-09-13  Bruno Haible  <bruno@clisp.org>
57079
57080         * modules/EOVERFLOW: Remove file.
57081         * m4/eoverflow.m4: Remove file.
57082         * modules/EOVERFLOW-tests: Remove file.
57083         * tests/test-EOVERFLOW.c: Remove file.
57084         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57085         * modules/ftell (Depends-on): Likewise.
57086         * modules/getdelim (Depends-on): Likewise.
57087         * modules/getugroups (Depends-on): Likewise.
57088         * modules/poll (Depends-on): Likewise.
57089         * modules/snprintf (Depends-on): Likewise.
57090         * modules/sprintf-posix (Depends-on): Likewise.
57091         * modules/vasnprintf (Depends-on): Likewise.
57092         * modules/vasprintf (Depends-on): Likewise.
57093         * modules/vfprintf-posix (Depends-on): Likewise.
57094         * modules/vsnprintf (Depends-on): Likewise.
57095         * modules/vsprintf-posix (Depends-on): Likewise.
57096         * modules/xvasprintf (Depends-on): Likewise.
57097         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57098         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57099         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57100         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57101         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57102         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57103         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57104         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57105         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57106         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57107         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57108         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57109         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57110         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57111         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57112         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57113         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57114         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57115         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57116         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57117         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57118         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57119         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57120         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57121         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57122         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57123         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57124         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57125         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57126         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57127         * MODULES.html.sh: Remove EOVERFLOW.
57128         * NEWS: Mention the change.
57129
57130 2008-09-13  Bruno Haible  <bruno@clisp.org>
57131
57132         * modules/errno-tests: New file.
57133         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57134
57135         * lib/errno.in.h: New file.
57136         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57137         * modules/errno: New file.
57138         * doc/posix-headers/errno.texi: Update documentation.
57139         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57140
57141 2008-09-13  Bruno Haible  <bruno@clisp.org>
57142
57143         * tests/test-poll.c: Use #if for native Windows, rather than testing
57144         __MSVCRT__.
57145
57146 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57147             Bruno Haible  <bruno@clisp.org>
57148
57149         * lib/glob.c: Don't include <pwd.h> on native Windows.
57150         (WINDOWS32): New macro.
57151         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57152
57153 2008-09-13  Bruno Haible  <bruno@clisp.org>
57154
57155         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57156         (ETIMEDOUT): Remove macro.
57157         (glthread_cond_timedwait_multithreaded): New declaration.
57158         (glthread_cond_timedwait): Use it.
57159         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57160         (glthread_cond_timedwait_multithreaded): New function.
57161
57162 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57163
57164         * modules/poll-tests: Do not check for io.h.
57165         * tests/test-poll.c: Check for __MSVCRT__ instead.
57166
57167 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57168
57169         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57170         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57171         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57172
57173 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57174
57175         * modules/poll-tests: New.
57176         * tests/test-poll.c: New.
57177
57178 2008-09-12  Eric Blake  <ebb9@byu.net>
57179
57180         frexp: test for NetBSD failure on -0.0
57181         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57182         not all, bugs from NetBSD 3.0 have been fixed.
57183         * doc/posix-functions/frexp.texi (frexp): Document bug.
57184         Reported by Thomas Klausner.
57185
57186         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57187         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57188         literal -0.0.
57189         Reported by Jonathan C. Patschke <jp@centtech.com>.
57190
57191 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57192
57193         * lib/glthread/cond.h: Use dummy implementation also if
57194         USE_WIN32_THREADS.
57195
57196 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57197
57198         * modules/fnmatch-posix (License): Change to LGPLv2+.
57199         * modules/fnmatch-gnu (License): Likewise.
57200
57201 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57202
57203         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57204
57205 2008-09-11  Jim Meyering  <meyering@redhat.com>
57206
57207         * users.txt: Add gtk-vnc.
57208
57209 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57210
57211         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57212         rotate amounts.
57213
57214         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57215         required for 16-bit and 8-bit rotates.
57216         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57217         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57218         UINT8_MAX instead of hard-coded constants.
57219         Suggested by Paul Eggert.
57220
57221 2008-09-07  Bruno Haible  <bruno@clisp.org>
57222
57223         * tests/test-striconveh.c (main): Check behaviour when converting from
57224         UTF-7.
57225
57226         Make striconveh work better with stateful encodings.
57227         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57228         that iconv does not increment the inptr when returning -1/EINVAL.
57229
57230 2008-09-07  Bruno Haible  <bruno@clisp.org>
57231
57232         * build-aux/config.rpath: Update according to libtool-2.2.6.
57233         * build-aux/config.libpath: Likewise.
57234
57235 2008-09-06  Bruno Haible  <bruno@clisp.org>
57236
57237         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57238         * lib/freadptr.c (freadptr): Likewise.
57239         * lib/freadseek.c (freadptrinc): Likewise.
57240         Reported by Simon Josefsson.
57241
57242 2008-09-06  Bruno Haible  <bruno@clisp.org>
57243
57244         * modules/freadptr (License): Change to LGPLv2+.
57245         * modules/freadseek (License): Likewise.
57246         Suggested by Eric Blake.
57247
57248         * modules/memchr2 (License): Change to LGPLv2+.
57249         Approved by Eric Blake.
57250
57251 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57252             Bruno Haible  <bruno@clisp.org>
57253
57254         Make gnulib-tool work with native 'sed' on AIX.
57255         * gnulib-tool (sed_noop): New variable.
57256         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57257         func_add_or_update, func_create_testdir): Use it to initialize sed
57258         script variables.
57259         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57260
57261 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57262             Bruno Haible  <bruno@clisp.org>
57263
57264         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57265         also works after #include directives.
57266
57267 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
57268
57269         getdate.y: reject an out-of-range timezone value
57270         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57271         the range [-24...+24].  When specified with only one or two digits,
57272         * tests/test-getdate.c: Tests for the fix.
57273         * doc/getdate.texi: Document this change.
57274
57275 2008-09-03  Bruno Haible  <bruno@clisp.org>
57276
57277         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57278
57279 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57280
57281         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57282         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57283         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57284         Blake <ebb9@byu.net>.
57285
57286         * tests/test-bitrotate.c: Add more test vectors.
57287
57288 2008-09-02  Eric Blake  <ebb9@byu.net>
57289
57290         vasnprintf-posix: handle large precision via %.*d
57291         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57292         when handling it ourselves.
57293         * tests/test-vasnprintf-posix.c (test_function): Add test.
57294         * tests/test-snprintf-posix.h (test_function): Likewise.
57295         * tests/test-sprintf-posix.h (test_function): Likewise.
57296         * tests/test-vasprintf-posix.c (test_function): Likewise.
57297         Reported by Alain Guibert.
57298
57299 2008-09-01  Eric Blake  <ebb9@byu.net>
57300
57301         c-stack: make configure-time check more robust
57302         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57303         successful sigaction call.
57304         Reported by Tom G. Christensen.
57305
57306 2008-09-01  Bruno Haible  <bruno@clisp.org>
57307
57308         New module 'findprog-lgpl'.
57309         * modules/findprog-lgpl: New file.
57310         * lib/findprog-lgpl.c: New file.
57311         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57312         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57313         to decide whether to use strdup or xstrdup, concatenated_filename or
57314         xconcatenated_filename.
57315
57316 2008-09-01  Bruno Haible  <bruno@clisp.org>
57317
57318         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57319         'xconcat-filename' (GPL).
57320         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57321         (License): Change to LGPLv2+.
57322         * modules/xconcat-filename: New file.
57323         * lib/concat-filename.h (concatenated_filename): Change specification.
57324         (xconcatenated_filename): New declaration.
57325         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57326         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57327         memory situations.
57328         * lib/xconcat-filename.c: New file.
57329         * NEWS: Mention the change.
57330         * lib/findprog.c: Include concat-filename.h, not filename.h.
57331         (find_in_path): Use xconcatenated_filename instead of
57332         concatenated_filename.
57333         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57334         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57335         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57336         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57337         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57338         instead of concatenated_filename.
57339         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57340         (execute_java_class): Use xconcatenated_filename instead of
57341         concatenated_filename.
57342         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57343         * modules/javacomp (Depends-on): Likewise.
57344         * modules/javaexec (Depends-on): Likewise.
57345
57346 2008-09-01  Bruno Haible  <bruno@clisp.org>
57347
57348         Split module 'filename' into 'filename' and 'concat-filename'.
57349         * modules/filename: Keep only lib/filename.h.
57350         (License): Change to LGPLv2+.
57351         * modules/concat-filename: New file, extracted from modules/filename.
57352         * lib/filename.h (concatenated_filename): Remove declaration.
57353         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57354         * lib/concat-filename.c: Include concat-filename.h.
57355         * NEWS: Mention the change.
57356
57357 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57358
57359         * lib/bitrotate.h (rotl8, rotr8): Add.
57360
57361         * modules/bitrotate (configure.ac): Need
57362         AC_REQUIRE([AC_C_INLINE]).
57363         (Description): Mention stdint.h.  Reported by Bruno Haible
57364         <bruno@clisp.org>.
57365
57366         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57367         Paolo Bonzini <bonzini@gnu.org>.
57368
57369 2008-08-31  Bruno Haible  <bruno@clisp.org>
57370
57371         Assume Solaris specific bi-arch conventions on Solaris systems.
57372         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57373         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57374         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57375         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57376         like acl_libdirstem.
57377         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57378         acl_libdirstem.
57379         * NEWS: Mention the change.
57380         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57381
57382 2008-08-31  Jim Meyering  <meyering@redhat.com>
57383
57384         * lib/strftime.h: Add comments describing the two added arguments.
57385
57386         remove duplicate #include directives
57387         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57388         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57389
57390 2008-08-31  Bruno Haible  <bruno@clisp.org>
57391
57392         New module 'sigpipe-die'.
57393         * modules/sigpipe-die: New file.
57394         * lib/sigpipe-die.h: New file.
57395         * lib/sigpipe-die.c: New file.
57396         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57397
57398 2008-08-31  Bruno Haible  <bruno@clisp.org>
57399
57400         Don't override previously installed signal handlers.
57401         * lib/fatal-signal.c (saved_sigactions): New variable.
57402         (uninstall_handlers): Reset the signal to the saved handler, not
57403         to SIG_DFL (except when ignored).
57404         (install_handlers): Save the previous handlers.
57405
57406 2008-08-30  Bruno Haible  <bruno@clisp.org>
57407
57408         * gnulib-tool (func_reset_sigpipe): New function.
57409         (func_get_automake_snippet, func_modules_transitive_closure,
57410         func_import): Invoke it before a join command that reads from stdin,
57411         to avoid "echo: write error: Broken pipe" error messages on stderr.
57412         Reported by Sam Steingold <sds@gnu.org>.
57413
57414 2008-08-30  Bruno Haible  <bruno@clisp.org>
57415
57416         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57417         Code copied from m4/open.m4.
57418         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57419         access and the filename ends in a slash. Code copied from lib/open.c.
57420         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57421         * tests/test-fopen.c (main): Check against bug with trailing slash.
57422
57423 2008-08-29  Bruno Haible  <bruno@clisp.org>
57424
57425         Avoid some "gcc -pedantic" warnings.
57426         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57427         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57428         * lib/dirent.in.h: Likewise.
57429         * lib/fcntl.in.h: Likewise.
57430         * lib/float.in.h: Likewise.
57431         * lib/iconv.in.h: Likewise.
57432         * lib/inttypes.in.h: Likewise.
57433         * lib/locale.in.h: Likewise.
57434         * lib/math.in.h: Likewise.
57435         * lib/netinet_in.in.h: Likewise.
57436         * lib/search.in.h: Likewise.
57437         * lib/signal.in.h: Likewise.
57438         * lib/stdarg.in.h: Likewise.
57439         * lib/stdint.in.h: Likewise.
57440         * lib/stdio.in.h: Likewise.
57441         * lib/stdlib.in.h: Likewise.
57442         * lib/string.in.h: Likewise.
57443         * lib/strings.in.h: Likewise.
57444         * lib/sys_select.in.h: Likewise.
57445         * lib/sys_socket.in.h: Likewise.
57446         * lib/sys_stat.in.h: Likewise.
57447         * lib/sys_time.in.h: Likewise.
57448         * lib/sysexits.in.h: Likewise.
57449         * lib/time.in.h: Likewise.
57450         * lib/unistd.in.h: Likewise.
57451         * lib/wchar.in.h: Likewise.
57452         * lib/wctype.in.h: Likewise.
57453         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57454         * modules/fchdir (Makefile.am): Likewise.
57455         * modules/fcntl (Makefile.am): Likewise.
57456         * modules/float (Makefile.am): Likewise.
57457         * modules/iconv_open (Makefile.am): Likewise.
57458         * modules/inttypes (Makefile.am): Likewise.
57459         * modules/locale (Makefile.am): Likewise.
57460         * modules/math (Makefile.am): Likewise.
57461         * modules/netinet_in (Makefile.am): Likewise.
57462         * modules/search (Makefile.am): Likewise.
57463         * modules/signal (Makefile.am): Likewise.
57464         * modules/stdarg (Makefile.am): Likewise.
57465         * modules/stdint (Makefile.am): Likewise.
57466         * modules/stdio (Makefile.am): Likewise.
57467         * modules/stdlib (Makefile.am): Likewise.
57468         * modules/string (Makefile.am): Likewise.
57469         * modules/strings (Makefile.am): Likewise.
57470         * modules/sys_select (Makefile.am): Likewise.
57471         * modules/sys_socket (Makefile.am): Likewise.
57472         * modules/sys_stat (Makefile.am): Likewise.
57473         * modules/sys_time (Makefile.am): Likewise.
57474         * modules/sysexits (Makefile.am): Likewise.
57475         * modules/time (Makefile.am): Likewise.
57476         * modules/unistd (Makefile.am): Likewise.
57477         * modules/wchar (Makefile.am): Likewise.
57478         * modules/wctype (Makefile.am): Likewise.
57479         Reported by Reuben Thomas <rrt@sc3d.org>.
57480
57481 2008-08-29  Bruno Haible  <bruno@clisp.org>
57482
57483         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57484         any more.
57485
57486 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57487
57488         * MODULES.html.sh (Misc): Add bitrotate.
57489
57490         * modules/bitrotate: New file.
57491
57492         * lib/bitrotate.h: New file.
57493
57494         * modules/bitrotate-tests: New file.
57495
57496         * tests/test-bitrotate.c: New file.
57497
57498         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57499         on the bitrotate module.
57500
57501         * lib/arctwo.c: Use new bitrotate module.
57502
57503 2008-08-29  Jim Meyering  <meyering@redhat.com>
57504
57505         bootstrap: merge changes from coreutils
57506         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57507         of copied files.  Remove a kludge, now that this is fixed.
57508         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57509         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57510         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57511
57512 2008-08-29  Bruno Haible  <bruno@clisp.org>
57513
57514         * MODULES.html.sh: Remove --cvs-urls option.
57515
57516 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57517
57518         maint.mk: adjust to file name change
57519         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57520
57521 2008-08-28  Jim Meyering  <meyering@redhat.com>
57522
57523         * modules/getndelim2 (License): Relicense to LGPLv2+.
57524         Approved by Richard Stallman for the version of 1995, and by
57525         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57526
57527 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57528
57529         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57530         dummy if one is not available.  Do not touch them if
57531         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57532         (getc_maybe_unlocked): New.
57533         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57534
57535 2008-08-26  Eric Blake  <ebb9@byu.net>
57536
57537         doc/INSTALL: resync from autoconf
57538         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57539         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57540         moving...
57541         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57542         * INSTALL: Regenerate.
57543         * INSTALL.ISO: New file.
57544         * INSTALL.UTF-8: Likewise.
57545
57546 2008-08-26  Jim Meyering  <meyering@redhat.com>
57547
57548         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57549         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57550         these definitions conditional, so that they may be overridden, too.
57551
57552 2008-08-26  Bruno Haible  <bruno@clisp.org>
57553
57554         Generate INSTALL file variants with prettier quotes.
57555         * doc/Makefile (INSTALL_PRELUDE): New macro.
57556         (INSTALL): Use it.
57557         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57558
57559 2008-08-26  Bruno Haible  <bruno@clisp.org>
57560
57561         Run makeinfo in an English locale.
57562         * doc/Makefile (MAKEINFO): New variable.
57563
57564 2008-08-26  Bruno Haible  <bruno@clisp.org>
57565
57566         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57567         Suggested by Eric Blake.
57568
57569 2008-08-25  Bruno Haible  <bruno@clisp.org>
57570
57571         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57572
57573 2008-08-25  Eric Blake  <ebb9@byu.net>
57574
57575         c-stack: test that stack overflow can be caught
57576         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57577         that platform allows handling stack overflow; at least OS/2 EMX
57578         has sigaltstack, but crashes before transferring control to
57579         handler on stack overflow.
57580         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57581         check for HAVE_STACK_OVERFLOW_HANDLING.
57582         Reported by Elbert Pol.
57583
57584 2008-08-25  Bruno Haible  <bruno@clisp.org>
57585
57586         * doc/posix-functions/strftime.texi: Fix description of strftime
57587         module.
57588
57589 2008-08-24  Bruno Haible  <bruno@clisp.org>
57590
57591         * tests/uniwidth/test-uc_width2.c: New file.
57592         * tests/uniwidth/test-uc_width2.sh: New file.
57593         * modules/uniwidth/width-tests (Files): Add the new files.
57594         (TESTS): Add uniwidth/test-uc_width2.sh.
57595         (TESTS_ENVIRONMENT): New variable.
57596         (check_PROGRAMS): Add test-uc_width2.
57597         (test_uc_width2_SOURCES): New variable.
57598
57599         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57600         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57601         not 0x00AB.
57602         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57603
57604 2008-08-22  Eric Blake  <ebb9@byu.net>
57605
57606         test-lock, test-tls: mention why a test is skipped
57607         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57608         skipped.
57609         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57610
57611         count-one-bits: relax license
57612         * modules/count-one-bits (License): Relicense to LGPLv2+.
57613         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57614
57615 2008-08-22  Andreas Schwab  <schwab@suse.de>
57616
57617         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57618         Remove spurious space in assignment.
57619
57620 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57621
57622         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57623         Paul Eggert <eggert@CS.UCLA.EDU>.
57624
57625 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57626
57627         * modules/gettext: Add m4/threadlib.m4.
57628
57629 2008-08-19  Eric Blake  <ebb9@byu.net>
57630
57631         test-c-stack: fix compilation failure on FreeBSD 5.0
57632         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57633         headers before <sys/resource.h>.
57634         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57635         the bug.
57636         Reported by Nelson H. F. Beebe.
57637
57638         strverscmp: migrate from "strverscmp.h" to <string.h>
57639         * modules/string (Makefile.am): Add new hooks.
57640         * modules/strverscmp (Files): Remove strverscmp.h.
57641         (Depends-on): Add string.
57642         (configure.ac): Add indicator.
57643         (Include): Mention new header.
57644         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57645         defaults.
57646         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57647         results.
57648         * lib/strverscmp.h: Delete.
57649         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57650         * tests/test-strverscmp.c (includes): Adjust client.
57651         * lib/check-version.c (includes): Likewise.
57652         * NEWS: Document the change.
57653
57654         strverscmp: add unit test
57655         * modules/strverscmp-tests: New file.
57656         * tests/test-strverscmp.c: Likewise.
57657
57658 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57659
57660         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57661         regarding Windows crypto stuff, from Mono.
57662
57663 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57664
57665         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57666         if present, for intel RND.  Return error on failures.
57667
57668 2008-08-18  Ben Pfaff  <blp@gnu.org>
57669
57670         gitlog-to-changelog: give better diagnostic for failed pipe-open
57671         * build-aux/gitlog-to-changelog: Improve error message: suggest
57672         that the version of Git may be too old.
57673
57674 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57675
57676         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57677         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57678
57679 2008-08-18  Bruno Haible  <bruno@clisp.org>
57680
57681         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57682         pthread_in_use().
57683
57684 2008-08-18  Bruno Haible  <bruno@clisp.org>
57685
57686         * lib/glthread/threadlib.c: Include <pthread.h>.
57687
57688 2008-08-18  Bruno Haible  <bruno@clisp.org>
57689
57690         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57691         glthread_recursive_lock_* macros.
57692         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57693         Fix syntax error.
57694
57695 2008-08-18  Bruno Haible  <bruno@clisp.org>
57696
57697         * lib/glthread/thread.c: Avoid forcing a context switch right after
57698         thread creation.
57699
57700 2008-08-17  Bruno Haible  <bruno@clisp.org>
57701
57702         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57703         * lib/glthread/thread.h: Provide Win32 specific implementation.
57704         * modules/thread (Files): Add lib/glthread/thread.c.
57705         (Depends-on): Add lock.
57706         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57707
57708 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57709
57710         New module 'yield'.
57711         * modules/yield: New file.
57712         * lib/glthread/yield.h: New file.
57713         * m4/yield.m4: New file.
57714         * MODULES.html.sh (Multithreading): Add yield.
57715
57716 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57717
57718         New module 'thread'.
57719         * modules/thread: New file.
57720         * lib/glthread/thread.h: New file.
57721         * m4/thread.m4: New file.
57722         * MODULES.html.sh (Multithreading): Add thread.
57723
57724 2008-08-17  Bruno Haible  <bruno@clisp.org>
57725
57726         * lib/glthread/lock.h: Include <stdlib.h> always.
57727         * lib/glthread/tls.h: Likewise.
57728         * lib/glthread/cond.h: Likewise.
57729
57730 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57731
57732         New module 'cond'.
57733         * modules/cond: New file.
57734         * lib/glthread/cond.h: New file.
57735         * lib/glthread/cond.c: New file.
57736         * m4/cond.m4: New file.
57737         * MODULES.html.sh (Multithreading): Add cond.
57738
57739 2008-08-16  Eric Blake  <ebb9@byu.net>
57740
57741         c-stack: fix regression on Irix 5.3 from 2008-06-21
57742         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57743         sa_sigaction...
57744         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57745         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57746         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57747         * modules/signal (Makefile.am): Use the value.
57748         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57749         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57750         * doc/posix-headers/signal.texi (signal.h): Document this
57751         portability issue.
57752         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57753         Reported by Tom G. Christensen.
57754
57755 2008-08-17  Bruno Haible  <bruno@clisp.org>
57756
57757         New module 'threadlib'.
57758         * modules/threadlib: New file.
57759         * lib/glthread/threadlib.c: New file, extracted from
57760         lib/glthread/lock.c.
57761         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57762         functions.
57763         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57764         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57765         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57766         macros.
57767         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57768         (gl_DISABLE_THREADS): Remove macro.
57769         * modules/lock (Files): Remove build-aux/config.rpath.
57770         (Depends-on): Remove havelib. Add threadlib.
57771         (configure.ac-early): Remove section.
57772         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57773         * modules/tls (Depends-on): Remove lock. Add threadlib.
57774         (Link): New section, copied from threadlib.
57775         * MODULES.html.sh (Multithreading): Add threadlib.
57776
57777 2008-08-14  Bruno Haible  <bruno@clisp.org>
57778
57779         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57780         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57781         glthread_rwlock_unlock, glthread_rwlock_destroy,
57782         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57783         glthread_recursive_lock_destroy): Define as macros always.
57784         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57785         glthread_lock_lock.
57786         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57787         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57788         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57789         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57790         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57791         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57792         (glthread_recursive_lock_lock_func): Renamed from
57793         glthread_recursive_lock_lock.
57794         (glthread_recursive_lock_unlock_func): Renamed from
57795         glthread_recursive_lock_unlock.
57796         (glthread_recursive_lock_destroy_func): Renamed from
57797         glthread_recursive_lock_destroy.
57798
57799 2008-08-14  Bruno Haible  <bruno@clisp.org>
57800
57801         * lib/glthread/lock.h: Renamed from lib/lock.h.
57802         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57803         * lib/glthread/tls.h: Renamed from lib/tls.h.
57804         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57805         * lib/fstrcmp.c: Update includes.
57806         * lib/strsignal.c: Update includes.
57807         * modules/lock (Files, Makefile.am): Update.
57808         (Include): Change to "glthread/lock.h".
57809         * modules/tls (Files, Makefile.am): Update.
57810         (Include): Change to "glthread/tls.h".
57811         * tests/test-lock.c: Update includes.
57812         * tests/test-tls.c: Update includes.
57813         * NEWS: Mention the renamed header files.
57814
57815 2008-08-11  Jim Meyering  <meyering@redhat.com>
57816
57817         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57818
57819 2008-08-11  Eric Blake  <ebb9@byu.net>
57820
57821         test-c-stack: avoid C99-ism
57822         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57823         before statement.
57824         Reported by Alain Guibert.
57825
57826 2008-08-10  Jim Meyering  <meyering@redhat.com>
57827
57828         ensure that return value of uinttostr et al are not ignored
57829         * lib/inttostr.h (__GNUC_PREREQ): Define.
57830         (__attribute_warn_unused_result__): Define.
57831         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57832
57833 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57834
57835         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57836         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57837
57838 2008-08-07  Jim Meyering  <meyering@redhat.com>
57839
57840         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57841
57842         * modules/mkstemp (License): Relicense under LGPLv2+.
57843         * modules/tempname (License): Likewise.
57844
57845 2008-08-06  Bruno Haible  <bruno@clisp.org>
57846
57847         * lib/poll.c (poll): Further micro-optimization.
57848
57849 2008-08-06  Jim Meyering  <meyering@redhat.com>
57850
57851         inet_pton.c: use locale-independent tolower
57852         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57853         (inet_pton6): Use c_tolower rather than tolower.
57854         * modules/inet_pton (Depends-on): Add c-ctype.
57855
57856 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57857
57858         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57859         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57860
57861 2008-08-06  Jim Meyering  <meyering@redhat.com>
57862
57863         * modules/inet_pton (License): Relicense under LGPLv2+.
57864
57865 2008-08-03  Bruno Haible  <bruno@clisp.org>
57866
57867         Additional non-aborting API for lock and tls.
57868         * lib/lock.h: Include <errno.h>.
57869         (glthread_lock_init): New macro/function.
57870         (gl_lock_init): Define as wrapper around glthread_lock_init.
57871         (glthread_lock_lock): New macro/function.
57872         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57873         (glthread_lock_unlock): New macro/function.
57874         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57875         (glthread_lock_destroy): New macro/function.
57876         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57877         (glthread_rwlock_init): New macro/function.
57878         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57879         (glthread_rwlock_rdlock): New macro/function.
57880         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57881         (glthread_rwlock_wrlock): New macro/function.
57882         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57883         (glthread_rwlock_unlock): New macro/function.
57884         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57885         (glthread_rwlock_destroy): New macro/function.
57886         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57887         (glthread_recursive_lock_init): New macro/function.
57888         (gl_recursive_lock_init): Define as wrapper around
57889         glthread_recursive_lock_init.
57890         (glthread_recursive_lock_lock): New macro/function.
57891         (gl_recursive_lock_lock): Define as wrapper around
57892         glthread_recursive_lock_lock.
57893         (glthread_recursive_lock_unlock): New macro/function.
57894         (gl_recursive_lock_unlock): Define as wrapper around
57895         glthread_recursive_lock_unlock.
57896         (glthread_recursive_lock_destroy): New macro/function.
57897         (gl_recursive_lock_destroy): Define as wrapper around
57898         glthread_recursive_lock_destroy.
57899         (glthread_once): New macro/function.
57900         (gl_once): Define as wrapper around glthread_once.
57901         Update function declarations.
57902         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57903         glthread_rwlock_init. Return error code.
57904         (glthread_rwlock_rdlock_multithreaded): Renamed from
57905         glthread_rwlock_rdlock. Return error code.
57906         (glthread_rwlock_wrlock_multithreaded): Renamed from
57907         glthread_rwlock_wrlock. Return error code.
57908         (glthread_rwlock_unlock_multithreaded): Renamed from
57909         glthread_rwlock_unlock. Return error code.
57910         (glthread_rwlock_destroy_multithreaded): Renamed from
57911         glthread_rwlock_destroy. Return error code.
57912         (glthread_recursive_lock_init_multithreaded): Renamed from
57913         glthread_recursive_lock_init. Return error code.
57914         (glthread_recursive_lock_lock_multithreaded): Renamed from
57915         glthread_recursive_lock_lock. Return error code.
57916         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57917         glthread_recursive_lock_unlock. Return error code.
57918         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57919         glthread_recursive_lock_destroy. Return error code.
57920         (glthread_once_call): Make static.
57921         (glthread_once_multithreaded): Renamed from glthread_once.
57922         * lib/tls.h: Include <errno.h>.
57923         (glthread_tls_key_init): New macro/function.
57924         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57925         (glthread_tls_set): New macro/function.
57926         (gl_tls_set): Define as wrapper around glthread_tls_set.
57927         (glthread_tls_key_destroy): New macro/function.
57928         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57929         Update function declarations.
57930         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57931         glthread_tls_get.
57932         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57933
57934 2008-08-04  Eric Blake  <ebb9@byu.net>
57935
57936         gnumakefile: use space, not TAB, outside of targets
57937         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57938
57939 2008-08-02  Jim Meyering  <meyering@redhat.com>
57940
57941         getdate.y: avoid locale-dependent date parsing failure
57942         In Turkish locales, getdate would fail to recognize keywords
57943         containing a lowercase "i".  The solution is not to rely on
57944         locale-sensitive case-conversion.
57945         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57946         (lookup_word): Use c_toupper in place of toupper.
57947         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57948         Reported by Vefa Bicakci <bicave@superonline.com> in
57949         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57950         * modules/getdate (Depends-on): Add c-ctype.
57951
57952 2008-08-02  Bruno Haible  <bruno@clisp.org>
57953
57954         * gnulib-tool (func_import): When updating or creating a .gitignore
57955         file, prepend each added line with a slash, and ignore leading slashes
57956         from the existing lines.
57957         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57958
57959 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57960
57961         Portability fix for GNU make 3.79.1.
57962         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57963         versions do not understand.
57964
57965 2008-08-01  Bruno Haible  <bruno@clisp.org>
57966
57967         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57968         * tests/test-isnanf.h (zero): New variable.
57969         (main): Avoid literal -0.0f.
57970         * tests/test-isnand.h (zero): New variable.
57971         (main): Avoid literal -0.0.
57972         * tests/test-isnanl.h (zero): New variable.
57973         (main): Avoid literal -0.0L.
57974         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57975         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57976         -0.0, -0.0L.
57977         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57978         (test_signbitd): Avoid literal -0.0.
57979         (test_signbitl): Avoid literal -0.0L.
57980         * tests/test-ceilf1.c (zero): New variable.
57981         (main): Avoid literal -0.0f.
57982         * tests/test-ceill.c (zero): New variable.
57983         (main): Avoid literal -0.0L.
57984         * tests/test-floorf1.c (zero): New variable.
57985         (main): Avoid literal -0.0f.
57986         * tests/test-floorl.c (zero): New variable.
57987         (main): Avoid literal -0.0L.
57988         * tests/test-roundf1.c (zero): New variable.
57989         (main): Avoid literal -0.0f.
57990         * tests/test-round1.c (zero): New variable.
57991         (main): Avoid literal -0.0.
57992         * tests/test-roundl.c (zero): New variable.
57993         (main): Avoid literal -0.0L.
57994         * tests/test-truncf1.c (zero): New variable.
57995         (main): Avoid literal -0.0f.
57996         * tests/test-trunc1.c (zero): New variable.
57997         (main): Avoid literal -0.0.
57998         * tests/test-truncl.c (zero): New variable.
57999         (main): Avoid literal -0.0L.
58000         * tests/test-frexp.c (zero): New variable.
58001         (main): Avoid literal -0.0.
58002         * tests/test-frexpl.c (zero): New variable.
58003         (main): Avoid literal -0.0L.
58004         * tests/test-ldexpl.c (zero): New variable.
58005         (main): Avoid literal -0.0L.
58006         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58007         (zerod, zerol): New variables.
58008         (test_function): Avoid literals -0.0, -0.0L.
58009         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58010         (zerod, zerol): New variables.
58011         (test_function): Avoid literals -0.0, -0.0L.
58012         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58013         (zerod, zerol): New variables.
58014         (test_function): Avoid literals -0.0, -0.0L.
58015         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58016         (zerod, zerol): New variables.
58017         (test_function): Avoid literals -0.0, -0.0L.
58018         * tests/test-strtod.c (zero): New variable.
58019         (main): Avoid literal -0.0.
58020         Reported by Jonathan C. Patschke <jp@centtech.com>.
58021
58022 2008-07-31  Jim Meyering  <meyering@redhat.com>
58023
58024         sha256.h: correct definition of SHA224_DIGEST_SIZE
58025         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58026         Reported by Paulie Pena IV <paulie4@gmail.com>.
58027         Define as 224 / 8, rather than as a literal.
58028         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58029         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58030         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58031
58032 2008-07-31  Bruno Haible  <bruno@clisp.org>
58033
58034         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58035         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58036         Reported by Jonathan Patschke <jp@centtech.com>.
58037
58038 2008-07-31  Bruno Haible  <bruno@clisp.org>
58039
58040         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58041         Reported by Paolo Bonzini <bonzini@gnu.org>.
58042
58043 2008-07-30  Eric Blake  <ebb9@byu.net>
58044
58045         test-strtod: allow compilation without -lm
58046         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58047         Reported by Dennis Clarke <blastwave@gmail.com>.
58048
58049 2008-07-28  Jim Meyering  <meyering@redhat.com>
58050
58051         bootstrap: work also when there are no .po files in po/
58052         * build-aux/bootstrap (update_po_files): Complete the change
58053         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58054
58055 2008-07-27  Jim Meyering  <meyering@redhat.com>
58056
58057         * users.txt: Add zile.
58058
58059 2008-07-26  Ben Pfaff  <blp@gnu.org>
58060
58061         Add missing dependencies on new m4/exponent[fdl].m4 files.
58062         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58063         * modules/isnand-nolibm: Add m4/exponentd.m4.
58064         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58065         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58066         m4/isnan[fdl].m4, because the macros actually used moved.
58067         Reported by Jim Meyering.
58068
58069 2008-07-14  Ben Pfaff  <blp@gnu.org>
58070
58071         Add isinf module.
58072         * lib/isinf.c: New file.
58073         * lib/math.in.h: Define isinf macro if we have decided to replace
58074         it.
58075         * m4/isinf.m4: New file.
58076         * m4/math_h.m4: Initialize and substitute variables for isinf
58077         module.
58078         * modules/isinf: New file.
58079         * modules/isinf-tests: New file.
58080         * modules/math: Add substitutions for new module.
58081         * tests/test-isinf.c: New file.
58082         * doc/posix-functions/isinf.texi: Mention new module.
58083         * MODULES.html.sh: Mention new module.
58084
58085 2008-07-14  Ben Pfaff  <blp@gnu.org>
58086
58087         Factor out some macros for use by additional modules.
58088         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58089         exponentf.m4.
58090         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58091         exponentd.m4.
58092         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58093         file exponentl.m4.
58094         * m4/exponentf.m4: New file.
58095         * m4/exponentd.m4: New file.
58096         * m4/exponentl.m4: New file.
58097         * modules/isnanf: Use new file m4/exponentf.m4.
58098         * modules/isnand: Use new file m4/exponentd.m4.
58099         * modules/isnanl: Use new file m4/exponentl.m4.
58100
58101 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58102
58103         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58104         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58105         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58106         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58107
58108         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58109         readlink on platforms without PATH_MAX.
58110
58111 2008-07-21  Eric Blake  <ebb9@byu.net>
58112
58113         Warn, not fail, on stale version.
58114         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58115
58116         Don't allow installation with stale devel version number.
58117         * top/GNUmakefile (_is-install-target): New macro.
58118         (_curr-ver): Forbid installation with stale version number.
58119
58120 2008-07-20  Bruno Haible  <bruno@clisp.org>
58121
58122         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58123         TESTS_ENVIRONMENT.
58124         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58125
58126 2008-07-20  Bruno Haible  <bruno@clisp.org>
58127
58128         * lib/c-stack.h (c_stack_action): Add documentation.
58129         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58130
58131 2008-07-20  Bruno Haible  <bruno@clisp.org>
58132
58133         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58134         * modules/readlink (License): Likewise.
58135
58136 2008-07-17  Eric Blake  <ebb9@byu.net>
58137
58138         * modules/c-stack (Link): Fix typo.
58139
58140         Make c-stack use libsigsegv, when available.
58141         * modules/c-stack (Depends-on): Add libsigsegv.
58142         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58143         needed.
58144         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58145         (segv_handler, overflow_handler, c_stack_action)
58146         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58147         implementation when libsigsegv is available, but only when using
58148         the library is necessary.
58149         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58150         comment, explaining why XSI check fails on Linux.
58151         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58152         * tests/test-c-stack2.sh: Tweak skip message.
58153         * NEWS: Document new link-time requirements.
58154
58155 2008-07-16  Eric Blake  <ebb9@byu.net>
58156
58157         c-stack: Expose false positives when not using libsigsegv.
58158         * modules/c-stack-tests (Files): Expand test.
58159         * tests/test-c-stack.c (main): Add means to conditionally trigger
58160         non-overflow SIGSEGV.
58161         * tests/test-c-stack2.sh: New file.
58162
58163 2008-07-14  Bruno Haible  <bruno@clisp.org>
58164
58165         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58166         Reported by Eric Blake.
58167
58168 2008-07-14  Sam Steingold  <sds@gnu.org>
58169             Bruno Haible  <bruno@clisp.org>
58170
58171         New module libsigsegv.
58172         * modules/libsigsegv: New file.
58173         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58174         modifications.
58175         * MODULES.html.sh (Signal handling): New section.
58176
58177 2008-07-14  Bruno Haible  <bruno@clisp.org>
58178
58179         * modules/unictype/ctype-* (Description): Add the word "function".
58180         Improves the resulting doc in MODULES.html.
58181
58182 2008-07-12  Ben Pfaff  <blp@gnu.org>
58183
58184         Add longlong module.
58185         * modules/longlong: New file.
58186
58187 2008-07-12  Bruno Haible  <bruno@clisp.org>
58188
58189         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58190         to empty.
58191
58192 2008-07-10  Ben Pfaff  <blp@gnu.org>
58193
58194         Add isnan module.
58195         * doc/posix-functions/isnan.texi: Mention new module.
58196         * lib/math.in.h: Define isnan macro if we have decided to replace
58197         it.
58198         * m4/isnan.m4: New file.
58199         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58200         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58201         also.
58202         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58203         redundancy.
58204         * m4/math_h.m4: Initialize and substitute variables for isnan
58205         module.
58206         * modules/isnan: New file.
58207         * modules/isnan-tests: New file.
58208         * modules/math: Add substitutions for new module.
58209         * tests/test-isnan.c: New file.
58210         * MODULES.html.sh: Mention new module.
58211
58212 2008-07-10  Ben Pfaff  <blp@gnu.org>
58213
58214         Add isnanf module.
58215         * lib/isnanf.m4: New file.
58216         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58217         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58218         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58219         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58220         * modules/isnanf: New file.
58221         * modules/isnanf-tests: New file.
58222         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58223         files.
58224         * tests/test-isnanf-nolibm.c: factored most of its contents into
58225         new file tests/test-isnanf.h.
58226         * tests/test-isnanf.h: New file.
58227         * tests/test-isnanf.c: New file.
58228         * MODULES.html.sh: Mention new module.
58229         * doc/glibc-functions/isnanf.texi: Mention new module.
58230
58231 2008-07-10  Ben Pfaff  <blp@gnu.org>
58232
58233         Add isnand module.
58234         * lib/isnand.h: New file.
58235         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58236         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58237         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58238         functionality also.
58239         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58240         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58241         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58242         * modules/isnand: New file.
58243         * modules/isnand-tests: New file.
58244         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58245         files.
58246         * tests/test-isnand-nolibm.c: factored most of its contents into
58247         new file tests/test-isnand.h.
58248         * tests/test-isnand.h: New file.
58249         * tests/test-isnand.c: New file.
58250         * MODULES.html.sh: Mention new module.
58251
58252 2008-07-10  Ben Pfaff  <blp@gnu.org>
58253
58254         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58255         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58256         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58257         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58258         * modules/isnanf-nolibm: Update references to renamed files.
58259         * modules/isnand-nolibm: Likewise.
58260         * modules/isnanf-nolibm-tests: Likewise.
58261         * modules/isnand-nolibm-tests: Likewise.
58262         * lib/frexp.c: Likewise.
58263         * lib/isfinite.c: Likewise.
58264         * lib/signbitd.c: Likewise.
58265         * lib/signbitf.c: Likewise.
58266         * lib/vasnprintf.c: Likewise.
58267         * tests/test-ceilf1.c: Likewise.
58268         * tests/test-ceilf2.c: Likewise.
58269         * tests/test-floorf1.c: Likewise.
58270         * tests/test-floorf2.c: Likewise.
58271         * tests/test-frexp.c: Likewise.
58272         * tests/test-round1.c: Likewise.
58273         * tests/test-round2.c: Likewise.
58274         * tests/test-roundf1.c: Likewise.
58275         * tests/test-strtod.c: Likewise.
58276         * tests/test-trunc1.c: Likewise.
58277         * tests/test-trunc2.c: Likewise.
58278         * tests/test-truncf1.c: Likewise.
58279         * tests/test-truncf2.c: Likewise.
58280         * NEWS: Mention the renamed header files.
58281
58282 2008-07-11  Jim Meyering  <meyering@redhat.com>
58283
58284         vc-list-files: make the last-resort awk code more portable
58285         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58286         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58287         does not support it.
58288
58289 2008-07-10  Eric Blake  <ebb9@byu.net>
58290
58291         Work with tar's bootstrap.
58292         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58293         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58294         an m4 comment.
58295
58296 2008-07-09  Jim Meyering  <meyering@redhat.com>
58297
58298         posix-shell.m4: fix typo that made this test malfunction
58299         * m4/posix-shell.m4: Remove capitalization in variable name.
58300
58301 2008-07-08  Bruno Haible  <bruno@clisp.org>
58302
58303         * m4/onceonly.m4: Update comments.
58304         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58305
58306 2008-07-04  Jim Meyering  <meyering@redhat.com>
58307
58308         * users.txt: Add vc-dwim.
58309         (bison, coreutils): Use the gitweb URL.
58310
58311 2008-07-03  Jim Meyering  <meyering@redhat.com>
58312
58313         * users.txt: Add libffcall.  From Sam Steingold.
58314
58315 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
58316
58317         getdate.y: do not ignore TZ with relative day, month or year offset
58318         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58319         relative-date-handling, since otherwise, the latter would clobber the
58320         sole output (an updated Start value) of the tz-handling block.
58321         * tests/test-getdate.c: Tests for the fix
58322
58323 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58324
58325         Recognize 'foo_LIBRARIES += libgnu.a'.
58326         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58327         makefile snippet has already specified an installation location,
58328         also using '+='.
58329
58330 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
58331
58332         getdate.y: factor out common actions
58333         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58334         Use them in place of open-coded actions.
58335
58336 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58337
58338         Add self-test for getdate module.
58339         * modules/getdate-tests: New file.
58340         * tests/test-getdate.c: New file.
58341
58342 2008-06-29  Bruno Haible  <bruno@clisp.org>
58343
58344         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58345         .gitignore.
58346         Reported by Sylvain Beucler <beuc@beuc.net>.
58347
58348 2008-06-29  Bruno Haible  <bruno@clisp.org>
58349
58350         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58351         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58352
58353 2008-06-29  Bruno Haible  <bruno@clisp.org>
58354
58355         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58356         EXTRA_DIST.
58357         Reported by Sylvain Beucler <beuc@beuc.net>.
58358
58359 2008-06-26  Jim Meyering  <meyering@redhat.com>
58360
58361         make several modules depend on the "open" module
58362         This provides slightly increased consistency when opening-for-write
58363         the name of a non-directory spelled with a trailing slash.
58364         * modules/chdir-safer: Likewise.
58365         * modules/chown: Likewise.
58366         * modules/clean-temp: Likewise.
58367         * modules/copy-file: Likewise.
58368         * modules/fchdir: Likewise.
58369         * modules/fcntl-safer: Likewise.
58370         * modules/pipe: Likewise.
58371         * modules/utime: Likewise.
58372         Prompted by Eric Blake and Bruno Haible.
58373
58374 2008-06-24  Andreas Schwab  <schwab@suse.de>
58375
58376         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58377         literals can be used as initializers for global variables.
58378
58379 2008-06-23  Eric Blake  <ebb9@byu.net>
58380
58381         Make gnulib-cache.m4 easier to diff.
58382         * gnulib-tool (func_import): Allow newlines when reading cached
58383         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58384
58385 2008-06-23  Bruno Haible  <bruno@clisp.org>
58386
58387         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58388         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58389         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58390         m4/signalblocking.m4.
58391         (gl_PREREQ_SIGACTION): Don't invoke it.
58392         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58393         gl_PREREQ_SIG_HANDLER_H.
58394         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58395         Don't check for sigaction here.
58396
58397 2008-06-23  Bruno Haible  <bruno@clisp.org>
58398
58399         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58400         (install_handlers): Don't set the SA_RESETHAND flag.
58401
58402 2008-06-23  Bruno Haible  <bruno@clisp.org>
58403
58404         * m4/sigaction.m4: Comment fixes.
58405         * lib/signal.in.h: Likewise.
58406
58407 2008-06-23  Eric Blake  <ebb9@byu.net>
58408
58409         Fix typo.
58410         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58411
58412         Avoid SA_ namespace.
58413         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58414         Reported by Ralf Wildenhues.
58415
58416         Avoid test failure due to SA_RESTORER.
58417         * tests/test-sigaction.c (SA_MASK): New macro.
58418         (main): Avoid failing due to extension flags being set.
58419         Reported by Jim Meyering.
58420
58421         Revert use of sig-handler.h in sigprocmask.c.
58422         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58423         it requires the existence of struct sigaction.
58424         * lib/sigprocmask.c (handler_t): Restore typedef.
58425         (rpl_signal, old_handlers): Use local type.
58426
58427 2008-06-22  Bruno Haible  <bruno@clisp.org>
58428
58429         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58430         conditionally.
58431         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58432
58433 2008-06-22  Bruno Haible  <bruno@clisp.org>
58434
58435         * doc/posix-functions/siginterrupt.texi: Move note.
58436
58437         * lib/signal.in.h (SA_RESTART): New macro.
58438         * lib/sigaction.c: Update comment.
58439
58440         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58441
58442         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58443         (gl_PREREQ_SIGPROCMASK): Invoke it.
58444         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58445
58446         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58447
58448         * lib/sigprocmask.c: Update a comment.
58449
58450 2008-06-21  Eric Blake  <ebb9@byu.net>
58451
58452         Use sigaction module rather than signal().
58453         * modules/c-stack (Depends-on): Add sigaction.
58454         * modules/fatal-signal (Depends-on): Likewise.
58455         * modules/nanosleep (Depends-on): Likewise.
58456         * modules/sigprocmask (Files): Add sig-handler.h.
58457         * modules/sigaction (Files): Likewise.
58458         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58459         Eggert.
58460         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58461         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58462         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58463         (init_fatal_signals): Likewise.
58464         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58465         (siginterrupt): Delete fallback.
58466         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58467         instead.
58468         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58469         siginterrupt.
58470
58471         New module sigaction, for mingw.
58472         * modules/sigaction: New module...
58473         * modules/sigaction-tests: ...and its test.
58474         * m4/sigaction.m4: New file.
58475         * lib/sigaction.c: Likewise.
58476         * tests/test-sigaction.c: Likewise.
58477         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58478         * modules/signal (Makefile.am): Likewise.
58479         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58480         needed.
58481         * doc/posix-headers/signal.texi (signal.h): Mention provided
58482         types.
58483         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58484         that sigaction is preferable.
58485         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58486         module.
58487         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58488         sigaction.
58489
58490         Improve robustness of sigprocmask by overriding signal.
58491         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58492         is in use.
58493         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58494         (SIGKILL, SIGSTOP): Provide fallbacks.
58495         (rpl_signal): Implement.
58496         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58497         signal can be called inside handlers.
58498
58499         Fix nanosleep module on mingw.
58500         * modules/nanosleep (Depends-on): Add sys_select.
58501         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58502
58503         Fix licensing of sigprocmask.
58504         * modules/raise (License): Relicense as LGPL.
58505
58506 2008-06-21  Bruno Haible  <bruno@clisp.org>
58507
58508         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58509         result if it contains question marks.
58510         Reported by Michael Geng <linux@michaelgeng.de>.
58511
58512 2008-06-19  Bruno Haible  <bruno@clisp.org>
58513
58514         Fix CVS-ism.
58515         * doc/gnulib.texi: Include updated-stamp.texi.
58516         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58517         (updated-stamp.texi): New rule.
58518         (gnulib.info): Depend on it.
58519         * doc/.gitignore: Add updated-stamp.texi.
58520         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58521
58522 2008-06-19  Bruno Haible  <bruno@clisp.org>
58523
58524         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58525         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58526
58527 2008-06-19  Eric Blake  <ebb9@byu.net>
58528
58529         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58530         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58531         Reported by Stepan Kasal.
58532
58533 2008-06-18  Bruno Haible  <bruno@clisp.org>
58534
58535         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58536         Reported by Eric Blake.
58537
58538 2008-06-18  Eric Blake  <ebb9@byu.net>
58539
58540         Work around cygwin 1.5.25 strsignal bug.
58541         * tests/test-strsignal.c: Allow for const char *.
58542         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58543
58544 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58545
58546         * users.txt: Update URL to article and add author/date
58547         information.
58548
58549 2008-06-17  Bruno Haible  <bruno@clisp.org>
58550
58551         New macro gl_DISABLE_THREADS.
58552         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58553         if the user did not pass --enable-threads or --disable-threads option.
58554         (gl_DISABLE_THREADS): New macro.
58555         Reported by Eric Blake <ebb9@byu.net>.
58556
58557 2008-06-17  Bruno Haible  <bruno@clisp.org>
58558
58559         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58560         when the macro ignores it.
58561         Based on a patch by Eric Blake <ebb9@byu.net>.
58562
58563 2008-06-17  Bruno Haible  <bruno@clisp.org>
58564
58565         * modules/tls (License): Change to LGPLv2+.
58566         Reported by Eric Blake.
58567
58568 2008-06-17  Eric Blake  <ebb9@byu.net>
58569
58570         Simplify c-stack prerequisites.
58571         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58572         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58573         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58574         check.
58575         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58576         <sys/resource.h>.
58577
58578         Move c-stack test into testsuite.
58579         * modules/c-stack-tests: New file.
58580         * lib/c-stack.c [DEBUG]: Move test program...
58581         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58582         fail test if sigaltstack is lacking.
58583         * tests/test-c-stack.sh: New driver file.
58584
58585 2008-06-16  Eric Blake  <ebb9@byu.net>
58586
58587         Use raise module consistently.
58588         * modules/fatal-signal (Depends-on): Add raise.
58589         * modules/sigprocmask (Depends-on): Likewise.
58590         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58591         * lib/sigprocmask.c (sigprocmask): Likewise.
58592         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58593         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58594
58595         Fix compliance bug in sigpending.
58596         * lib/sigprocmask.c (sigpending): Return pending array via
58597         parameter, not return value.
58598
58599 2008-06-14  Eric Blake  <ebb9@byu.net>
58600
58601         Improve obstack-printf test code.
58602         * tests/test-obstack-printf.c (test_function): Fix comment, and
58603         simplify usage of obstack_* in macros.  Add a test for coverage.
58604         Reported by Bruno Haible.
58605
58606 2008-06-14  Bruno Haible  <bruno@clisp.org>
58607
58608         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58609         array size as a constant, not as a const variable.
58610         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58611         AC_USE_SYSTEM_EXTENSIONS.
58612         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58613         Test whether the obstack_printf function actually exists.
58614         * modules/obstack-printf (Depends-on): Add extensions.
58615         (Include): Remove obstack.h.
58616         * modules/obstack-printf-posix (Depends-on): Add extensions.
58617         (Include): Remove obstack.h.
58618
58619 2008-06-13  Eric Blake  <ebb9@byu.net>
58620
58621         Add obstack-printf and obstack-printf-posix modules.
58622         * modules/obstack-printf: New file.
58623         * modules/obstack-printf-posix: Likewise.
58624         * MODULES.html.sh (Misc): Mention them.
58625         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58626         Likewise.
58627         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58628         Likewise.
58629         * modules/stdio (Makefile.am): Accomodate new modules.
58630         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58631         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58632         Declare.
58633         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58634         functions.
58635         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58636         (gl_REPLACE_OBSTACK_PRINTF): New macros
58637         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58638         * tests/test-obstack-printf.c: New file.
58639         * modules/obstack-printf-tests: Likewise.
58640         * modules/obstack-printf-posix-tests: Likewise.
58641
58642 2008-06-11  Bruno Haible  <bruno@clisp.org>
58643
58644         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58645         * lib/open.c: Include errno.h.
58646         (open): Fail when attempting to write to a file that has a trailing
58647         slash.
58648         * tests/test-open.c (main): Test against trailing slash bug.
58649         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58650
58651 2008-06-10  Bruno Haible  <bruno@clisp.org>
58652
58653         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58654         for $? to work inside the trap command, with various /bin/sh-s.
58655         * tests/test-vc-list-files-cvs.sh: Likewise.
58656
58657 2008-06-10  Bruno Haible  <bruno@clisp.org>
58658
58659         * lib/acl-internal.h: Don't include gettext.h here.
58660         * lib/set-mode-acl.c: Include gettext.h here.
58661         * lib/copy-acl.c: Likewise.
58662
58663 2008-06-10  Bruno Haible  <bruno@clisp.org>
58664
58665         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58666         * lib/wait-process.c (wait_subprocess): Likewise.
58667         * lib/execute.h (execute): Add termsigp argument.
58668         * lib/execute.c (execute): Likewise.
58669         * lib/csharpcomp.c (compile_csharp_using_pnet,
58670         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58671         * lib/csharpexec.c (execute_csharp_using_pnet,
58672         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58673         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58674         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58675         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58676         is_jikes_present): Update.
58677         * lib/javaexec.c (execute_java_class): Update.
58678         * lib/javaversion.c (execute_and_read_line): Update.
58679         * NEWS: Document the changes.
58680         Reported by Eric Blake.
58681
58682 2008-06-10  Eric Blake  <ebb9@byu.net>
58683
58684         Add missing include.
58685         * tests/test-strstr.c (includes): Add <signal.h>.
58686         * tests/test-strcasestr.c (includes): Likewise.
58687         * tests/test-memmem.c (includes): Likewise.
58688
58689 2008-06-10  Bruno Haible  <bruno@clisp.org>
58690
58691         * lib/wait-process.c (wait_subprocess): Add an assertion.
58692
58693 2008-06-10  Bruno Haible  <bruno@clisp.org>
58694
58695         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58696
58697 2008-06-10  Bruno Haible  <bruno@clisp.org>
58698
58699         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58700         using alarm().
58701         * tests/test-strcasestr.c (main): Likewise.
58702         * tests/test-strstr.c (main): Likewise.
58703
58704 2008-06-09  Bruno Haible  <bruno@clisp.org>
58705
58706         Work around the Solaris 10 ACE ACLs ABI change.
58707         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58708         declare if ACL_NO_TRIVIAL is present.
58709         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58710         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58711         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58712         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58713         define if ACL_NO_TRIVIAL is present.
58714         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58715         and use the current ABI.
58716         (file_has_acl): Use same #if condition as elsewhere.
58717         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58718         in use, and use the current ABI.
58719         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58720         Reported by Jim Meyering.
58721
58722 2008-06-09  Eric Blake  <ebb9@byu.net>
58723
58724         Work around environments that (stupidly) ignore SIGALRM.
58725         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58726         before using alarm().
58727         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58728         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58729         Reported by Ian Beckwith <ianb@erislabs.net>.
58730
58731         Produce autobuild blurb earlier in log.
58732         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58733
58734 2008-06-09  Jim Meyering  <meyering@redhat.com>
58735         and Ondřej Vašík  <ovasik@redhat.com>
58736
58737         utimens.c: correct kernel bug work-around
58738         Ondřej Vašík found that the invalid return value of 280 indicates
58739         failure, not success, and the kernel bug we're trying to work
58740         around affects not just the utimensat call, but also the fallback
58741         futimens call.
58742         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58743         not success.
58744         [HAVE_FUTIMENS]: Use the same work-around, here.
58745
58746 2008-06-09  Jim Meyering  <meyering@redhat.com>
58747
58748         add more guards around definition of ACE_-related code
58749         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58750         ALLOW and ACE_OWNER are also defined.
58751
58752 2008-06-08  Bruno Haible  <bruno@clisp.org>
58753
58754         * lib/acl-internal.h: Add me as co-author.
58755         * lib/file-has-acl.c: Likewise.
58756         * lib/set-mode-acl.c: Likewise.
58757         * lib/copy-acl.c: Likewise.
58758
58759 2008-06-08  Bruno Haible  <bruno@clisp.org>
58760
58761         Add support for AIX ACLs.
58762         * lib/acl-internal.h (acl_nontrivial): New declaration.
58763         * lib/file-has-acl.c (acl_nontrivial): New function.
58764         (file_has_acl): Add implementation using AIX 4 ACL API.
58765         * lib/set-mode-acl.c (qset_acl): Likewise.
58766         * lib/copy-acl.c (qcopy_acl): Likewise.
58767
58768 2008-06-08  Bruno Haible  <bruno@clisp.org>
58769
58770         Add support for HP-UX ACLs.
58771         * lib/acl-internal.h (acl_nontrivial): New declaration.
58772         * lib/file-has-acl.c (acl_nontrivial): New function.
58773         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58774         * lib/set-mode-acl.c (qset_acl): Likewise.
58775         * lib/copy-acl.c (qcopy_acl): Likewise.
58776
58777 2008-06-08  Bruno Haible  <bruno@clisp.org>
58778
58779         Add support for Cygwin ACLs.
58780         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58781         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58782         the chmod_or_fchmod call.
58783         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58784
58785 2008-06-08  Bruno Haible  <bruno@clisp.org>
58786
58787         Fix bug with setuid modes in Solaris 10+ code.
58788         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58789         succeeded, when the mode contains some special bits.
58790
58791 2008-06-08  Bruno Haible  <bruno@clisp.org>
58792
58793         Add support for Solaris 7..10 ACLs.
58794         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58795         declarations.
58796         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58797         functions.
58798         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58799         * lib/set-mode-acl.c (qset_acl): Likewise.
58800         * lib/copy-acl.c (qcopy_acl): Likewise.
58801
58802 2008-06-08  Bruno Haible  <bruno@clisp.org>
58803
58804         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58805         declaration.
58806         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58807         (acl_access_nontrivial): Remove MacOS X case.
58808         (file_has_acl): Use acl_extended_nontrivial.
58809         * lib/copy-acl.c (qcopy_acl): Likewise.
58810
58811 2008-06-08  Bruno Haible  <bruno@clisp.org>
58812
58813         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58814
58815 2008-06-08  Jim Meyering  <meyering@redhat.com>
58816
58817         * modules/acl (Maintainer): Add Bruno Haible.
58818
58819 2008-06-07  Bruno Haible  <bruno@clisp.org>
58820
58821         Improve support for Tru64 ACLs.
58822         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58823         ACL on OSF/1.
58824
58825 2008-06-07  Bruno Haible  <bruno@clisp.org>
58826
58827         Add support for MacOS X ACLs.
58828         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58829         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58830         * lib/set-mode-acl.c (qset_acl): Likewise.
58831         * lib/copy-acl.c (qcopy_acl): Likewise.
58832
58833 2008-06-07  Bruno Haible  <bruno@clisp.org>
58834
58835         Fix memory leak introduced on 2008-05-22.
58836         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58837         use.
58838
58839 2008-06-07  Bruno Haible  <bruno@clisp.org>
58840
58841         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58842         to construct an empty ACL.
58843
58844 2008-06-07  Bruno Haible  <bruno@clisp.org>
58845
58846         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58847         precisely.
58848         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58849
58850 2008-06-07  Bruno Haible  <bruno@clisp.org>
58851
58852         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58853         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58854
58855 2008-06-07  Bruno Haible  <bruno@clisp.org>
58856
58857         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58858         regardless of POSIX.
58859         * doc/posix-functions/_longjmp.texi: Likewise.
58860         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58861         SystemV platform in this case.
58862
58863 2008-06-06  Eric Blake  <ebb9@byu.net>
58864
58865         Document abort() bugs.
58866         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58867
58868         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58869         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58870         sigsetjmp.
58871         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58872         siglongjmp, but only as a macro.
58873         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58874         is obsolete.
58875         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58876
58877         Tweak documentation to cover cygwin argz bugs.
58878         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58879         argz bug fix; no code change needed since no cygwin releases
58880         occurred between the last fix and the bug being tested.
58881         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58882         module and recently fixed cygwin bugs.
58883         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58884         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58885         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58886         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58887         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58888         Likewise.
58889         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58890         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58891         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58892         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58893         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58894         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58895         Likewise.
58896
58897         Avoid gcc warning on cygwin.
58898         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58899         !ACL_NO_TRIVIAL]: Avoid unused variable.
58900
58901 2008-06-05  Eric Blake  <ebb9@byu.net>
58902
58903         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58904         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58905         git-version-gen fails to come up with a version.
58906         Reported by Simon Josefsson.
58907
58908 2008-06-05  Jim Meyering  <meyering@redhat.com>
58909             Paul Eggert  <eggert@cs.ucla.edu>
58910
58911         utimens.c: work around a probable Linux kernel bug
58912         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58913         appears to be a kernel bug that causes utimensat to return 280
58914         instead of 0, indicating success.
58915
58916 2008-06-04  Bruno Haible  <bruno@clisp.org>
58917
58918         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58919         2008-06-01 commit.
58920
58921 2008-06-04  Bruno Haible  <bruno@clisp.org>
58922
58923         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58924         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58925         (file_has_acl): Use it. Save errno afterwards.
58926         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58927
58928 2008-06-03  Bruno Haible  <bruno@clisp.org>
58929
58930         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58931         draft code. Simplify #ifs.
58932         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58933         Put Solaris code after POSIX-draft code. Fix comments regarding
58934         Solaris 10, HP-UX. Mention Cygwin.
58935         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58936
58937 2008-06-03  Eric Blake  <ebb9@byu.net>
58938
58939         Provide fallback for older kernels.
58940         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58941         Provide runtime fallback if kernel lacks support.
58942         Reported by Mike Frysinger.
58943
58944 2008-06-02  Bruno Haible  <bruno@clisp.org>
58945
58946         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58947         it exists.
58948
58949 2008-06-02  Bruno Haible  <bruno@clisp.org>
58950
58951         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58952         * lib/copy-acl.c (qcopy_acl): Update comment.
58953
58954 2008-06-02  Bruno Haible  <bruno@clisp.org>
58955
58956         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58957         like ACL APIs.
58958
58959 2008-06-02  Bruno Haible  <bruno@clisp.org>
58960
58961         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58962         * tests/test-set-mode-acl.sh: Likewise.
58963         * tests/test-copy-acl.sh: Likewise.
58964         * tests/test-copy-file.sh: Likewise.
58965
58966 2008-06-02  Bruno Haible  <bruno@clisp.org>
58967
58968         * tests/test-file-has-acl.sh: Remove unused code.
58969
58970 2008-06-01  Bruno Haible  <bruno@clisp.org>
58971
58972         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58973         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58974         messages.
58975         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58976
58977 2008-06-01  Bruno Haible  <bruno@clisp.org>
58978
58979         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58980         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58981         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58982         APIs.
58983         * modules/acl-tests (configure.ac): Remove tests now contained in
58984         m4/acl.m4.
58985
58986 2008-06-02  Jim Meyering  <meyering@redhat.com>
58987
58988         announce-gen: use a better key-server host name
58989         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58990         it may be more consistently reliable.  Suggested by Werner Koch
58991         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58992
58993 2008-06-01  Bruno Haible  <bruno@clisp.org>
58994
58995         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58996         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58997
58998 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58999
59000         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59001
59002 2008-06-01  Bruno Haible  <bruno@clisp.org>
59003
59004         New ACL tests.
59005         * tests/test-file-has-acl.sh: New file.
59006         * tests/test-file-has-acl.c: New file.
59007         * tests/test-set-mode-acl.sh: New file.
59008         * tests/test-set-mode-acl.c: New file.
59009         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59010         * tests/test-copy-acl.c: New file.
59011         * modules/acl-tests: New file, based on modules/copy-file-tests.
59012         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59013         (Depends-on): Add acl-tests.
59014         (configure.ac): Remove checks.
59015         (Makefile.am): Don't create test-sameacls program here any more.
59016
59017 2008-06-01  Bruno Haible  <bruno@clisp.org>
59018
59019         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59020         * tests/test-sameacls.c: Include progname.h.
59021         (main): Invoke set_program_name. Portability fixes for MacOS X,
59022         Solaris, HP-UX.
59023
59024 2008-06-01  Bruno Haible  <bruno@clisp.org>
59025
59026         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59027         function.
59028         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59029
59030 2008-06-01  Bruno Haible  <bruno@clisp.org>
59031
59032         * modules/rpmatch (Depends-on): Add strdup.
59033
59034 2008-06-01  Bruno Haible  <bruno@clisp.org>
59035
59036         * lib/pipe.c: Include unistd-safer.h.
59037         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59038         * modules/pipe (Depends-on): Add unistd-safer.
59039
59040 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59041
59042         * modules/autobuild (configure.ac): Call AB_INIT.
59043
59044 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59045
59046         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59047         Suggested by Bruno Haible <bruno@clisp.org>.
59048
59049 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59050
59051         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59052         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59053         <bruno@clisp.org>.
59054
59055 2008-05-29  Eric Blake  <ebb9@byu.net>
59056
59057         Prefer new POSIX 200x interfaces over futimesat.
59058         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59059         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59060         when available.
59061         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59062
59063 2008-05-28  Bruno Haible  <bruno@clisp.org>
59064
59065         * modules/stpcpy (License): Change to LGPLv2+.
59066         Requested by David Lutterkort <dlutter@redhat.com>.
59067
59068 2008-05-27  Bruno Haible  <bruno@clisp.org>
59069
59070         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59071         current mingw.
59072         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59073
59074 2008-05-27  Bruno Haible  <bruno@clisp.org>
59075
59076         * modules/iconv_open (Link): New section, from module 'iconv'.
59077         * modules/striconv (Link): Likewise.
59078         * modules/striconveh (Link): Likewise.
59079         * modules/xstriconv (Link): Likewise.
59080         * modules/unicodeio (Link): Likewise.
59081         * modules/propername (Link): Likewise.
59082         Reported by Jim Meyering.
59083
59084 2008-05-26  Jim Meyering  <meyering@redhat.com>
59085
59086         sha256: do not artificially restrict buffer length to be < 2^32
59087         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59088         uint32_t to size_t.
59089         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59090         to match.
59091
59092         avoid unaligned access errors, e.g., on sparc
59093         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59094         direct access through a possibly-unaligned uint64* pointer.
59095         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59096         direct access through a possibly-unaligned uint32* pointer.
59097         Prompted by this patch from Tom "spot" Callaway:
59098         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59099
59100         sha512.c: fix typo in comment
59101         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59102
59103 2008-05-25  Bruno Haible  <bruno@clisp.org>
59104
59105         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59106         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59107         (Makefile.am): Update lib_SOURCES.
59108
59109 2008-05-25  Bruno Haible  <bruno@clisp.org>
59110
59111         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59112
59113 2008-05-25  Jim Meyering  <meyering@redhat.com>
59114
59115         useless-if-before-free: freed expr may have white-space differences
59116         * build-aux/useless-if-before-free: Recognize cases in which the
59117         freed expression differs from the tested one in embedded white
59118         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59119         $1 was used, so we can't make any regexp shy.  Improved tests now
59120         detect this.
59121
59122         useless-if-before-free: accept white space in the expression.
59123         * build-aux/useless-if-before-free: For now, any white space
59124         in the expression must be identical in the free argument.
59125
59126         useless-if-before-free: efficiency tweak
59127         * build-aux/useless-if-before-free: Make the expression-matching
59128         regexp "shy".
59129         Make the *outer* regexp shy, not the expr-matching one.
59130
59131         update code-in-comment to accept cast of free arg
59132         * build-aux/useless-if-before-free: Update regexp.
59133
59134 2008-05-25  Bruno Haible  <bruno@clisp.org>
59135
59136         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59137         * modules/copy-file-tests (Files, Makefile.am): Update.
59138         * tests/test-copy-file.c (func_test_copy): Update.
59139
59140 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59141
59142         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59143
59144 2008-05-23  Bruno Haible  <bruno@clisp.org>
59145
59146         Improve support for ACLs on OSF/1.
59147         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59148         Remove fallback for unknown flavors of ACLs.
59149
59150 2008-05-22  Bruno Haible  <bruno@clisp.org>
59151
59152         Add support for ACLs on OSF/1.
59153         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59154         replacements.
59155         (acl_free_text): New macro fallback.
59156         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59157         acl_free.
59158         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59159         acl_free_text function. Require AC_C_INLINE.
59160
59161 2008-05-22  Bruno Haible  <bruno@clisp.org>
59162
59163         Make copy_acl work on MacOS X 10.5.
59164         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59165         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59166         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59167         If MODE_INSIDE_ACL, don't assume that every system has the same text
59168         representation for ACLs as FreeBSD.
59169         * lib/copy-acl.c (copy_acl): Add support for platforms with
59170         !MODE_INSIDE_ACL.
59171         * lib/file-has-acl.c (file_has_acl): Likewise.
59172         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59173         FreeBSD, MacOS X, or IRIX, respectively.
59174
59175 2008-05-22  Bruno Haible  <bruno@clisp.org>
59176
59177         * lib/acl.h: Don't include <sys/acl.h>.
59178         (GETACLCNT): Move fallback to lib/acl-internal.h.
59179         * lib/acl-internal.h: Include <sys/acl.h> here.
59180         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59181
59182 2008-05-22  Bruno Haible  <bruno@clisp.org>
59183
59184         Split off copy_acl function to separate file.
59185         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59186         * lib/acl.c (copy_acl): Moved function to separate file.
59187         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59188         * modules/acl (Files): Add lib/copy-acl.c.
59189         (Makefiles.am): Augment lib_SOURCES.
59190
59191 2008-05-22  Bruno Haible  <bruno@clisp.org>
59192
59193         * modules/copy-file-tests: New file.
59194         * tests/test-copy-file.sh: New file.
59195         * tests/test-copy-file.c: New file.
59196         * tests/test-copy-file-sameacls.c: New file.
59197
59198 2008-05-22  Eric Blake  <ebb9@byu.net>
59199
59200         Avoid gcc warning.
59201         * tests/test-memcmp.c (main): Pass NULL indirectly.
59202
59203 2008-05-21  Bruno Haible  <bruno@clisp.org>
59204
59205         Add reference doc about ACLs.
59206         * doc/acl-resources.txt: New file.
59207         * doc/acl-cygwin.txt: New file.
59208
59209 2008-05-21  Bruno Haible  <bruno@clisp.org>
59210
59211         Avoid one more warning from gcc.
59212         * lib/vasnprintf.c (IF_LINT): Update comments.
59213         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59214
59215 2008-05-21  Jim Meyering  <meyering@redhat.com>
59216
59217         avoid a warning from gcc
59218         * lib/vasnprintf.c (IF_LINT): Define.
59219         (scale10_round_decimal_long_double):
59220         Use it to avoid a "may be used uninitialized" warning.
59221         (scale10_round_decimal_double): Likewise.
59222
59223 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59224
59225         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59226         declared.
59227
59228 2008-05-20  Bruno Haible  <bruno@clisp.org>
59229
59230         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59231         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59232
59233 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59234
59235         * modules/memcmp-tests: New file.
59236         * tests/test-memcmp.c: New file.
59237
59238 2008-05-19  Bruno Haible  <bruno@clisp.org>
59239
59240         * modules/propername (Notice, configure.ac): Put quoted "..." into
59241         --keyword option.
59242         * lib/propername.h: Update comments accordingly.
59243         Reported by Eric Blake.
59244
59245 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59246
59247         * modules/getpass-gnu (Depends-on): Add fseeko.
59248
59249 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59250
59251         * modules/base64-tests: New file.
59252
59253 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59254
59255         * lib/base64.c (base64_decode_ctx): If a decode context structure
59256         was passed in use it to ignore newlines.  If a context structure
59257         was _not_ passed in, continue to treat newlines as garbage (this
59258         is the historical behavior).  Formerly base64_decode.
59259         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59260         takes a decode context structure.
59261         * lib/base64.h (base64_decode): Macro for four-argument calls.
59262         (base64_decode_alloc): Likewise.
59263         * lib/base64.c (base64_decode_ctx): If a decode context structure
59264         was passed in use it to ignore newlines.  If a context structure
59265         was _not_ passed in, continue to treat newlines as garbage (this
59266         is the historical behavior).  Formerly base64_decode.
59267         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59268         takes a decode context structure.
59269         * lib/base64.h (base64_decode): Macro for four-argument calls.
59270         (base64_decode_alloc): Likewise.
59271
59272 2008-05-19  Jim Meyering  <meyering@redhat.com>
59273
59274         avoid a warning from gcc
59275         * lib/trim.c (IF_LINT): Define.
59276         (trim2): Use it to avoid a "may be used uninitialized" warning.
59277
59278         Fix doc typo.
59279         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59280
59281 2008-05-19  Bruno Haible  <bruno@clisp.org>
59282
59283         * doc/glibc-functions/getpass.texi: Document limits of other
59284         implementations.
59285
59286 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59287             Bruno Haible <bruno@clisp.org>
59288
59289         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59290
59291 2008-05-18  Bruno Haible  <bruno@clisp.org>
59292
59293         * modules/propername: New file, from GNU gettext.
59294         * lib/propername.h: New file, from GNU gettext.
59295         * lib/propername.c: New file, from GNU gettext.
59296         * MODULES.html.sh (Internationalization functions): Add propername.
59297
59298 2008-05-16  Jim Meyering  <meyering@redhat.com>
59299             Bruno Haible  <bruno@clisp.org>
59300
59301         Avoid some warnings from "gcc -Wshadow".
59302         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59303
59304 2008-05-15  Eric Blake  <ebb9@byu.net>
59305
59306         Extend previous patch to cygwin 1.7.0.
59307         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59308         fast implementation in cygwin >= 1.7.0.
59309         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59310         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59311
59312 2008-05-15  Bruno Haible  <bruno@clisp.org>
59313
59314         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59315         implementation in glibc >= 2.9.
59316         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59317         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59318
59319 2008-05-15  Bruno Haible  <bruno@clisp.org>
59320
59321         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59322         (Unicode string functions): Add unilbrk/*.
59323         Reported by Karl Berry.
59324
59325 2008-05-15  Eric Blake  <ebb9@byu.net>
59326
59327         Fix violation of <stdbool.h> replacement in regex.
59328         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59329         * lib/regexec.c (re_search_internal): Likewise.
59330         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59331
59332 2008-05-15  Jim Meyering  <meyering@redhat.com>
59333
59334         avoid distracting test output when git or cvs is not found
59335         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59336         * tests/test-vc-list-files-git.sh: Likewise.
59337
59338 2008-05-15  Eric Blake  <ebb9@byu.net>
59339
59340         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59341         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59342         glibc version.
59343         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59344         * doc/posix-functions/strstr.texi (strstr): Likewise.
59345         * lib/str-two-way.h (MAX): Sychronize with glibc.
59346
59347 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59348
59349         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59350         opr.ctx_type.
59351         (calc_first): Initialize constraint field.
59352         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59353         Fix grammar.
59354         (duplicate_node): Merge constraint field for all node types.
59355         (calc_eclosure_iter): Look at constraint field for all node types.
59356         * lib/regex_internal.c (create_cd_newstate): Don't look at
59357         opr.ctx_type.
59358
59359 2008-05-14  Bruno Haible  <bruno@clisp.org>
59360
59361         Help GCC to do better code generation.
59362         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59363         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59364         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59365         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59366         Declare with attribute 'malloc' if supported.
59367
59368 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59369
59370         use "echo STR|wc -c" rather than unportable "expr length STR"
59371         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59372         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59373
59374 2008-05-14  Jim Meyering  <meyering@redhat.com>
59375
59376         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59377         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59378         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59379         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59380         via Collin Lasse.
59381
59382 2008-05-14  Eric Blake  <ebb9@byu.net>
59383
59384         Avoid quadratic growth in gl_LIBSOURCES.
59385         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59386         Suggested by Bruno Haible.
59387
59388         Test xmemdup0.
59389         * modules/xmemdup0-tests: New file.
59390         * tests/test-xmemdup0.c: Likewise.
59391
59392 2008-05-13  Eric Blake  <ebb9@byu.net>
59393
59394         Split xmemdup0 into its own module.
59395         * modules/xmemdup0: New file.
59396         * lib/xmemdup0.h: Likewise.
59397         * lib/xmemdup0.c: Likewise.
59398         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59399         * lib/xalloc.h (xmemdup0): Remove.
59400         * lib/xmalloc.c (xmemdup0): Likewise.
59401
59402 2008-05-13  Eric Blake  <ebb9@byu.net>
59403             Bruno Haible  <bruno@clisp.org>
59404
59405         Reduce number of forks required during autoconf.
59406         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59407         and gl_LIBSOURCES_DIR.
59408         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59409         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59410         m4_syscmd per file.
59411         <m4_foreach_w>: Move...
59412         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59413
59414 2008-05-13  Eric Blake  <ebb9@byu.net>
59415
59416         * gnulib-tool: Fix various comment typos.
59417
59418 2008-05-12  Bruno Haible  <bruno@clisp.org>
59419
59420         Tailor the linebreaking algorithm.
59421         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59422
59423 2008-05-12  Bruno Haible  <bruno@clisp.org>
59424
59425         Update to Unicode 5.0.0.
59426         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59427         LBP_JV, LBP_JT. Redistribute values.
59428         (unilbrk_table): Change size.
59429         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59430         Unicode TR#14 rev. 22.
59431         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59432         LBP_JV, LBP_JT. Redistribute values.
59433         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59434         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59435         Update.
59436         * lib/unilbrk/lbrkprop1.h: Regenerated.
59437         * lib/unilbrk/lbrkprop2.h: Regenerated.
59438         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59439         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59440         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59441         Likewise.
59442         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59443         Likewise.
59444         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59445         result.
59446         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59447         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59448         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59449         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59450         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59451         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59452
59453 2008-05-11  Bruno Haible  <bruno@clisp.org>
59454
59455         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59456
59457 2008-05-11  Bruno Haible  <bruno@clisp.org>
59458
59459         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59460         * modules/unilbrk/gen-lbrk: New file.
59461
59462 2008-05-11  Bruno Haible  <bruno@clisp.org>
59463
59464         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59465         * m4/sha512.m4 (gl_SHA512): Likewise.
59466
59467 2008-05-11  Jim Meyering  <meyering@redhat.com>
59468
59469         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59470         * modules/crypto/sha256: New file.
59471         * modules/crypto/sha512: Likewise.
59472         * lib/sha256.c: Likewise.
59473         * lib/sha256.h: Likewise.
59474         * lib/sha512.c: Likewise.
59475         * lib/sha512.h: Likewise.
59476         * lib/u64.h: Likewise.
59477         * m4/sha256.m4: Likewise.
59478         * m4/sha512.m4: Likewise.
59479         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59480
59481 2008-05-10  Bruno Haible  <bruno@clisp.org>
59482
59483         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59484         (Input/Output <stdio.h>): Add xprintf.
59485         (Signal handling <signal.h>): Add strsignal.
59486         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59487         (Core language properties): Add func.
59488         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59489         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59490         strings.
59491         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59492         (Input/output): New section.
59493         (File system functions): Add openat-die, stat-macros.
59494         (Networking functions): Add sockets.
59495         (Unicode string functions): Add unictype/*.
59496         (Support for building libraries and executables): Add gperf.
59497         (Support for building documentation): Add agpl-3.0.
59498         (Misc): Add nocrash.
59499
59500 2008-05-10  Bruno Haible  <bruno@clisp.org>
59501
59502         * modules/unictype/gen-ctype: New file.
59503
59504 2008-05-10  Jim Meyering  <meyering@redhat.com>
59505
59506         Make chdir-safer.c more efficient on a system with no symlinks.
59507         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59508         also if ELOOP is zero.  Suggested by Bruno Haible.
59509
59510         Make chdir-safer.c slightly safer.
59511         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59512         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59513
59514         Avoid compile failure on systems without ELOOP (like mingw).
59515         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59516         Reported by Bruno Haible.
59517
59518 2008-05-10  Bruno Haible  <bruno@clisp.org>
59519
59520         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59521         (is_utf8_encoding): Use a case-insensitive comparison.
59522         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59523         streq.
59524
59525 2008-05-10  Bruno Haible  <bruno@clisp.org>
59526
59527         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59528         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59529         * lib/unilbrk/ulc-common.h (iconv_string_length,
59530         iconv_string_keeping_offsets): Remove declarations.
59531         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59532         Don't include <iconv.h>, streq.h, xsize.h.
59533         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59534         conversion.
59535         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59536         <iconv.h>, streq.h, xsize.h.
59537         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59538         conversion.
59539         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59540         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59541         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59542         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59543
59544 2008-05-10  Bruno Haible  <bruno@clisp.org>
59545
59546         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59547         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59548
59549         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59550         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59551
59552         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59553         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59554
59555         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59556         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59557
59558         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59559         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59560
59561         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59562         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59563
59564         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59565         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59566
59567         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59568         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59569
59570 2008-05-10  Bruno Haible  <bruno@clisp.org>
59571
59572         Split up 'linebreak' module.
59573         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59574         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59575         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59576         modifications.
59577         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59578         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59579         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59580         lib/linebreak.c.
59581         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59582         lib/linebreak.c.
59583         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59584         lib/linebreak.c.
59585         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59586         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59587         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59588         lib/linebreak.c.
59589         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59590         lib/linebreak.c.
59591         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59592         lib/linebreak.c.
59593         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59594         lib/linebreak.c.
59595         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59596         lib/linebreak.c.
59597         * modules/unilbrk/base: New file.
59598         * modules/unilbrk/tables: New file.
59599         * modules/unilbrk/u8-possible-linebreaks: New file.
59600         * modules/unilbrk/u16-possible-linebreaks: New file.
59601         * modules/unilbrk/u32-possible-linebreaks: New file.
59602         * modules/unilbrk/ulc-common: New file.
59603         * modules/unilbrk/ulc-possible-linebreaks: New file.
59604         * modules/unilbrk/u8-width-linebreaks: New file.
59605         * modules/unilbrk/u16-width-linebreaks: New file.
59606         * modules/unilbrk/u32-width-linebreaks: New file.
59607         * modules/unilbrk/ulc-width-linebreaks: New file.
59608         * lib/linebreak.h: Remove file.
59609         * lib/linebreak.c: Remove file.
59610         * m4/linebreak.m4: Remove file.
59611         * modules/linebreak: Remove file.
59612         * NEWS: Mention the changes.
59613
59614 2008-05-09  Eric Blake  <ebb9@byu.net>
59615
59616         Add xmemdup0.
59617         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59618         implementation.
59619         * lib/xmalloc.c (xmemdup0): New C implementation.
59620
59621 2008-05-08  Bruno Haible  <bruno@clisp.org>
59622
59623         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59624
59625 2008-05-07  Eric Blake  <ebb9@byu.net>
59626
59627         Support cross-compilation of <wctype.h>.
59628         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59629         AC_CACHE_CHECK.
59630
59631 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59632
59633         * build-aux/vc-list-files: Add support for bzr.
59634
59635 2008-05-03  Jim Meyering  <meyering@redhat.com>
59636
59637         avoid failed assertion with tight malloc
59638         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59639
59640 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59641
59642         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59643         are needed from arpa/inet.h.
59644         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59645         Reported by Bruno Haible.
59646
59647 2008-05-02  Jim Meyering  <meyering@redhat.com>
59648
59649         avoid compilation error on FreeBSD 6
59650         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59651
59652 2008-05-01  Jim Meyering  <meyering@redhat.com>
59653
59654         useless-if-before-free: correct --help's exit status description
59655         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59656         for one or more matches, etc.  Reported by Bruno Haible.
59657
59658         vc-list-files: make the stand-alone gnulib test work
59659         * modules/vc-list-files-tests (configure.ac):
59660         Define and AC_SUBST abs_aux_dir.
59661         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59662         $(abs_top_srcdir) to each script and having each of them
59663         duplicate the work of setting PATH, set PATH here, using
59664         the new variable, abs_aux_dir instead.
59665         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59666         * tests/test-vc-list-files-git.sh: Likewise.
59667         Reported by Bruno Haible.
59668
59669 2008-05-01  Bruno Haible  <bruno@clisp.org>
59670
59671         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59672         reallocation. Rename 'done' to 'found_delimiter'.
59673
59674 2008-05-01  Jim Meyering  <meyering@redhat.com>
59675
59676         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59677         * build-aux/vc-list-files: Use `...`, not $(...).
59678
59679 2008-04-30  Jim Meyering  <meyering@redhat.com>
59680
59681         add tests for vc-list-files
59682         * modules/vc-list-files-tests: New module.
59683         * tests/test-vc-list-files-cvs.sh: New file.
59684         * tests/test-vc-list-files-git.sh: New file.
59685
59686         avoid a warning from gcc
59687         * lib/getndelim2.c (IF_LINT): Define.
59688         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59689
59690         vc-list-files: work properly with build-aux/cvsu, too
59691         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59692         to all cvs-based clauses.
59693
59694         vc-list-files: work properly in the CVS+awk case, too
59695         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59696
59697         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59698         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59699         take more than one file argument, so .  Add quotes, just in case $dir
59700         ever contains a shell meta-character.  Prompted by Soren Hansen in
59701         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59702
59703 2008-04-29  Eric Blake  <ebb9@byu.net>
59704
59705         Optimize getndelim2 to use block operations when possible.
59706         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59707         freadseek, and memchr2.
59708         * lib/getndelim2.c (getndelim2): Use them for block reads.
59709
59710 2008-04-29  Bruno Haible  <bruno@clisp.org>
59711
59712         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59713         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59714         * modules/inet_ntop (Depends-on): Add extensions.
59715         * modules/inet_pton (Depends-on): Likewise.
59716         Reported by Simon Josefsson.
59717
59718 2008-04-29  Jim Meyering  <meyering@redhat.com>
59719
59720         When the is more than one match in a block, match all of them.
59721         * build-aux/useless-if-before-free: Iterate through each block
59722         until there are no more matches.
59723
59724         Fix broken useless-if-before-free script.
59725         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59726         the expression to match cast of argument to free-like function.
59727
59728 2008-04-29  Eric Blake  <ebb9@byu.net>
59729
59730         Use new header.
59731         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59732
59733 2008-04-29  Jim Meyering  <meyering@redhat.com>
59734
59735         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59736         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59737         by gnulib to exist and to declare e.g., inet_ntop.
59738         Don't include "inet_ntop.h", now removed.
59739
59740         * m4/arpa_inet_h.m4: Remove trailing blanks.
59741
59742 2008-04-29  Eric Blake  <ebb9@byu.net>
59743
59744         Silence valgrind on safe reads beyond potential array bounds.
59745         * lib/rawmemchr.valgrind: New file.
59746         * lib/strchrnul.valgrind: Likewise.
59747         * modules/rawmemchr (Files): Distribute new file.
59748         * modules/strchrnul (Files): Likewise.
59749         Suggested by Bruno Haible.
59750
59751 2008-04-29  Bruno Haible  <bruno@clisp.org>
59752
59753         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59754         (inet_ntop, inet_pton): Change portability warning's wording.
59755         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59756         Invoke gl_CHECK_NEXT_HEADERS.
59757         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59758         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59759         set ARPA_INET_H.
59760         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59761         * modules/arpa_inet (Description): No longer only for systems that
59762         lack it.
59763         (Depends-on): Add include_next.
59764         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59765         HAVE_ARPA_INET_H.
59766
59767 2008-04-29  Jim Meyering  <meyering@redhat.com>
59768
59769         * modules/mkdir (License): Re-license as LGPLv2+.
59770
59771 2008-04-29  Bruno Haible  <bruno@clisp.org>
59772
59773         * modules/rawmemchr (Maintainer): Set to Eric.
59774         * modules/strchrnul (Maintainer): Likewise.
59775
59776 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59777
59778         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59779         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59780
59781         * modules/arpa_inet (arpa/inet.h): Use them.
59782
59783 2008-04-28  Eric Blake  <ebb9@byu.net>
59784
59785         Test getndelim2.
59786         * modules/getndelim2-tests: New file.
59787         * tests/test-getndelim2.c: Likewise.
59788         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59789         stream.
59790         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59791
59792         * MODULES.html.sh: Document new module.
59793
59794 2008-04-20  Bruno Haible  <bruno@clisp.org>
59795
59796         * lib/c-stack.c (die): Use raise.
59797         * modules/c-stack (Depends-on): Add raise.
59798
59799 2008-04-28  Bruno Haible  <bruno@clisp.org>
59800
59801         Expect rpmatch to be declared.
59802         * lib/yesno.c (rpmatch): Remove declaration.
59803
59804         Declare rpmatch.
59805         * lib/stdlib.in.h (rpmatch): New declaration.
59806         * lib/rpmatch.c: Include <stdlib.h> first.
59807         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59808         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59809         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59810         HAVE_RPMATCH.
59811         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59812         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59813         (Include): Set to <stdlib.h>.
59814         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59815         HAVE_RPMATCH.
59816         * NEWS: Document the change.
59817
59818 2008-04-28  Bruno Haible  <bruno@clisp.org>
59819
59820         Change rpmatch to use nl_langinfo when appropriate.
59821         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59822         (N_): New macro.
59823         (localized_pattern): New function/macro.
59824         (try): Remove match, nomatch arguments. Copy the pattern into safe
59825         memory before caching it.
59826         (rpmatch): Use localized_pattern. Add translator comments.
59827         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59828         Suggested by Eric Blake.
59829         * modules/rpmatch (Depends-on): Add stdbool.
59830
59831 2008-04-28  Eric Blake  <ebb9@byu.net>
59832
59833         Add rawmemchr module, matching glibc.
59834         * modules/string (Makefile.am): New indicator.
59835         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59836         * lib/string.in.h (rawmemchr): Declare when appropriate.
59837         * modules/rawmemchr: New file.
59838         * m4/rawmemchr.m4: Likewise.
59839         * lib/rawmemchr.c: Likewise.
59840         * modules/rawmemchr-tests: Likewise.
59841         * tests/test-rawmemchr.c: Likewise.
59842         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59843         module.
59844         * modules/strchrnul (Depends-on): Add rawmemchr.
59845         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59846
59847         Whitespace cleanup.
59848         * tests/test-strchrnul.c: Reindent.
59849         * lib/strchrnul.c: Likewise.
59850
59851         Optimize and test strchrnul.
59852         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59853         * modules/strchrnul-tests: New file.
59854         * tests/test-strchrnul.c: Likewise.
59855
59856         Remove intprops dependency.
59857         * modules/memchr (Depends-on): Remove intprops.
59858         * modules/memrchr (Depends-on): Likewise.
59859         * modules/memchr2 (Depends-on): Likewise.
59860         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59861         * lib/memrchr.c (__memrchr): Likewise.
59862         * lib/memrchr2.c (memchr2): Likewise.
59863         Reported by Simon Josefsson.
59864
59865 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59866
59867         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59868         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59869
59870 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59871
59872         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59873
59874         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59875
59876         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59877
59878         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59879         declarations.
59880         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59881
59882         * m4/inet_pton.m4: Don't check for header files.
59883
59884         * m4/inet_ntop.m4: Don't check for header files.
59885
59886 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59887
59888         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59889         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59890         trigger for cygwin).
59891         Reported by Bruno Haible  <bruno@clisp.org>.
59892
59893 2008-04-28  Bruno Haible  <bruno@clisp.org>
59894
59895         * doc/posix-functions/strdup.texi: Mention mingw problem.
59896
59897 2008-04-27  Bruno Haible  <bruno@clisp.org>
59898
59899         * modules/stat-time-tests (Depends-on): Add sleep.
59900         * tests/test-stat-time.c (force_unlink): New function.
59901         (cleanup): Use it.
59902         (test_mtime): Remove the ctime related tests.
59903         (test_ctime): New function, containing the ctime related tests.
59904         (main): Call test_ctime, except on native Windows platforms.
59905
59906 2008-04-27  Bruno Haible  <bruno@clisp.org>
59907
59908         * lib/rpmatch.c (rpmatch): Add some comments.
59909         Reported by James Youngman <jay@gnu.org>.
59910
59911 2008-04-27  Bruno Haible  <bruno@clisp.org>
59912
59913         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59914         quiet NaNs.
59915
59916 2008-04-27  Bruno Haible  <bruno@clisp.org>
59917
59918         Make test-yesno.sh work on mingw.
59919         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59920         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59921         (main): Set stdin to binary mode.
59922         * modules/yesno-tests (Depends-on): Add binary-io.
59923
59924 2008-04-27  Bruno Haible  <bruno@clisp.org>
59925
59926         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59927         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59928         argument that lie outside the IEEE 854 domain.
59929         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59930         (gl_ISFINITE): Use it.
59931         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59932
59933 2008-04-27  Bruno Haible  <bruno@clisp.org>
59934
59935         Allow local renaming in config.h.
59936         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59937
59938 2008-04-27  Bruno Haible  <bruno@clisp.org>
59939
59940         * lib/memchr.c (__memchr): Change type of 'i'.
59941         * lib/memchr2.c (memchr2): Likewise.
59942
59943 2008-04-26  Eric Blake  <ebb9@byu.net>
59944         and Bruno Haible  <bruno@clisp.org>
59945
59946         Optimize and test memrchr.
59947         * modules/memrchr (Depends-on): Add intprops.
59948         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59949         * modules/memrchr-tests: New file.
59950         * tests/test-memrchr.c: New file.
59951
59952 2008-04-26  Bruno Haible  <bruno@clisp.org>
59953
59954         Add tentative support for DragonFly BSD.
59955         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59956         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59957         fp.
59958         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59959         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59960         * lib/fpurge.c (fpurge): Likewise.
59961         * lib/freadable.c (freaadable): Likewise.
59962         * lib/freadahead.c (freadahead): Likewise.
59963         * lib/freading.c (freading): Likewise.
59964         * lib/freadptr.c (freadptr): Likewise.
59965         * lib/freadseek.c (freadptrinc): Likewise.
59966         * lib/fseeko.c (fseeko): Likewise.
59967         * lib/fseterr.c (fseterr): Likewise.
59968         * lib/fwritable.c (fwritable): Likewise.
59969         * lib/fwriting.c (fwriting): Likewise.
59970
59971 2008-04-26  Bruno Haible  <bruno@clisp.org>
59972
59973         * lib/stdio-impl.h: New file.
59974         * lib/fbufmode.c: Include stdio-impl.h.
59975         (fbufmode): Use fp_, remove redundant #defines.
59976         * lib/fflush.c: Include stdio-impl.h.
59977         (clear_ungetc_buffer): Remove redundant #defines.
59978         * lib/fpurge.c: Include stdio-impl.h.
59979         (fpurge): Remove redundant #defines.
59980         * lib/freadable.c: Include stdio-impl.h.
59981         (freadable): Remove redundant #defines.
59982         * lib/freadahead.c: Include stdio-impl.h.
59983         (freadahead): Remove redundant #defines.
59984         * lib/freading.c: Include stdio-impl.h.
59985         (freading): Remove redundant #defines.
59986         * lib/freadptr.c: Include stdio-impl.h.
59987         (freadptr): Remove redundant #defines.
59988         * lib/freadseek.c: Include stdio-impl.h.
59989         (freadptrinc): Remove redundant #defines.
59990         * lib/fseeko.c: Include stdio-impl.h.
59991         (rpl_fseeko): Remove redundant #defines.
59992         * lib/fseterr.c: Include stdio-impl.h.
59993         (fseterr): Remove redundant #defines.
59994         * lib/fwritable.c: Include stdio-impl.h.
59995         (fwritable: Remove redundant #defines.
59996         * lib/fwriting.c: Include stdio-impl.h.
59997         (fwriting): Remove redundant #defines.
59998         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59999         * modules/fflush (Files): Likewise.
60000         * modules/fpurge (Files): Likewise.
60001         * modules/freadable (Files): Likewise.
60002         * modules/freadahead (Files): Likewise.
60003         * modules/freading (Files): Likewise.
60004         * modules/freadptr (Files): Likewise.
60005         * modules/freadseek (Files): Likewise.
60006         * modules/fseeko (Files): Likewise.
60007         * modules/fseterr (Files): Likewise.
60008         * modules/fwritable (Files): Likewise.
60009         * modules/fwriting (Files): Likewise.
60010
60011 2008-04-26  Bruno Haible  <bruno@clisp.org>
60012
60013         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60014         restore_seek_optimization, update_fpos_cache): New functions, extracted
60015         from rpl_fflush.
60016         (rpl_fflush): Use them.
60017         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60018         (gl_REPLACE_FFLUSH): Use it.
60019
60020 2008-04-26  Bruno Haible  <bruno@clisp.org>
60021
60022         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60023         on Solaris.
60024         * tests/test-xstrtoimax.sh: Likewise.
60025         * tests/test-xstrtoumax.sh: Likewise.
60026         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60027
60028 2008-04-26  Bruno Haible  <bruno@clisp.org>
60029
60030         * modules/memchr-tests: New file.
60031         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60032
60033 2008-04-26  Eric Blake  <ebb9@byu.net>
60034             Bruno Haible  <bruno@clisp.org>
60035
60036         * lib/memchr.c: Include intprops.h.
60037         (__memchr): Optimize parallel detection of matching bytes. Rename local
60038         variables. Add explanatory comments.
60039
60040 2008-04-26  Bruno Haible  <bruno@clisp.org>
60041
60042         Fix module 'memchr', broken since 2000-10-28.
60043         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60044
60045 2008-04-26  Bruno Haible  <bruno@clisp.org>
60046
60047         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60048         comments.
60049
60050 2008-04-25  Eric Blake  <ebb9@byu.net>
60051
60052         Use native fstatat on cygwin 1.7.0.
60053         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60054         first.
60055
60056 2008-04-23  Eric Blake  <ebb9@byu.net>
60057
60058         Improve memchr2 performance.
60059         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60060         NUL bytes.
60061         * modules/memchr2 (Depends-on): Use intprops.h.
60062
60063 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60064
60065         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60066         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60067         <blp@cs.stanford.edu>.
60068
60069 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60070
60071         * lib/arpa_inet.in.h: New file.
60072
60073         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60074         (Makefile.am): Sed in substitute header file.
60075
60076         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60077         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
60078
60079         * modules/inet_ntop (configure.ac): Use
60080         gl_ARPA_INET_MODULE_INDICATOR.
60081
60082         * modules/inet_pton (configure.ac): Use
60083         gl_ARPA_INET_MODULE_INDICATOR.
60084
60085 2008-04-22  Jim Meyering  <meyering@redhat.com>
60086
60087         * modules/verify (License): Re-license as LGPLv2+.
60088
60089 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60090
60091         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60092         parameter to void* as per POSIX standard (MinGW uses char*).
60093
60094 2008-04-21  Bruno Haible  <bruno@clisp.org>
60095
60096         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60097         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60098         Define to replacements if REPLACE_ISWCNTRL is 1.
60099         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60100         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60101         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60102         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60103         what it fixes.
60104         * doc/posix-functions/iswalpha.texi: Likewise.
60105         * doc/posix-functions/iswblank.texi: Likewise.
60106         * doc/posix-functions/iswcntrl.texi: Likewise.
60107         * doc/posix-functions/iswdigit.texi: Likewise.
60108         * doc/posix-functions/iswgraph.texi: Likewise.
60109         * doc/posix-functions/iswlower.texi: Likewise.
60110         * doc/posix-functions/iswprint.texi: Likewise.
60111         * doc/posix-functions/iswpunct.texi: Likewise.
60112         * doc/posix-functions/iswspace.texi: Likewise.
60113         * doc/posix-functions/iswupper.texi: Likewise.
60114         * doc/posix-functions/iswxdigit.texi: Likewise.
60115         Reported by Alain Guibert.
60116
60117 2008-04-21  Bruno Haible  <bruno@clisp.org>
60118
60119         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60120         Patch by Alain Guibert.
60121
60122 2008-04-21  Bruno Haible  <bruno@clisp.org>
60123
60124         Fix test failures on mingw.
60125         * tests/test-xstrtol.c (print_no_progname): New function.
60126         (main): Install it in error_print_progname hook.
60127         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60128         * tests/test-xstrtoimax.sh: Likewise.
60129         * tests/test-xstrtoumax.sh: Likewise.
60130
60131 2008-04-21  Bruno Haible  <bruno@clisp.org>
60132
60133         Fix test failure on mingw.
60134         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60135
60136 2008-04-21  Bruno Haible  <bruno@clisp.org>
60137
60138         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60139         Actually assign a value.
60140
60141 2008-04-20  Bruno Haible  <bruno@clisp.org>
60142
60143         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60144         take 2.
60145         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60146         'canonicalize-lgpl' module is also used.
60147         * lib/canonicalize-lgpl.c: Undo last change.
60148         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60149
60150 2008-04-20  Bruno Haible  <bruno@clisp.org>
60151
60152         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60153         config.h. Provide _mkdir based fallback for mingw.
60154         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60155         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60156         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60157         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60158         rather than defining mkdir in config.h.
60159         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60160         (gl_SYS_STAT_H_DEFAULTS): New macro.
60161         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60162         HAVE_IO_H any more.
60163         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60164         HAVE_DECL_MKDIR and HAVE_IO_H.
60165
60166 2008-04-20  Bruno Haible  <bruno@clisp.org>
60167
60168         * lib/isapipe.c: Port to native Windows platforms.
60169
60170 2008-04-20  Bruno Haible  <bruno@clisp.org>
60171
60172         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60173
60174 2008-04-21  Eric Blake  <ebb9@byu.net>
60175
60176         Work around preprocessors that don't handle UINTMAX_MAX.
60177         * lib/memchr2.c (memchr2): Avoid embedded #if.
60178         Reported by Alain Guibert, fix suggested by Bruno Haible.
60179
60180 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60181
60182         * doc/posix-functions/strftime.texi (strftime): Explain better
60183         Windows incompatibility.  Suggested by Micah Cowan
60184         <micah@cowan.name>.
60185
60186 2008-04-20  Bruno Haible  <bruno@clisp.org>
60187
60188         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60189         unistr/u8-mblen.
60190
60191 2008-04-20  Bruno Haible  <bruno@clisp.org>
60192
60193         Fix test failure on platforms with non-GNU iconv.
60194         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60195         (U_TO_U8): Use it, rather than u16_to_u8.
60196         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60197         units at the end of the input string.
60198         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60199
60200 2008-04-20  Bruno Haible  <bruno@clisp.org>
60201
60202         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60203         when the resulting length is 0.
60204         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60205
60206 2008-04-20  Bruno Haible  <bruno@clisp.org>
60207
60208         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60209         works.
60210         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60211
60212 2008-04-20  Bruno Haible  <bruno@clisp.org>
60213
60214         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60215         * modules/tsearch-tests (configure.ac): Test for initstate function.
60216
60217 2008-04-20  Bruno Haible  <bruno@clisp.org>
60218
60219         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60220         for nlink_t if missing.
60221         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60222
60223 2008-04-19  Bruno Haible  <bruno@clisp.org>
60224
60225         Work around snprintf bug on Linux libc5.
60226         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60227         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60228         gl_SNPRINTF_SIZE1.
60229         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60230         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60231         that test failed.
60232         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60233         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60234         * modules/snprintf (Files): Add m4/printf.m4.
60235         * modules/vsnprintf (Files): Likewise.
60236         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60237         * doc/posix-functions/vsnprintf.texi: Likewise.
60238
60239 2008-04-19  Bruno Haible  <bruno@clisp.org>
60240
60241         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60242         from 0.0058 to less than 10^-7.
60243
60244 2008-04-19  Bruno Haible  <bruno@clisp.org>
60245
60246         Fix rounding when a precision is given.
60247         * lib/vasnprintf.c (is_borderline): New function.
60248         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60249         9...9x.
60250         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60251         %e, %g.
60252         * tests/test-vasprintf-posix.c (test_function): Likewise.
60253         * tests/test-snprintf-posix.h (test_function): Likewise.
60254         * tests/test-sprintf-posix.h (test_function): Likewise.
60255         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60256         * tests/test-printf-posix.h (test_function): Likewise.
60257         * tests/test-printf-posix.output: Update.
60258         Reported by John Darrington <john@darrington.wattle.id.au> via
60259         Ben Pfaff <blp@cs.stanford.edu>.
60260
60261 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60262
60263         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60264         Suggested by Bruno Haible <bruno@clisp.org>.
60265
60266 2008-04-17  Bruno Haible  <bruno@clisp.org>
60267
60268         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60269         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60270         implementation.
60271         Patch by Bruce Merry <bmerry@gmail.com>.
60272
60273 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60274
60275         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60276         doesn't work under Windows.
60277
60278 2008-04-16  Bruno Haible  <bruno@clisp.org>
60279
60280         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60281         New macros.
60282         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60283         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60284         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60285         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60286         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60287         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60288         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60289         macros.
60290         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60291         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60292         Northern Sotho, Uighur.
60293
60294 2008-04-16  Bruno Haible  <bruno@clisp.org>
60295
60296         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60297         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60298         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60299         Reported by Daniel Bergström <daniel@octocode.com>.
60300
60301 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60302             Bruno Haible  <bruno@clisp.org>
60303
60304         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60305         function.
60306         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60307         New functions, mostly extracted from gl_locale_name_default.
60308         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60309
60310 2008-04-16  Eric Blake  <ebb9@byu.net>
60311
60312         Adjust strtod detection to catch glibc 2.7 bug.
60313         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60314         Reported by John Gatewood Ham.
60315
60316 2008-04-16  Bruno Haible  <bruno@clisp.org>
60317
60318         Add tentative support for Linux libc5.
60319         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60320         * lib/fpurge.c (fpurge): Likewise.
60321         * lib/freadable.c (freadable): Likewise.
60322         * lib/freadahead.c (freadahead): Likewise.
60323         * lib/freading.c (freading): Likewise.
60324         * lib/freadptr.c (freadptr): Likewise.
60325         * lib/freadseek.c (freadptrinc): Likewise.
60326         * lib/fseeko.c (rpl_fseeko): Likewise.
60327         * lib/fseterr.c (fseterr): Likewise.
60328         * lib/fwritable.c (fwritable): Likewise.
60329         * lib/fwriting.c (fwriting): Likewise.
60330         Reported by Alain Guibert <alguibert+bts@free.fr>.
60331
60332 2008-04-15  Bruno Haible  <bruno@clisp.org>
60333
60334         * modules/mathl (configure.ac): Define module indicator.
60335
60336 2008-04-15  Bruno Haible  <bruno@clisp.org>
60337
60338         * lib/logl.c (logl): Remove unused variables.
60339
60340 2008-04-15  Bruno Haible  <bruno@clisp.org>
60341
60342         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60343         fails.
60344
60345 2008-04-15  Bruno Haible  <bruno@clisp.org>
60346
60347         * lib/trim.c (trim2): Fix argument of isspace() macro.
60348
60349 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60350
60351         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60352         to 0.
60353         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60354
60355 2008-04-14  Bruno Haible  <bruno@clisp.org>
60356
60357         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60358         AC_LANG_PROGRAM argument.
60359         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60360         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60361         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60362         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60363         * m4/math_h.m4 (gl_MATH_H): Likewise.
60364         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60365         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60366         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60367         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60368         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60369         * m4/regex.m4 (gl_REGEX): Likewise.
60370         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60371         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60372         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60373         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60374         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60375         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60376         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60377         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60378
60379 2008-04-14  Jim Meyering  <meyering@redhat.com>
60380
60381         test-strtod: fix typos: s/abs/fabs/
60382         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60383
60384 2008-04-13  Bruno Haible  <bruno@clisp.org>
60385
60386         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60387         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60388         module is also used and while not building the reloc-wrapper.
60389
60390 2008-04-13  Bruno Haible  <bruno@clisp.org>
60391
60392         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60393
60394 2008-04-13  Bruno Haible  <bruno@clisp.org>
60395
60396         Fix AIX compilation failure introduced on 2008-04-02.
60397         * tests/test-frexp.c (exp): Undefine before redefining.
60398         * tests/test-frexpl.c (exp): Likewise.
60399
60400 2008-04-13  Bruno Haible  <bruno@clisp.org>
60401
60402         Work around a HP-UX stdio bug.
60403         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60404         * tests/test-ftello.c (main): Likewise.
60405         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60406         * doc/posix-functions/ftello.texi: Likewise.
60407
60408 2008-04-13  Bruno Haible  <bruno@clisp.org>
60409
60410         Make test-signbit pass on HP-UX/hppa.
60411         * tests/test-signbit.c (minus_zerol): New variable.
60412         (test_signbitl): Use it.
60413
60414 2008-04-13  Bruno Haible  <bruno@clisp.org>
60415
60416         Make truncl work on OSF/1 4.0.
60417         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60418         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60419         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60420         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60421         HAVE_DECL_TRUNCL.
60422         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60423         HAVE_DECL_TRUNCL.
60424         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60425
60426 2008-04-13  Bruno Haible  <bruno@clisp.org>
60427
60428         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60429
60430 2008-04-13  Bruno Haible  <bruno@clisp.org>
60431
60432         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60433         expression, so as to avoid HP-UX 11 cc compiler bug.
60434
60435 2008-04-13  Bruno Haible  <bruno@clisp.org>
60436
60437         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60438
60439 2008-04-13  Bruno Haible  <bruno@clisp.org>
60440
60441         * lib/git-merge-changelog.c: Remove empty declaration outside of
60442         functions.
60443
60444 2008-04-13  Bruno Haible  <bruno@clisp.org>
60445
60446         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60447
60448 2008-04-13  Bruno Haible  <bruno@clisp.org>
60449
60450         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60451         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60452         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60453         also if it exists but lacks definitions of the SHUT_* macros.
60454         * modules/sys_socket (Description): Update.
60455         Reported by Elbert Pol <e.pol@chello.nl>.
60456
60457 2008-04-13  Bruno Haible  <bruno@clisp.org>
60458
60459         * lib/localcharset.c (OS2): Don't redefine if already defined.
60460         Reported by Elbert Pol <e.pol@chello.nl>.
60461
60462 2008-04-13  Bruno Haible  <bruno@clisp.org>
60463
60464         * lib/binary-io.h [__EMX__]: Include <io.h>.
60465         Reported by Elbert Pol <e.pol@chello.nl>.
60466
60467 2008-04-12  Bruno Haible  <bruno@clisp.org>
60468
60469         * lib/fpucw.h: Enable the definitions also for x86_64.
60470         Needed for NetBSD/x86_64.
60471         Reported by Thomas Klausner <tk@giga.or.at>.
60472
60473 2008-04-12  Bruno Haible  <bruno@clisp.org>
60474
60475         * tests/test-strtod.c: Include isnand.h.
60476         (main): Use isnand instead of isnan.
60477         Reported by Jim Meyering.
60478
60479 2008-04-12  Bruno Haible  <bruno@clisp.org>
60480
60481         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60482         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60483
60484 2008-04-12  Jim Meyering  <meyering@redhat.com>
60485
60486         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60487
60488 2008-04-12  Bruno Haible  <bruno@clisp.org>
60489
60490         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60491         Reported by Elbert Pol <e.pol@chello.nl>.
60492
60493 2008-04-12  Eric Blake  <ebb9@byu.net>
60494
60495         Work around Solaris 10 math.h bug.
60496         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60497         (gl_MATH_H_DEFAULTS): Set up default.
60498         * modules/math (Makefile.am): Replace new indicators.
60499         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60500         * tests/test-math.c (main): Test this.
60501         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60502         * doc/posix-headers/math.texi (math.h): Mention bug.
60503         Reported by Nelson H. F. Beebe and Jim Meyering.
60504
60505 2008-04-11  Bruno Haible  <bruno@clisp.org>
60506
60507         Adapt to future versions of Apple GCC.
60508         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60509         Reported by Peter O'Gorman <peter@pogma.com>.
60510
60511 2008-04-11  Bruno Haible  <bruno@clisp.org>
60512
60513         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60514
60515 2008-04-11  Bruno Haible  <bruno@clisp.org>
60516
60517         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60518
60519         * modules/getaddrinfo-tests (Makefile.am): Define
60520         test_getaddrinfo_LDADD.
60521
60522 2008-04-11  Bruno Haible  <bruno@clisp.org>
60523
60524         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60525         (init): Fix syntax error.
60526         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60527         is declared.
60528
60529 2008-04-11  Bruno Haible  <bruno@clisp.org>
60530
60531         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60532         * modules/glob (Depends-on): Add stdbool.
60533
60534 2008-04-11  Bruno Haible  <bruno@clisp.org>
60535
60536         * lib/trim.c: Include <string.h>.
60537
60538 2008-04-11  Eric Blake  <ebb9@byu.net>
60539
60540         Avoid compile failure on OS/2.
60541         * lib/regex_internal.h (internal_function): Disable optimization
60542         on OS/2 (__EMX__), where it caused compiler error.
60543         Reported by Elbert Pol.
60544
60545 2008-04-11  Bruno Haible  <bruno@clisp.org>
60546
60547         Flush the standard error stream before aborting. Needed on mingw.
60548         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60549         * tests/test-array_list.c (ASSERT): Likewise.
60550         * tests/test-array_oset.c (ASSERT): Likewise.
60551         * tests/test-avltree_list.c (ASSERT): Likewise.
60552         * tests/test-avltree_oset.c (ASSERT): Likewise.
60553         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60554         * tests/test-binary-io.c (ASSERT): Likewise.
60555         * tests/test-byteswap.c (ASSERT): Likewise.
60556         * tests/test-c-ctype.c (ASSERT): Likewise.
60557         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60558         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60559         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60560         * tests/test-c-strstr.c (ASSERT): Likewise.
60561         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60562         * tests/test-canonicalize.c (ASSERT): Likewise.
60563         * tests/test-carray_list.c (ASSERT): Likewise.
60564         * tests/test-ceilf1.c (ASSERT): Likewise.
60565         * tests/test-ceilf2.c (ASSERT): Likewise.
60566         * tests/test-ceill.c (ASSERT): Likewise.
60567         * tests/test-count-one-bits.c (ASSERT): Likewise.
60568         * tests/test-fbufmode.c (ASSERT): Likewise.
60569         * tests/test-fflush2.c (ASSERT): Likewise.
60570         * tests/test-floorf1.c (ASSERT): Likewise.
60571         * tests/test-floorf2.c (ASSERT): Likewise.
60572         * tests/test-floorl.c (ASSERT): Likewise.
60573         * tests/test-fopen.c (ASSERT): Likewise.
60574         * tests/test-fpending.c (ASSERT): Likewise.
60575         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60576         * tests/test-fpurge.c (ASSERT): Likewise.
60577         * tests/test-freadable.c (ASSERT): Likewise.
60578         * tests/test-freadahead.c (ASSERT): Likewise.
60579         * tests/test-freading.c (ASSERT): Likewise.
60580         * tests/test-freadptr.c (ASSERT): Likewise.
60581         * tests/test-freadptr2.c (ASSERT): Likewise.
60582         * tests/test-freadseek.c (ASSERT): Likewise.
60583         * tests/test-freopen.c (ASSERT): Likewise.
60584         * tests/test-frexp.c (ASSERT): Likewise.
60585         * tests/test-frexpl.c (ASSERT): Likewise.
60586         * tests/test-fseek.c (ASSERT): Likewise.
60587         * tests/test-fseeko.c (ASSERT): Likewise.
60588         * tests/test-fstrcmp.c (ASSERT): Likewise.
60589         * tests/test-ftell.c (ASSERT): Likewise.
60590         * tests/test-ftello.c (ASSERT): Likewise.
60591         * tests/test-func.c (ASSERT): Likewise.
60592         * tests/test-fwritable.c (ASSERT): Likewise.
60593         * tests/test-fwriting.c (ASSERT): Likewise.
60594         * tests/test-getdelim.c (ASSERT): Likewise.
60595         * tests/test-getline.c (ASSERT): Likewise.
60596         * tests/test-i-ring.c (ASSERT): Likewise.
60597         * tests/test-iconv-utf.c (ASSERT): Likewise.
60598         * tests/test-iconv.c (ASSERT): Likewise.
60599         * tests/test-isfinite.c (ASSERT): Likewise.
60600         * tests/test-isnand.c (ASSERT): Likewise.
60601         * tests/test-isnanf.c (ASSERT): Likewise.
60602         * tests/test-isnanl.h (ASSERT): Likewise.
60603         * tests/test-ldexpl.c (ASSERT): Likewise.
60604         * tests/test-linked_list.c (ASSERT): Likewise.
60605         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60606         * tests/test-localename.c (ASSERT): Likewise.
60607         * tests/test-lseek.c (ASSERT): Likewise.
60608         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60609         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60610         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60611         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60612         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60613         * tests/test-mbschr.c (ASSERT): Likewise.
60614         * tests/test-mbscspn.c (ASSERT): Likewise.
60615         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60616         * tests/test-mbspbrk.c (ASSERT): Likewise.
60617         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60618         * tests/test-mbsrchr.c (ASSERT): Likewise.
60619         * tests/test-mbsspn.c (ASSERT): Likewise.
60620         * tests/test-mbsstr1.c (ASSERT): Likewise.
60621         * tests/test-mbsstr2.c (ASSERT): Likewise.
60622         * tests/test-mbsstr3.c (ASSERT): Likewise.
60623         * tests/test-memchr2.c (ASSERT): Likewise.
60624         * tests/test-memmem.c (ASSERT): Likewise.
60625         * tests/test-open.c (ASSERT): Likewise.
60626         * tests/test-printf-frexp.c (ASSERT): Likewise.
60627         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60628         * tests/test-printf-posix.c (ASSERT): Likewise.
60629         * tests/test-quotearg.c (ASSERT): Likewise.
60630         * tests/test-rbtree_list.c (ASSERT): Likewise.
60631         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60632         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60633         * tests/test-round1.c (ASSERT): Likewise.
60634         * tests/test-roundf1.c (ASSERT): Likewise.
60635         * tests/test-roundl.c (ASSERT): Likewise.
60636         * tests/test-signbit.c (ASSERT): Likewise.
60637         * tests/test-sleep.c (ASSERT): Likewise.
60638         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60639         * tests/test-snprintf.c (ASSERT): Likewise.
60640         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60641         * tests/test-stat-time.c (ASSERT): Likewise.
60642         * tests/test-strcasestr.c (ASSERT): Likewise.
60643         * tests/test-strerror.c (ASSERT): Likewise.
60644         * tests/test-striconv.c (ASSERT): Likewise.
60645         * tests/test-striconveh.c (ASSERT): Likewise.
60646         * tests/test-striconveha.c (ASSERT): Likewise.
60647         * tests/test-strsignal.c (ASSERT): Likewise.
60648         * tests/test-strstr.c (ASSERT): Likewise.
60649         * tests/test-strtod.c (ASSERT): Likewise.
60650         * tests/test-trunc1.c (ASSERT): Likewise.
60651         * tests/test-trunc2.c (ASSERT): Likewise.
60652         * tests/test-truncf1.c (ASSERT): Likewise.
60653         * tests/test-truncf2.c (ASSERT): Likewise.
60654         * tests/test-truncl.c (ASSERT): Likewise.
60655         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60656         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60657         * tests/test-vasnprintf.c (ASSERT): Likewise.
60658         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60659         * tests/test-vasprintf.c (ASSERT): Likewise.
60660         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60661         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60662         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60663         * tests/test-vsnprintf.c (ASSERT): Likewise.
60664         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60665         * tests/test-wcwidth.c (ASSERT): Likewise.
60666         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60667         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60668         * tests/test-xvasprintf.c (ASSERT): Likewise.
60669         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60670         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60671         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60672         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60673         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60674         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60675         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60676         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60677         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60678         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60679         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60680         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60681         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60682         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60683         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60684         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60685         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60686         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60687         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60688         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60689         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60690         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60691         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60692         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60693         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60694         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60695         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60696         * tests/unictype/test-combining.c (ASSERT): Likewise.
60697         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60698         * tests/unictype/test-digit.c (ASSERT): Likewise.
60699         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60700         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60701         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60702         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60703         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60704         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60705         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60706         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60707         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60708         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60709         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60710         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60711         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60712         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60713         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60714         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60715         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60716         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60717         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60718         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60719         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60720         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60721         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60722         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60723         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60724         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60725         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60726         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60727         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60728         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60729         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60730         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60731         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60732         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60733         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60734         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60735         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60736         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60737         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60738         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60739         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60740         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60741         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60742         Reported by Eric Blake.
60743
60744 2008-04-11  Bruno Haible  <bruno@clisp.org>
60745
60746         * lib/wchar.in.h: Tweak comment.
60747
60748 2008-04-11  Bruno Haible  <bruno@clisp.org>
60749
60750         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60751         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60752         gl_COMMON.
60753         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60754
60755 2008-04-11  Bruno Haible  <bruno@clisp.org>
60756
60757         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60758
60759 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60760
60761         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60762         of attempting to use non-existing /dev/*random.  Based on patch
60763         from Adam Strzelecki <ono@java.pl> in
60764         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60765
60766 2008-04-08  Bruno Haible  <bruno@clisp.org>
60767
60768         Add tentative support for emx+gcc.
60769         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60770         * lib/fpurge.c (fpurge): Likewise.
60771         * lib/freadable.c (freadable): Likewise.
60772         * lib/freadahead.c (freadahead): Likewise.
60773         * lib/freading.c (freading): Likewise.
60774         * lib/freadptr.c (freadptr): Likewise.
60775         * lib/freadseek.c (freadptrinc): Likewise.
60776         * lib/fseeko.c (rpl_fseeko): Likewise.
60777         * lib/fseterr.c (fseterr): Likewise.
60778         * lib/fwritable.c (fwritable): Likewise.
60779         * lib/fwriting.c (fwriting): Likewise.
60780         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60781
60782 2008-04-09  Eric Blake  <ebb9@byu.net>
60783
60784         Avoid some autoconf warnings.
60785         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60786         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60787         * m4/afs.m4 (gl_AFS): Likewise.
60788         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60789         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60790         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60791         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60792         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60793         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60794         (AC_CHECK_DECLS_ONCE): Likewise.
60795         Rename file...
60796         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60797         gnulib-tool requires autoconf 2.59 or better.
60798         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60799
60800 2008-04-08  Eric Blake  <ebb9@byu.net>
60801
60802         Use 'git describe --match' if present (added in git 1.5.5).
60803         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60804         if possible.
60805
60806 2008-04-08  Bruno Haible  <bruno@clisp.org>
60807
60808         Add tentative support for OpenServer.
60809         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60810         _ptr, _cnt.
60811         * lib/fpurge.c (fpurge): Likewise.
60812         * lib/freadable.c (freadable): Likewise.
60813         * lib/freadahead.c (freadahead): Likewise.
60814         * lib/freading.c (freading): Likewise.
60815         * lib/freadptr.c (freadptr): Likewise.
60816         * lib/freadseek.c (freadptrinc): Likewise.
60817         * lib/fseeko.c (rpl_fseeko): Likewise.
60818         * lib/fseterr.c (fseterr): Likewise.
60819         * lib/fwritable.c (fwritable): Likewise.
60820         * lib/fwriting.c (fwriting): Likewise.
60821         Reported by Roger Cornelius <rac@tenzing.org> and
60822         Brian K. White <brian@aljex.com>.
60823
60824 2008-04-06  Jim Meyering  <meyering@redhat.com>
60825
60826         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60827
60828 2008-04-06  Bruno Haible  <bruno@clisp.org>
60829
60830         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60831         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60832         * tests/test-printf-posix.sh: Likewise.
60833         * tests/test-vfprintf-posix.sh: Likewise.
60834         * tests/test-vprintf-posix.sh: Likewise.
60835         * tests/test-xprintf-posix.sh: Likewise.
60836
60837 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60838
60839         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60840         hide error from 'ls', needed on OS/2.
60841         Report by Elbert Pol <elbert.pol@gmail.com>.
60842
60843 2008-04-04  Eric Blake  <ebb9@byu.net>
60844
60845         Make test-fseeko.c failures meaningful.
60846         * tests/test-fseeko.c: Print line number on failure.
60847         * tests/test-fseek.c: Likewise.
60848         Reported by Nelson H. F. Beebe.
60849
60850         Improve strtod bug detection check.
60851         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60852         required for Solaris 10.
60853         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60854
60855 2008-04-04  Bruno Haible  <bruno@clisp.org>
60856
60857         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60858         by m4/setenv.m4.
60859
60860 2008-04-03  Eric Blake  <ebb9@byu.net>
60861
60862         Ensure sane .version contents.
60863         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60864         version string.
60865         * build-aux/git-version-gen: Improve documentation.
60866
60867         Make GNU make output nicer.
60868         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60869         MAKECMDGOALS to enforce message for all command line targets.  Set
60870         srcdir for use in maint.mk.
60871
60872         Another maintainer tweak.
60873         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60874         a target that regenerates version.
60875
60876 2008-04-03  Jim Meyering  <meyering@redhat.com>
60877
60878         vc-list-files: don't cause coreutils "make po-check" failure
60879         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60880
60881 2008-04-03  Eric Blake  <ebb9@byu.net>
60882
60883         Allow VPATH usage of vc-list-files.
60884         * build-aux/vc-list-files (scriptversion): Add timestamp.
60885         (options): Add --help, --version, -C.
60886         (CVS): Support installed cvsu.
60887
60888 2008-04-02  Bruno Haible  <bruno@clisp.org>
60889
60890         Avoid some "statement with no effect" warnings from gcc.
60891         * tests/test-wctype.c (main): Explicitly ignore unused values.
60892         Reported by Jim Meyering.
60893
60894 2008-04-02  Jim Meyering  <meyering@redhat.com>
60895
60896         Avoid some warnings from "gcc -Wshadow".
60897         * tests/test-frexp.c (exp): Define to a different identifier.
60898         * tests/test-frexpl.c (exp): Likewise.
60899
60900 2008-04-03  Jim Meyering  <meyering@redhat.com>
60901
60902         bootstrap: remove dangling *.[ch] symlinks from lib
60903         * build-aux/bootstrap [dangling symlink removal]: Move find's
60904         -depth option to precede all others, to avoid a warning.
60905         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60906
60907 2008-04-02  Bruno Haible  <bruno@clisp.org>
60908
60909         Avoid some warnings from "gcc -Wshadow".
60910         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60911         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60912         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60913         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60914         Reported by Jim Meyering.
60915
60916 2008-04-01  Bruno Haible  <bruno@clisp.org>
60917
60918         Fix test to work on IRIX 6.5 with cc.
60919         * tests/test-math.c (numeric_equal): New function.
60920         (main): Use it.
60921
60922 2008-04-01  Bruno Haible  <bruno@clisp.org>
60923
60924         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60925
60926 2008-04-01  Bruno Haible  <bruno@clisp.org>
60927
60928         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60929         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60930         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60931         (Depends-on): Remove math.
60932
60933         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60934         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60935         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60936         (Depends-on): Remove math.
60937
60938         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60939         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60940         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60941         (Depends-on): Remove math.
60942         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60943         (Depends-on): Remove math.
60944
60945         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60946         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60947         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60948         (Depends-on): Remove math.
60949         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60950         (Depends-on): Remove math.
60951
60952         * tests/test-round1.c: Include nan.h.
60953         (main): Use NaNd instead of NAN.
60954         * modules/round-tests (Files): Add tests/nan.h.
60955
60956         * tests/test-trunc1.c: Include nan.h.
60957         (main): Use NaNd instead of NAN.
60958         * modules/trunc-tests (Files): Add tests/nan.h.
60959
60960         * tests/test-roundf1.c: Include nan.h.
60961         (main): Use NaNf instead of NAN.
60962         * modules/roundf-tests (Files): Add tests/nan.h.
60963
60964         * tests/test-truncf1.c: Include nan.h.
60965         (main): Use NaNf instead of NAN.
60966         * modules/truncf-tests (Files): Add tests/nan.h.
60967
60968         * tests/test-ceilf1.c: Include nan.h.
60969         (main): Use NaNf instead of NAN.
60970         * modules/ceilf-tests (Files): Add tests/nan.h.
60971
60972         * tests/test-floorf1.c: Include nan.h.
60973         (main): Use NaNf instead of NAN.
60974         * modules/floorf-tests (Files): Add tests/nan.h.
60975
60976         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60977         (main): Use NaNf instead of NAN.
60978         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60979
60980         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60981         (main): Use NaNd instead of NAN.
60982         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60983
60984         * tests/test-frexp.c: Include nan.h.
60985         (main): Use NaNd instead of NAN.
60986         * modules/frexp-tests (Files): Add tests/nan.h.
60987
60988         * lib/isnan.c: Don't include <math.h>.
60989         (FUNC): Don't use NAN macro.
60990         * modules/isnand-nolibm (Depends-on): Remove math.
60991         * modules/isnanf-nolibm (Depends-on): Remove math.
60992         * modules/isnanl (Depends-on): Remove math.
60993         * modules/isnanl-nolibm (Depends-on): Remove math.
60994
60995         * tests/nan.h: New file.
60996
60997 2008-04-01  Eric Blake  <ebb9@byu.net>
60998
60999         Fix typos.
61000         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61001         values to be the right type.
61002
61003         For now, cater to gnulib strtod inaccuracies.
61004         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61005         fractional results.  While not as nice from a QoI perspective, it
61006         is a quicker patch than correctly implementing decimal to binary
61007         rounding.
61008
61009 2008-03-31  Eric Blake  <ebb9@byu.net>
61010
61011         Guarantee a definition of NAN.
61012         * lib/math.in.h (NAN): Define if missing.
61013         * tests/test-math.c (main): Test it.
61014         * doc/posix-headers/math.texi (math.h): Document this.
61015         * lib/isnan.c (rpl_isnand): Use it.
61016         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61017         * tests/test-floorf1.c (NaN): Likewise.
61018         * tests/test-frexp.c (NaN): Likewise.
61019         * tests/test-isnand.c (NaN): Likewise.
61020         * tests/test-isnanf.c (NaN): Likewise.
61021         * tests/test-round1.c (NaN): Likewise.
61022         * tests/test-roundf1.c (NaN): Likewise.
61023         * tests/test-snprintf-posix.h (NaN): Likewise.
61024         * tests/test-sprintf-posix.h (NaN): Likewise.
61025         * tests/test-trunc1.c (NaN): Likewise.
61026         * tests/test-truncf1.c (NaN): Likewise.
61027         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61028         * tests/test-vasprintf-posix.c (NaN): Likewise.
61029         * modules/isnand-nolibm (Depends-on): Add math.
61030         * modules/isnanf-nolibm (Depends-on): Likewise.
61031         * modules/isnanl (Depends-on): Likewise.
61032         * modules/isnanl-nolibm (Depends-on): Likewise.
61033         * modules/snprintf-posix-tests (Depends-on): Likewise.
61034         * modules/sprintf-posix-tests (Depends-on): Likewise.
61035         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61036         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61037         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61038         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61039
61040 2008-03-31  Bruno Haible  <bruno@clisp.org>
61041
61042         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61043         * doc/posix-functions/strtod.texi: Likewise.
61044
61045 2008-03-31  Bruno Haible  <bruno@clisp.org>
61046
61047         * tests/test-strtod.c (main): Don't use C99 syntax.
61048
61049 2008-03-31  Bruno Haible  <bruno@clisp.org>
61050
61051         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61052         Reported by Eric Blake.
61053
61054 2008-03-31  Jim Meyering  <meyering@redhat.com>
61055
61056         Don't compare actual signbit return values.
61057         * tests/test-strtod.c (main): Rather, compare only their
61058         zero/non-zero nature.
61059
61060 2008-03-31  Eric Blake  <ebb9@byu.net>
61061
61062         More strtod documentation.
61063         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61064         failures as distinct bugs.
61065
61066 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61067
61068         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61069         Problem reported by Erik Benada in
61070         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61071
61072 2008-03-30  Bruno Haible  <bruno@clisp.org>
61073
61074         * tests/test-strtod.c: Add comments about which assertion fails on which
61075         platform.
61076         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61077
61078 2008-03-30  Eric Blake  <ebb9@byu.net>
61079
61080         Test signbit behavior on zeros.
61081         * tests/test-signbit.c (test_signbitf): Add tests for zero.
61082         (test_signbitd, test_signbitl): Likewise.
61083
61084         More strtod touchups.
61085         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61086         sign of negative underflow, for now.  Use .5, not .1.
61087         * doc/posix-functions/strtod.texi (strtod): Mention these
61088         limitations.
61089         Reported by Jim Meyering.
61090
61091 2008-03-30  Bruno Haible  <bruno@clisp.org>
61092
61093         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61094         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61095
61096 2008-03-30  Bruno Haible  <bruno@clisp.org>
61097
61098         Avoid failure when attempting to return empty iconv results on some
61099         platforms.
61100         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61101         allocation, don't report ENOMEM when the resulting string is empty.
61102
61103 2008-03-30  Bruno Haible  <bruno@clisp.org>
61104
61105         Fix buffer overrun.
61106         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61107         Don't consider the width for tmp_length. Check count against tmp_length
61108         before doing the padding. Ensure enough allocation during padding.
61109
61110 2008-03-30  Eric Blake  <ebb9@byu.net>
61111
61112         strtod touchups.
61113         * lib/strtod.c (strtod): Avoid compiler warnings.
61114         Reported by Jim Meyering.
61115
61116 2008-03-30  Bruno Haible  <bruno@clisp.org>
61117
61118         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61119         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61120         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61121         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61122         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61123         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61124         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61125         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61126
61127         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61128         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61129         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61130         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61131         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61132         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61133         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61134         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61135
61136         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61137         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61138         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61139         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61140         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61141         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61142         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61143         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61144
61145         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61146         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61147
61148         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61149         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61150
61151         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61152         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61153
61154         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61156         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61157
61158         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61159         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61160         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61161
61162         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61163         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61164         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61165
61166         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61167         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61168         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61169
61170         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61171         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61172         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61173         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61174         (Depends-on): Add EOVERFLOW.
61175         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61176         (Depends-on): Add EOVERFLOW.
61177         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61178         (Depends-on): Add EOVERFLOW.
61179         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61180         (Depends-on): Add EOVERFLOW.
61181         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61182         (Depends-on): Add EOVERFLOW.
61183         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61184         (Depends-on): Add EOVERFLOW.
61185         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61186         (Depends-on): Add EOVERFLOW.
61187         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61188         (Depends-on): Add EOVERFLOW.
61189
61190         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61191         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61192         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61193
61194         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61195         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61196         * modules/snprintf (Depends-on): Add EOVERFLOW.
61197
61198         * lib/poll.c (EOVERFLOW): Remove fallback.
61199         * modules/poll (Depends-on): Add EOVERFLOW.
61200
61201         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61202         * modules/getugroups (Depends-on): Add EOVERFLOW.
61203
61204         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61205         * modules/getdelim (Depends-on): Add EOVERFLOW.
61206
61207         * lib/ftell.c (EOVERFLOW): Remove fallback.
61208         * modules/ftell (Depends-on): Add EOVERFLOW.
61209
61210         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61211         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61212         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61213
61214         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61215
61216         * modules/EOVERFLOW-tests: New file.
61217         * tests/test-EOVERFLOW.c: New file.
61218
61219         * modules/EOVERFLOW: New file.
61220         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61221
61222 2008-03-30  Bruno Haible  <bruno@clisp.org>
61223
61224         Fix bug introduced on 2007-06-10.
61225         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61226         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61227
61228 2008-03-30  Bruno Haible  <bruno@clisp.org>
61229
61230         Improve freadseek's efficiency after ungetc.
61231         * lib/freadseek.c: Include freadahead.h.
61232         (freadptrinc): New function, extracted from freadseek.
61233         (freadseek): Use it in a loop. Use freadahead to determine the number
61234         of loop iterations.
61235         * modules/freadseek (Depends-on): Add freadahead.
61236         (configure.ac): Require AC_C_INLINE.
61237
61238 2008-03-30  Bruno Haible  <bruno@clisp.org>
61239
61240         * lib/freadseek.c (freadseek): Don't ignore the return value of
61241         freadptr.
61242
61243 2008-03-29  Eric Blake  <ebb9@byu.net>
61244
61245         Add hex float support.
61246         * modules/strtod (Depends-on): Add c-ctype.
61247         (Link): Mention POW_LIB.
61248         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61249         whitespace between 'e' and exponent.
61250         * tests/test-strtod.c (main): Enable hex float tests.
61251         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61252         now provides.
61253
61254         Document various strtod bugs, with some fixes.
61255         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61256         "-0x", "inf", "nan", and hex constants.
61257         * doc/posix-functions/atof.texi (atof): Likewise.
61258         * modules/stdlib (Makefile.am): Support strtod.
61259         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61260         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61261         detect additional strtod bugs.
61262         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61263         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61264         bool where appropriate.  Parse 'inf' and 'nan'.
61265         * tests/test-strtod.c: New file.
61266         * modules/strtod (Depends-on): Add stdbool, stdlib.
61267         (configure.ac): Turn on module indicator.
61268         * modules/strtod-tests: New module.
61269
61270 2008-03-29  Eric Blake  <ebb9@byu.net>
61271
61272         Fix ftell on mingw.
61273         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61274         * modules/ftell-tests (Depends-on): Add binary-io.
61275         * modules/ftello-tests (Depends-on): Likewise.
61276         * tests/test-ftell.c (main): Enhance test to cover behavior after
61277         ungetc.  Enforce binary mode.
61278         * tests/test-ftello.c (main): Likewise.
61279
61280         Pass test-freadseek on cygwin.
61281         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61282         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61283         ungetc buffer.
61284
61285         * tests/test-fflush2.c (main): Fix typo.
61286
61287 2008-03-29  Bruno Haible  <bruno@clisp.org>
61288
61289         * tests/test-fflush2.c (main): Temporarily disable the contents of
61290         this test.
61291         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61292         Reported by Eric Blake.
61293
61294 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61295
61296         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61297         (GC_SHA224_DIGEST_SIZE): Add.
61298
61299         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61300         (gc_hash_digest_length): Likewise.
61301         (gc_hash_buffer): Likewise.
61302
61303 2008-03-25  Bruno Haible  <bruno@clisp.org>
61304
61305         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61306         detail which gettext release to use.
61307         Reported by Simon Josefsson.
61308
61309 2008-03-26  Jim Meyering  <meyering@redhat.com>
61310
61311         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61312         * modules/gnumakefile (clean-GNUmakefile): Also, use
61313         test ... && ... || : syntax rather than if-then ... fi.
61314
61315         gnumakefile: Don't double-quote-expand $(VPATH) value.
61316         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61317
61318 2008-03-24  Eric Blake  <ebb9@byu.net>
61319
61320         Alter GNUmakefile to install into top directory.
61321         * modules/maintainer-makefile: Split, and add dependency...
61322         * modules/gnumakefile: to this new module.
61323         * build-aux/GNUmakefile: Move...
61324         * top/GNUmakefile: ...here.
61325         * build-aux/maint.mk: Move...
61326         * top/maint.mk: ...here.
61327         * MODULES.html.sh (Support for maintaining...): Document new
61328         module.
61329
61330 2008-03-23  Bruno Haible  <bruno@clisp.org>
61331
61332         * gnulib-tool: New options --vc-files, --no-vc-files.
61333         (func_usage): Document them.
61334         (vc_files): New variable.
61335         (func_import): Consider vc_files.
61336         (func_create_testdir): Set vc_files to empty.
61337         Suggested by Jim Meyering and Karl Berry.
61338
61339 2008-03-23  Bruno Haible  <bruno@clisp.org>
61340
61341         Fix regex compilation error on HP-UX 11.
61342         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61343         * modules/regex (Files): Add m4/mbstate_t.m4.
61344         Reported by Ton Voon <ton.voon@altinity.com>.
61345
61346 2008-03-23  Bruno Haible  <bruno@clisp.org>
61347
61348         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61349
61350 2008-03-23  Eric Blake  <ebb9@byu.net>
61351             Bruno Haible  <bruno@clisp.org>
61352
61353         Install files from top/ in the destination directory.
61354         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61355         augmentation also for the files from top/.
61356         (func_import, func_create_testdir): Rewrite file names:
61357         top/filename -> filename.
61358
61359 2008-03-23  Bruno Haible  <bruno@clisp.org>
61360
61361         Tweak "gnulib --version" output.
61362         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61363
61364 2008-03-23  Bruno Haible  <bruno@clisp.org>
61365
61366         Tweak "gnulib --version" output.
61367         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61368         rather than contents of ChangeLog, when possible.
61369
61370 2008-03-21  Eric Blake  <ebb9@byu.net>
61371
61372         More --version tweaks.
61373         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61374         date of last ChangeLog entry.
61375
61376 2008-03-21  Jim Meyering  <meyering@redhat.com>
61377
61378         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61379
61380 2008-03-20  Eric Blake  <ebb9@byu.net>
61381
61382         VPATH fix.
61383         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61384
61385 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61386
61387         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61388         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61389
61390 2008-03-20  Eric Blake  <ebb9@byu.net>
61391
61392         Sync GNUmakefile with coreutils.
61393         * build-aux/GNUmakefile (have-Makefile): Rename...
61394         (_have-Makefile): ...to this, for namespace consideration.
61395         (GNUmakefile.cfg): Include, if present.
61396         (_autoreconf): Define a default.
61397         (_is-dist-target): New rule for rebuilds to pick up intra-release
61398         version.
61399         (maint-cfg.mk): Rename...
61400         (cfg.mk): ...to this.
61401
61402 2008-03-18  Jim Meyering  <meyering@redhat.com>
61403
61404         New script and module: mktempd
61405         * MODULES.html.sh (maint+release support): Add mktempd.
61406         * build-aux/mktempd: New file.
61407         * modules/mktempd: New file.
61408
61409 2008-03-15  Jim Meyering  <meyering@redhat.com>
61410
61411         Undo last change.
61412         * lib/sha1.c, lib/md5.c: 63 != ~63.
61413         Reported by Andreas Schwab.
61414
61415         sha1.c, md5.c: Hoist a redundant expression.
61416         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61417         "ctx->buflen" only once, before calling *_process_block.
61418         * lib/md5.c (md5_process_bytes): Likewise.
61419
61420 2008-03-14  Eric Blake  <ebb9@byu.net>
61421
61422         Bump copyright year in files generated by gnulib-tool.
61423         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61424         gnulib-tool, rather than hard-coding it.
61425
61426         Fix 'gnulib-tool --version' output to work with git.
61427         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61428         (startup): ...here.
61429         (func_version): Use it to invoke git-version-gen, rather than
61430         relying on CVS keyword expansion.  Modernize wording.
61431         (cvsdatestamp, last_checkin_date, version): Kill unused
61432         variables.
61433
61434 2008-03-12  Jim Meyering  <meyering@redhat.com>
61435
61436         Recognize optional cast of the argument to free.
61437         * build-aux/useless-if-before-free: Update regexps.
61438
61439         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61440
61441 2008-03-11  Bruno Haible  <bruno@clisp.org>
61442
61443         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61444         by a single package.
61445         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61446         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61447         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61448         Reported by Sam Steingold <sds@gnu.org>.
61449
61450 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61451
61452         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61453         repositories.
61454
61455 2008-03-11  Bruno Haible  <bruno@clisp.org>
61456
61457         Avoid conflicts between local macro definitions.
61458         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61459         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61460
61461 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61462             Bruno Haible  <bruno@clisp.org>
61463
61464         Make va_copy work with some version of xlc on AIX 5.1.
61465         * lib/stdarg.in.h: New file.
61466         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61467         On AIX, use a <stdarg.h> file substitute.
61468         * modules/stdarg (Files): Add lib/stdarg.in.h.
61469         (Depends-on): Add include_next.
61470         (Makefile.am): Build a stdarg.h substitute if requested.
61471         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61472
61473 2008-03-10  Bruno Haible  <bruno@clisp.org>
61474
61475         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61476         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61477         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61478
61479 2008-03-10  Bruno Haible  <bruno@clisp.org>
61480
61481         * modules/stdlib (Depends-on): Add include_next, remove
61482         absolute-header.
61483
61484 2008-03-09  Bruno Haible  <bruno@clisp.org>
61485
61486         * lib/freadahead.h (freadahead): Document more precisely.
61487         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61488         the sum of both buffer sizes.
61489         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61490         * NEWS: Document the change.
61491
61492 2008-03-09  Bruno Haible  <bruno@clisp.org>
61493
61494         Extend freadptr to return also the buffer size.
61495         * lib/freadptr.h (freadptr): Add sizep argument.
61496         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61497         (freadptr): Add sizep argument. Determine buffer size like freadahead
61498         does.
61499         * tests/test-freadptr.c: Don't include freadahead.h.
61500         (main): Adapt for new calling convention of freadptr.
61501         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61502         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61503         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61504         tests/test-freadptr2.sh.
61505         (Depends): Remove freadahead.
61506         (TESTS): Add test-freadptr2.sh.
61507         (check_PROGRAMS): Add test-freadptr2.
61508
61509 2008-03-09  Bruno Haible  <bruno@clisp.org>
61510
61511         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61512         Report and solution by Simon Josefsson.
61513
61514 2008-03-06  Bruno Haible  <bruno@clisp.org>
61515
61516         Make fflush after ungetc work on BSD platforms.
61517         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61518         * tests/test-fflush2.c: New file.
61519         * tests/test-fflush2.sh: New file.
61520         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61521         tests/test-fflush2.c.
61522         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61523         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61524
61525 2008-03-06  Eric Blake  <ebb9@byu.net>
61526
61527         Likewise for ftello.
61528         * modules/ftello (Dependencies): Add extensions.
61529         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61530
61531 2008-03-06  Bruno Haible  <bruno@clisp.org>
61532
61533         * modules/fseeko (Dependencies): Add extensions.
61534         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61535         Needed on glibc systems.
61536
61537 2008-03-06  Bruno Haible  <bruno@clisp.org>
61538
61539         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61540         email address.
61541         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61542
61543 2008-03-06  Bruno Haible  <bruno@clisp.org>
61544
61545         * users.txt: Add libgnupdf.
61546
61547 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61548
61549         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61550         (Header File Substitutes, Function Substitutes,
61551         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61552         (Build robot for gnulib): Fix typo.
61553
61554 2008-03-06  Bruno Haible  <bruno@clisp.org>
61555
61556         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61557         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61558
61559 2008-03-06  Bruno Haible  <bruno@clisp.org>
61560
61561         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61562         * doc/gnulib.texi: Include it.
61563
61564 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61565
61566         * modules/func (License): Change license to unlimited; there was
61567         no LGPL parts in the module anyway.
61568
61569 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61570
61571         * modules/__func__: Renamed to modules/func.
61572         * modules/__func__-tests: Renamed to modules/func-tests.
61573         * tests/test-__func__.c: Renamed to tests/test-func.c.
61574         * m4/__func__.m4: Renamed to m4/func.m4.
61575         * doc/gnulib.texi (__func__): Section renamed to func.
61576         Suggested by Eric Blake <ebb9@byu.net>.
61577
61578 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61579
61580         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61581         about __func__.  Make example self-contained.  Suggested by Eric
61582         Blake <ebb9@byu.net>.
61583
61584         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61585         Suggested by Eric Blake <ebb9@byu.net>.
61586
61587 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61588
61589         * modules/__func__: New file.
61590         * modules/__func__-tests: New file.
61591         * tests/test-__func__.c: New file.
61592         * m4/__func__.m4: New file.
61593         * doc/gnulib.texi (__func__): Document __func__ module.
61594
61595 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61596
61597         * modules/byteswap (License): Re-license as LGPLv2+.
61598
61599 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61600
61601         * doc/Makefile: Add pdf target.
61602
61603 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61604
61605         * modules/inline (License): Use 'unlimited', since there are only
61606         *.m4 files in this module.
61607
61608 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61609             Bruno Haible  <bruno@clisp.org>
61610
61611         Add support for HP C 7.1 on OpenVMS 8.3.
61612         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61613
61614 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61615
61616         Update VMS specifics.
61617         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61618
61619 2008-03-02  Jim Meyering  <meyering@redhat.com>
61620
61621         Remove the last dependency on the "free" module.
61622         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61623         Reported by Bob Proulx.
61624
61625         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61626
61627         Remove useless "if" tests before free.  Deprecate "free" module.
61628         * doc/posix-functions/free.texi: Mention that this
61629         module is no longer useful.
61630         * modules/free (Notice): Say this module is obsolete.
61631         * modules/readutmp (Depends-on): Remove free.
61632         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61633         * lib/putenv.c (putenv): Likewise.
61634         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61635         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61636         * tests/test-c-strcasestr.c (main): Likewise.
61637         * tests/test-c-strstr.c (main): Likewise.
61638         * tests/test-mbscasestr1.c (main): Likewise.
61639         * tests/test-mbscasestr2.c (main): Likewise.
61640         * tests/test-mbsstr1.c (main): Likewise.
61641         * tests/test-mbsstr2.c (main): Likewise.
61642         * tests/test-memmem.c (main): Likewise.
61643         * tests/test-strcasestr.c (main): Likewise.
61644         * tests/test-striconv.c (main): Likewise.
61645         * tests/test-striconveh.c (main): Likewise.
61646         * tests/test-striconveha.c (main): Likewise.
61647         * tests/test-strstr.c (main): Likewise.
61648
61649         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61650
61651         bootstrap: sync from coreutils again
61652         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61653
61654 2008-03-01  Jim Meyering  <meyering@redhat.com>
61655
61656         bootstrap: sync from coreutils
61657         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61658         also when the target doesn't exist.
61659
61660 2008-03-01  Eric Blake  <ebb9@byu.net>
61661
61662         Fix bugs in last patch.
61663         * lib/memchr2.c (memchr2): Fix typo.
61664         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61665         extension.
61666         Reported by Bruce Korb.
61667
61668         New module 'memchr2'.
61669         * modules/memchr2: New file.
61670         * modules/memchr2-tests: Likewise.
61671         * lib/memchr2.h: Likewise.
61672         * lib/memchr2.c: Likewise, based on memchr.c.
61673         * tests/test-memchr2.c: New test.
61674         * MODULES.html.sh (String handling): Add memchr2.
61675
61676 2008-02-29  Bruno Haible  <bruno@clisp.org>
61677
61678         * modules/freadseek-tests: New file.
61679         * tests/test-freadseek.sh: New file.
61680         * tests/test-freadseek.c: New file.
61681
61682         New module 'freadseek'.
61683         * modules/freadseek: New file.
61684         * lib/freadseek.h: New file.
61685         * lib/freadseek.c: New file.
61686         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61687
61688 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61689
61690         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61691         wydawca.
61692
61693         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61694         program_invocation_name and program_invocation_short_name are
61695         present.
61696
61697 2008-02-28  Bruno Haible  <bruno@clisp.org>
61698
61699         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61700         * tests/test-freadptr.sh: Also test non-seekable stdin.
61701
61702 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61703
61704         * build-aux/bootstrap (source_base, m4_base)
61705         (doc_base, tests_base): New variables.
61706         (gnulib_tool_options): Do not hardcode base directories, use
61707         the above variables instead.
61708
61709 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61710
61711         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61712
61713 2008-02-28  Bruno Haible  <bruno@clisp.org>
61714
61715         * modules/freadptr-tests: New file.
61716         * tests/test-freadptr.sh: New file.
61717         * tests/test-freadptr.c: New file.
61718
61719         New module 'freadptr'.
61720         * modules/freadptr: New file.
61721         * lib/freadptr.h: New file.
61722         * lib/freadptr.c: New file.
61723         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61724
61725 2008-02-26  Karl Berry  <karl@freefriends.org>
61726
61727         Sync from Libtool:
61728         * libltdl/argz.c (argz_add, argz_count): New functions.
61729         * libltdl/argz.in.h: Declare them.
61730         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61731
61732 2008-02-22  Bruno Haible  <bruno@clisp.org>
61733
61734         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61735         is a pointer type.  Needed for HP-UX 10.
61736         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61737         * doc/posix-functions/gmtime_r.texi: Likewise.
61738         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61739
61740 2008-02-24  Bruno Haible  <bruno@clisp.org>
61741
61742         * modules/environ-tests: New file.
61743         * tests/test-environ.c: New file.
61744
61745         New module 'environ'.
61746         * modules/environ: New file.
61747         * lib/unistd.in.h (environ): New declaration.
61748         * m4/environ.m4: New file.
61749         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61750         after use.
61751         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61752         HAVE_DECL_ENVIRON.
61753         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61754         HAVE_DECL_ENVIRON.
61755         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61756         wrong claim that 'environ' is missing on some systems.
61757         * modules/execute (Depends-on): Add environ.
61758         * lib/execute.c (environ): Remove fallback declaration.
61759         * modules/pipe (Depends-on): Add environ.
61760         * lib/pipe.c (environ): Remove fallback declaration.
61761         * modules/setenv (Depends-on): Add environ.
61762         * lib/setenv.c (environ): Remove fallback declaration.
61763         * modules/unsetenv (Depends-on): Add environ.
61764         * lib/unsetenv.c (environ): Remove fallback declaration.
61765         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61766         m4/environ.m4.
61767         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61768         (gl_PREREQ_UNSETENV): Likewise.
61769
61770 2008-02-24  Bruno Haible  <bruno@clisp.org>
61771
61772         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61773
61774 2008-02-20  Bob Proulx  <bob@proulx.com>
61775
61776         Enable use of older two part flavor 'git describe'.
61777         * build-aux/git-version-gen: If using the older two part flavor of
61778         git version then recreate the third part now present in the
61779         newer three part flavor of git describe.
61780
61781 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61782
61783         * lib/fts.c (fts_build): Typo correction to comment.
61784
61785 2008-02-17  Bruno Haible  <bruno@clisp.org>
61786
61787         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61788         generating no-op conflicts.
61789
61790 2008-02-17  Bruno Haible  <bruno@clisp.org>
61791
61792         Speed up by 10%.
61793         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61794         result_entries, rather than an index-based loop.
61795
61796 2008-02-17  Bruno Haible  <bruno@clisp.org>
61797
61798         Speed up by 25%.
61799         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61800         'hashcode_cached'.
61801         (entry_create): New function.
61802         (entry_hashcode): Use the cached hashcode if possible.
61803         (read_changelog_file, try_split_merged_entry): Use entry_create.
61804
61805 2008-02-17  Bruno Haible  <bruno@clisp.org>
61806
61807         Speed up from O(n^2) to O(n) for long ChangeLog files.
61808         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61809         (read_changelog_file): Change implementation of entries_reversed list
61810         to rbtreehash.
61811         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61812
61813 2008-02-17  Bruno Haible  <bruno@clisp.org>
61814
61815         New option --split-merged-entry.
61816         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61817         (find_paragraph_end, try_split_merged_entry): New functions.
61818         (long_options): Add option --split-merged-entry.
61819         (usage): Document option --split-merged-entry.
61820         (main): Implement option --split-merged-entry.
61821         Reported by Eric Blake.
61822
61823 2008-02-17  Bruno Haible  <bruno@clisp.org>
61824
61825         * lib/git-merge-changelog.c: Include c-strstr.h.
61826         (main): Support the "git pull --rebase" situation.
61827         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61828         Reported by Eric Blake.
61829
61830 2008-02-16  Eric Blake  <ebb9@byu.net>
61831
61832         Avoid doubling \ in common case of "c-maybe" quoting style.
61833         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61834         eliding outer quotes.
61835         * lib/quotearg.h: Document this.
61836         * tests/test-quotearg.c (result_strings, inputs, results_g)
61837         (flag_results, locale_results): Test it by adding a new string to
61838         each test group.
61839         (compare_strings): Test new string.
61840
61841 2008-02-13  Eric Blake  <ebb9@byu.net>
61842
61843         Avoid trigraph quoting in default output.
61844         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61845         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61846         unless explicitly requested.
61847         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61848
61849 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61850
61851         Don't rely on signed integer overflowing to negative value.
61852         * lib/getugroups.c (getugroups): Include <limits.h>.
61853         Instead, compare against INT_MAX, and increment only if the test passes.
61854
61855 2008-02-13  Jim Meyering  <meyering@redhat.com>
61856         and Eric Blake  <ebb9@byu.net>
61857
61858         Avoid shadowing warning and compile errors on Linux.
61859         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61860         forwarding macros on Linux.
61861         (dcgettext): Define a stub, for Linux.
61862         (results_g, main): Avoid warnings.
61863
61864 2008-02-12  Eric Blake  <ebb9@byu.net>
61865
61866         Silence warning in last patch.
61867         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61868
61869         Quotearg part 4: add tests, fix c-maybe colon quoting.
61870         * lib/quotearg.h: Improve documentation.
61871         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61872         escapes when adding outer quotes.  When quoting trigraphs, use
61873         valid C notation.  When quoting NUL, omit extra characters if next
61874         character is not digit.  Alter prototype.
61875         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61876         callers.
61877         * modules/quotearg-tests: New module.
61878         * tests/test-quotearg.c: New test.
61879
61880 2008-02-07  Eric Blake  <ebb9@byu.net>
61881
61882         Quotearg part 3: add flag to control outer quote elision.
61883         * lib/quotearg.h (c_maybe_quoting_style): New style.
61884         (enum quoting_flags): Better documentation of flags.
61885         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61886         c-maybe style.
61887         (quotearg_buffer_restyled): Handle new flag to elide outer
61888         quotes.
61889
61890         Quotearg part 2: add flag that can control NUL elision.
61891         * lib/quotearg.h (set_quoting_flags): New prototype.
61892         * lib/quotearg.c (struct quoting_options): Add flag field.
61893         (set_quoting_flags): New function.
61894         (quotearg_buffer_restyled): Add flags parameter.
61895         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61896         (quotearg_n_options): Set the flag, since length cannot be
61897         returned.
61898         (quoting_options_from_style): Default flags correctly.
61899
61900         Quotearg part 1: more wrappers, restore quotearg_char state.
61901         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61902         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61903         (quotearg_colon_mem): New wrappers.
61904         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61905         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61906         functions.
61907         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61908         (quotearg_colon_mem): New functions.
61909
61910 2008-02-11  Bruno Haible  <bruno@clisp.org>
61911
61912         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61913         library in the current directory: it does not work with parallel make.
61914         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61915
61916 2008-02-11  Bruno Haible  <bruno@clisp.org>
61917
61918         * .gitattributes: New file.
61919
61920 2008-02-11  Jim Meyering  <meyering@redhat.com>
61921
61922         useless-if-before-free: Fix reversed exit values.
61923         * build-aux/useless-if-before-free: Use correct values
61924         for EXIT_MATCH and EXIT_NO_MATCH.
61925
61926         * build-aux/useless-if-before-free: Close stdout carefully.
61927
61928 2008-02-10  Bruno Haible  <bruno@clisp.org>
61929
61930         New module 'git-merge-changelog'.
61931         * modules/git-merge-changelog: New file.
61932         * lib/git-merge-changelog.c: New file.
61933
61934 2008-02-10  Jim Meyering  <meyering@redhat.com>
61935
61936         useless-if-before-free: New option: --list (-l).
61937
61938         useless-if-before-free: Don't exit immediately upon open failure.
61939         * build-aux/useless-if-before-free: Exit 2 for errors.
61940         Upon failure to open a file, don't exit immediately.
61941         Rather, just warn and continue with any remaining files.
61942
61943 2008-02-10  Bruno Haible  <bruno@clisp.org>
61944
61945         New abstract list operation 'node_set_value'.
61946         * lib/gl_list.h (gl_list_node_set_value): New function.
61947         (struct gl_list_implementation): New field node_set_value.
61948         * lib/gl_list.c (gl_list_node_set_value): New function.
61949         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61950         (gl_array_list_implementation): Update.
61951         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61952         (gl_carray_list_implementation): Update.
61953         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61954         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61955         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61956         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61957         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61958         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61959         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61960         Update.
61961         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61962         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61963         (gl_sublist_list_implementation): Update.
61964
61965 2008-02-10  Bruno Haible  <bruno@clisp.org>
61966
61967         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61968         Needed when ELEMENT is #defined to 'some_type *'.
61969
61970 2008-02-10  Jim Meyering  <meyering@redhat.com>
61971
61972         New script and module: useless-if-before-free
61973         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61974         * build-aux/useless-if-before-free: New file.
61975         * modules/useless-if-before-free: New file.
61976
61977         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61978
61979         xstrtol_error: Fix typo.
61980         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61981         s/exit_failure/exit_status/.
61982
61983 2008-02-09  Jim Meyering  <meyering@redhat.com>
61984
61985         New script and module: gitlog-to-changelog
61986         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61987         * modules/gitlog-to-changelog: New file.
61988         * build-aux/gitlog-to-changelog: New file.
61989
61990 2008-02-08  Jim Meyering  <meyering@redhat.com>
61991
61992         Avoid two "parameter unused" warnings.
61993         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61994         Mark "st" as used.
61995
61996         Use "git COMMAND", not "git-COMMAND".
61997         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61998         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61999         * build-aux/git-version-gen: Use "git status", not "git-status".
62000
62001 2008-02-07  Bruno Haible  <bruno@clisp.org>
62002
62003         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62004         Avoids a crash on Windows Vista.
62005         Reported by Adam Strzelecki <ono@java.pl> via
62006         Simon Josefsson <simon@josefsson.org>.
62007
62008 2008-02-06  Bruno Haible  <bruno@clisp.org>
62009
62010         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62011         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62012         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62014         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62015         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62016         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62017         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62018         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62019         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62020         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62021         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62022         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62023         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62024         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62025         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62026         left-adjust flag.
62027         * tests/test-snprintf-posix.h (test_function): Likewise.
62028         * tests/test-sprintf-posix.h (test_function): Likewise.
62029         * tests/test-vasprintf-posix.c (test_function): Likewise.
62030         * doc/posix-functions/fprintf.texi: Update.
62031         * doc/posix-functions/printf.texi: Update.
62032         * doc/posix-functions/snprintf.texi: Update.
62033         * doc/posix-functions/sprintf.texi: Update.
62034         * doc/posix-functions/vfprintf.texi: Update.
62035         * doc/posix-functions/vprintf.texi: Update.
62036         * doc/posix-functions/vsnprintf.texi: Update.
62037         * doc/posix-functions/vsprintf.texi: Update.
62038         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62039
62040 2008-02-06  Bruno Haible  <bruno@clisp.org>
62041
62042         Fix bug introduced on 2008-01-26.
62043         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62044
62045 2008-02-06  Bruno Haible  <bruno@clisp.org>
62046
62047         Fix bug introduced on 2007-06-10.
62048         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62049         !NEED_PRINTF_FLAG_ZERO.
62050
62051 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62052
62053         getloadavg: use libperfstat on AIX5
62054         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62055
62056 2008-02-03  Bruno Haible  <bruno@clisp.org>
62057
62058         * lib/diffseq.h: Add comments about required #includes.
62059         Reported by Michael Biggs <gnulib@doubleplum.net>.
62060
62061 2008-02-01  Bruno Haible  <bruno@clisp.org>
62062
62063         * users.txt: Add gnuit.
62064
62065 2008-01-31  Bruno Haible  <bruno@clisp.org>
62066
62067         * lib/md4.c (set_uint32): Mark as inline.
62068         * lib/md5.c (set_uint32): Likewise.
62069         * lib/sha1.c (set_uint32): Likewise.
62070         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62071         * m4/md5.m4 (gl_MD5): Likewise.
62072         * m4/sha1.m4 (gl_SHA1): Likewise.
62073
62074 2008-01-31  Jim Meyering  <meyering@redhat.com>
62075
62076         Use "sizeof VAR", rather than a literal "4".
62077         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
62078         * lib/md4.c (md4_read_ctx): Likewise.
62079         * lib/sha1.c (sha1_read_ctx): Likewise.
62080
62081 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62082
62083         * tests/test-sha1.c: New file, based on test-md5.c.
62084
62085         * modules/crypto/sha1-tests: New file.
62086
62087 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62088
62089         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62090
62091 2008-01-31  Jim Meyering  <meyering@redhat.com>
62092
62093         Prefer "sizeof v" over the equivalent "4".
62094         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62095         * lib/md5.c (set_uint32): Likewise.
62096         * lib/sha1.c (set_uint32): Likewise.
62097
62098 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62099
62100         * lib/sha1.c (set_uint32): Mark function as static.
62101
62102 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62103
62104         md2: clarify comments to say that alignment is not required.
62105         * lib/md2.h: Remove warning about alignment in comment.
62106         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62107         never been required.
62108
62109 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62110
62111         md4: adapt alignment constraint fix from sha1.
62112         * lib/md4.c (set_uint32): New function, from sha1.c
62113         (md4_read_ctx): Use it.
62114         (md4_finish_ctx): Doc fix.
62115         * lib/md4.h: Doc fix.
62116
62117 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62118
62119         md5: adapt alignment constraint fix from sha1.
62120         * lib/md5.c (set_uint32): New function, from sha1.c
62121         (md5_read_ctx): Use it.
62122         (md5_finish_ctx): Doc fix.
62123         * lib/md5.h: Doc fix.
62124
62125 2008-01-30  Peter Palfrader  <weasel@debian.org>
62126
62127         sha1: remove the result buffer alignment constraint
62128         * lib/sha1.c (set_uint32): New function.
62129         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62130         constraint.
62131         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62132         * lib/sha1.h: Likewise.
62133
62134 2008-01-30  Andreas Schwab  <schwab@suse.de>
62135             Bruno Haible  <bruno@clisp.org>
62136
62137         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62138         correct definition of LDBL_MIN_EXP.
62139
62140 2008-01-30  Karl Berry  <karl@gnu.org>
62141
62142         * config/srclist-update: try to preserve x bit on updates.
62143         * config/srclistvars.sh: update for karl.
62144
62145 2008-01-29  Jim Meyering  <meyering@redhat.com>
62146
62147         vasnprintf.c: Avoid warning about unused label
62148         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62149         "overflow" label definition and associated code with the
62150         same cpp condition that guards the sole use of that label.
62151
62152 2008-01-26  Bruno Haible  <bruno@clisp.org>
62153
62154         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62155         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62156         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62157         * lib/isnanl-nolibm.h (isnanl): Likewise.
62158         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62159
62160 2008-01-26  Bruno Haible  <bruno@clisp.org>
62161
62162         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62163         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62164
62165 2008-01-26  Bruno Haible  <bruno@clisp.org>
62166
62167         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62168         GCC >= 4.0 built-in.
62169         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62170
62171 2008-01-26  Bruno Haible  <bruno@clisp.org>
62172
62173         Rename isnan, applicable to 'double' only, to isnand.
62174         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62175         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62176         (configure.ac): Update.
62177         (Include): Replace "isnan.h" with "isnand.h".
62178         * m4/isnand.m4: Renamed from m4/isnan.m4.
62179         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62180         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62181         instead of isnan.c.
62182         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62183         instead of HAVE_ISNAN_IN_LIBC.
62184         (isnand): Renamed from isnan.
62185         * lib/isnand.c: New file.
62186         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62187         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62188         (Makefile.am): Update.
62189         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62190         Include isnand.h instead of isnan.h.
62191         (main): Test isnand instead of isnan.
62192         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62193         isnan-nolibm.
62194         * modules/frexp (Depends-on): Likewise.
62195         * modules/frexp-tests (Depends-on): Likewise.
62196         * modules/frexp-nolibm (Depends-on): Likewise.
62197         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62198         * modules/isfinite (Depends-on): Likewise.
62199         * modules/round-tests (Depends-on): Likewise.
62200         * modules/signbit (Depends-on): Likewise.
62201         * modules/signbit-tests (Depends-on): Likewise.
62202         * modules/snprintf-posix (Depends-on): Likewise.
62203         * modules/sprintf-posix (Depends-on): Likewise.
62204         * modules/trunc-tests (Depends-on): Likewise.
62205         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62206         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62207         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62208         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62209         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62210         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62211         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62212         * modules/vasnprintf-posix (Depends-on): Likewise.
62213         * modules/vasprintf-posix (Depends-on): Likewise.
62214         * modules/vfprintf-posix (Depends-on): Likewise.
62215         * modules/vsnprintf-posix (Depends-on): Likewise.
62216         * modules/vsprintf-posix (Depends-on): Likewise.
62217         * lib/frexp.c: Include isnand.h instead of isnan.h.
62218         (ISNAN): Set to isnand instead of isnan.
62219         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62220         (gl_isfinited): Use isnand instead of isnan.
62221         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62222         (gl_signbitd): Use isnand instead of isnan.
62223         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62224         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62225         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62226         (main): Use isnand instead of isnan.
62227         * tests/test-round1.c: Include isnand.h.
62228         (main): Use isnand instead of isnan.
62229         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62230         (ISNAN): Set to isnand instead of isnan.
62231         * tests/test-trunc1.c: Include isnand.h.
62232         (main): Use isnand instead of isnan.
62233         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62234         (equal): Use isnand instead of isnan.
62235         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62236         isnand-nolibm.
62237         * NEWS: Mention the change.
62238
62239 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62240             Bruno Haible  <bruno@clisp.org>
62241
62242         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62243         the GCC builtins for signbits are present and set
62244         REPLACE_SIGNBIT_USING_GCC if so.
62245         * lib/math.in.h (signbit): Define using GCC builtins if
62246         REPLACE_SIGNBIT_USING_GCC is set.
62247         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62248         REPLACE_SIGNBIT_USING_GCC.
62249         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62250
62251 2008-01-25  Jim Meyering  <meyering@redhat.com>
62252
62253         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62254         * lib/poll.c: Include <config.h>, not "config.h".
62255         * tests/test-getaddrinfo.c: Likewise.
62256
62257 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62258
62259         * modules/sockets-tests: New file.
62260
62261 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62262
62263         * modules/sockets: New module, can be used to call WSA_Startup and
62264         WSA_Cleanup when needed.
62265
62266         * lib/sockets.h, lib/sockets.c: New files.
62267
62268         * m4/sockets.m4: New file.
62269
62270         * tests/test-sockets.c: New file.
62271
62272 2008-01-19  Bruno Haible  <bruno@clisp.org>
62273
62274         * doc/posix-headers: Renamed from doc/headers.
62275         * doc/posix-functions: Renamed from doc/functions.
62276         * doc/gnulib.texi: Update.
62277
62278 2008-01-19  Bruno Haible  <bruno@clisp.org>
62279
62280         * doc/glibc-functions/strcasestr.texi: Include contents of
62281         doc/functions/strcasestr.texi, fixing the list of platforms.
62282         * doc/functions/strcasestr.texi: Remove file.
62283
62284 2008-01-19  Bruno Haible  <bruno@clisp.org>
62285
62286         * doc/glibc-functions/memmem.texi: Include contents of
62287         doc/functions/memmem.texi.
62288         * doc/functions/memmem.texi: Remove file.
62289
62290 2008-01-18  Bruno Haible  <bruno@clisp.org>
62291
62292         * doc/glibc-functions/*.texi: New files.
62293         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62294         to use the new files.
62295
62296 2008-01-17  Bruno Haible  <bruno@clisp.org>
62297
62298         * tests/test-gethostname.c (main): Fix printf statement.
62299
62300 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62301
62302         * modules/gethostname-tests: New file.
62303
62304         * tests/test-gethostname.c: New file.
62305
62306 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62307
62308         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62309         used by the UNAME case.  Reported by Bruno Haible
62310         <bruno@clisp.org>.
62311
62312 2008-01-17  Eric Blake  <ebb9@byu.net>
62313
62314         Convert c-strcasestr to be more efficient.
62315         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62316         (Depends-on): Add c-strcase, remove malloca, strnlen.
62317         * tests/test-c-strcasestr.c (main): Enhance test.
62318         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62319
62320 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62321
62322         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62323         Use it in creating po/Makevars.
62324
62325 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62326
62327         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62328         Applications that requires it should initialize libgcrypt
62329         manually.
62330
62331 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62332
62333         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62334
62335 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62336
62337         Fix problem with getdate on mingw32 reported by Simon Josefsson
62338         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62339         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62340         tzname", when deciding whether to declare tzname.
62341         * lib/strftime.c (tzname): Likewise.
62342
62343 2008-01-15  Bruno Haible  <bruno@clisp.org>
62344
62345         Work around a MacOS X 10.5 bug in frexpl().
62346         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62347         * doc/functions/frexpl.texi: Document the bug.
62348         Reported by Elias Pipping <pipping@gentoo.org>.
62349
62350 2008-01-14  Eric Blake  <ebb9@byu.net>
62351
62352         Touch up previous patch.
62353         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62354         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62355
62356         Convert strcasestr module to use Two-Way algorithm.
62357         * modules/strcasestr-simple: New module, based on the old
62358         strcasestr, but with Two-Way rather than KMP.
62359         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62360         * lib/string.in.h (rpl_strcasestr): Declare.
62361         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62362         performance.
62363         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62364         * modules/string (Makefile.am): Support strcasestr.
62365         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62366         * modules/strcasestr-tests (Depends-on): Check for alarm.
62367         * tests/test-strcasestr.c: Augment test.
62368         * lib/str-two-way.h: Clean up stray macro.
62369         * NEWS: Document new module.
62370         * MODULES.html.sh (string handling): Likewise.
62371         * doc/functions/strcasestr.texi: New file.
62372         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62373         here, since it is not a POSIX function.
62374
62375 2008-01-14  Colin Watson  <cjwatson@debian.org>
62376             Bruno Haible  <bruno@clisp.org>
62377
62378         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62379         works fine; if not, set REPLACE_STRSIGNAL.
62380         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62381         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62382         REPLACE_STRSIGNAL.
62383         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62384         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62385         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62386
62387 2008-01-14  Bruno Haible  <bruno@clisp.org>
62388
62389         * modules/strsignal (Include): Change to <string.h>.
62390
62391 2008-01-14  Colin Watson  <cjwatson@debian.org>
62392
62393         * modules/argp (Notice): Add a notice recommending to change
62394         XGETTEXT_OPTIONS.
62395         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62396
62397 2008-01-13  Colin Watson  <cjwatson@debian.org>
62398
62399         * modules/strsignal-tests: New file.
62400         * tests/test-strsignal.c: New file.
62401
62402         * lib/strsignal.c: New file, from glibc with modifications.
62403         * lib/siglist.h: New file, from glibc with modifications.
62404         * lib/string.in.h (strsignal): New declaration.
62405         * m4/strsignal.m4: New file.
62406         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62407         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62408         * modules/strsignal: New file.
62409         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62410         HAVE_DECL_STRSIGNAL.
62411
62412 2008-01-13  Bruno Haible  <bruno@clisp.org>
62413
62414         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62415         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62416         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62417         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62418
62419 2008-01-13  Bruno Haible  <bruno@clisp.org>
62420
62421         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62422         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62423         * lib/argp.h (__attribute__): Likewise.
62424         * lib/c-stack.c (__attribute__): Likewise.
62425         * lib/error.h (__attribute__): Likewise.
62426         * lib/fts.c (__attribute__): Likewise.
62427         * lib/openat.h (__attribute__): Likewise.
62428         * lib/stdio.in.h (__attribute__): Likewise.
62429         * lib/string.in.h (__attribute__): Likewise.
62430         * lib/utimens.c (__attribute__): Likewise.
62431         * lib/vasnprintf.h (__attribute__): Likewise.
62432         * lib/xalloc.h (__attribute__): Likewise.
62433         * lib/xprintf.h (__attribute__): Likewise.
62434         * lib/xstrtol.h (__attribute__): Likewise.
62435         * lib/xvasprintf.h (__attribute__): Likewise.
62436
62437 2008-01-12  Bruno Haible  <bruno@clisp.org>
62438
62439         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62440         * doc/glibc-headers/a.out.texi: New file.
62441         * doc/glibc-headers/aliases.texi: New file.
62442         * doc/glibc-headers/alloca.texi: New file.
62443         * doc/glibc-headers/ar.texi: New file.
62444         * doc/glibc-headers/argp.texi: New file.
62445         * doc/glibc-headers/argz.texi: New file.
62446         * doc/glibc-headers/byteswap.texi: New file.
62447         * doc/glibc-headers/crypt.texi: New file.
62448         * doc/glibc-headers/endian.texi: New file.
62449         * doc/glibc-headers/envz.texi: New file.
62450         * doc/glibc-headers/err.texi: New file.
62451         * doc/glibc-headers/error.texi: New file.
62452         * doc/glibc-headers/execinfo.texi: New file.
62453         * doc/glibc-headers/fpu_control.texi: New file.
62454         * doc/glibc-headers/fstab.texi: New file.
62455         * doc/glibc-headers/fts.texi: New file.
62456         * doc/glibc-headers/getopt.texi: New file.
62457         * doc/glibc-headers/ieee754.texi: New file.
62458         * doc/glibc-headers/ifaddrs.texi: New file.
62459         * doc/glibc-headers/libintl.texi: New file.
62460         * doc/glibc-headers/mcheck.texi: New file.
62461         * doc/glibc-headers/mntent.texi: New file.
62462         * doc/glibc-headers/obstack.texi: New file.
62463         * doc/glibc-headers/paths.texi: New file.
62464         * doc/glibc-headers/printf.texi: New file.
62465         * doc/glibc-headers/pty.texi: New file.
62466         * doc/glibc-headers/resolv.texi: New file.
62467         * doc/glibc-headers/shadow.texi: New file.
62468         * doc/glibc-headers/sysexits.texi: New file.
62469         * doc/glibc-headers/ttyent.texi: New file.
62470
62471 2008-01-12  Jim Meyering  <meyering@redhat.com>
62472
62473         announce-gen: emit Gnulib's git-based version string.
62474         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62475         New option --gnulib-version=V, where V is expected to be
62476         the output of running git describe in the gnulib directory.
62477         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62478         not useful, and plan to stop publishing an xdelta file with each
62479         coreutils release.
62480
62481         * build-aux/announce-gen: Also check for lzma-compressed files.
62482
62483 2008-01-11  Bruno Haible  <bruno@clisp.org>
62484
62485         * tests/test-memmem.c (main): Increase maximum allowed time.
62486         * tests/test-strstr.c (main): Likewise.
62487
62488 2008-01-11  Bruno Haible  <bruno@clisp.org>
62489
62490         * doc/functions/memmem.texi: Add more precisions about platforms.
62491         * doc/functions/strstr.texi: Likewise.
62492
62493 2008-01-10  Eric Blake  <ebb9@byu.net>
62494
62495         * m4/strstr.m4: Delete cruft from copy-n-paste.
62496         Reported by Bruno Haible.
62497
62498 2008-01-10  Bruno Haible  <bruno@clisp.org>
62499
62500         Make c-strstr rely on strstr.
62501         * lib/c-strstr.c: Don't include str-kmp.h.
62502         (c_strstr): Define in terms of strstr.
62503         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62504         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62505
62506 2008-01-10  Bruno Haible  <bruno@clisp.org>
62507
62508         * doc/gnulib.texi (String Functions in C Locale): New section.
62509         * doc/c-ctype.texi: New file.
62510         * doc/c-strcase.texi: New file.
62511         * doc/c-strcaseeq.texi: New file.
62512         * doc/c-strcasestr.texi: New file.
62513         * doc/c-strstr.texi: New file.
62514         * doc/c-strtod.texi: New file.
62515         * doc/c-strtold.texi: New file.
62516
62517 2008-01-10  Eric Blake  <ebb9@byu.net>
62518
62519         * lib/relocatable.h: Fix a comment.
62520
62521 2008-01-10  Eric Blake  <ebb9@byu.net>
62522
62523         Share two-way algorithm.
62524         * lib/str-two-way.h: New file, merged from...
62525         * lib/memmem.c: ...here...
62526         * lib/strstr.c: ...and here.
62527         * modules/memmem (Files): Use it.
62528         * modules/strstr (Files): Likewise.
62529
62530         Avoid quadratic strstr implementations.
62531         * lib/strstr.c: New file.
62532         * m4/strstr.m4: Likewise.
62533         * modules/strstr: Likewise.
62534         * modules/strstr-tests: Likewise.
62535         * tests/test-strstr.c: Likewise.
62536         * lib/string.in.h (rpl_strstr): Declare.
62537         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62538         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62539         * modules/string (Makefile.am): Likewise.
62540         * MODULES.html.sh (string handling): Mention new module.
62541         * doc/functions/strstr.texi (strstr): Document the bug.
62542
62543 2008-01-10  Bruno Haible  <bruno@clisp.org>
62544
62545         * lib/relocatable.h (relocate): State whether result is freshly
62546         allocated or not.
62547         * lib/relocatable.c (relocate): Return a freshly allocated string
62548         instead of a pointer to a privately held string.
62549         Reported by Sylvain Beucler <beuc@gnu.org>.
62550
62551 2008-01-10  Colin Watson  <cjwatson@debian.org>
62552
62553         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62554         s/S_ISNLK/S_ISLNK/.
62555
62556 2008-01-09  Bruno Haible  <bruno@clisp.org>
62557
62558         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62559         and other files.
62560         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62561         if it's only a guess.
62562         * modules/memmem: Simplify by depending on memmem-simple.
62563
62564 2008-01-09  Bruno Haible  <bruno@clisp.org>
62565
62566         Work around OpenBSD 4.0 tdelete() bug.
62567         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62568         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62569         macros and don't redefine the enum values.
62570         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62571         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62572         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62573
62574 2008-01-09  Bruno Haible  <bruno@clisp.org>
62575
62576         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62577         (main): Don't perform the tests if setlocale did not install a UTF-8
62578         locale. Needed on OpenBSD 4.0.
62579         * modules/wcwidth-tests (Depends-on): Add localcharset.
62580
62581 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62582
62583         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62584         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62585         * NEWS: announce this.
62586         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62587
62588 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62589         and Eric Blake  <ebb9@byu.net>
62590
62591         Add memmem-simple module.
62592         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62593         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62594         * modules/memmem-simple: New file.
62595         * modules/memmem (Description): Tweak.
62596         * MODULES.html.sh (string handling): Mention new module.
62597         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62598         addressed by memmem-simple.
62599         * NEWS: Document the difference.
62600
62601 2008-01-09  Eric Blake  <ebb9@byu.net>
62602
62603         Give gcc some memmem optimization hints.
62604         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62605         (strcasestr): Declare as pure.
62606         * modules/memmem (Maintainer): Claim my implementation.
62607
62608 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62609
62610         Support AIX 6.1 and higher.
62611         * build-aux/config.libpath: Likewise.
62612         * build-aux/config.rpath: Likewise.
62613
62614 2008-01-08  Jim Meyering  <meyering@redhat.com>
62615             Bruno Haible  <bruno@clisp.org>
62616
62617         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62618         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62619         Reported by Peter Fales in
62620         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62621
62622 2008-01-08  Bruno Haible  <bruno@clisp.org>
62623
62624         * modules/unictype/category-of (Depends-on): Add
62625         unictype/category-none.
62626         * modules/unictype/category-and-tests (Depends-on): Add
62627         unictype/category-{L,N,Lu,Nd}.
62628         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62629         * modules/unictype/category-or-tests (Depends-on): Add
62630         unictype/category-{L,N}.
62631         * modules/unictype/category-name-tests (Depends-on): Add
62632         unictype/category-{Z,Nl}.
62633         Reported by Simon Josefsson.
62634
62635 2008-01-08  Bruno Haible  <bruno@clisp.org>
62636
62637         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62638         convention better.
62639         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62640         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62641         Reported by Peter Miller <millerp@canb.auug.org.au>.
62642
62643 2008-01-08  Eric Blake  <ebb9@byu.net>
62644
62645         Rewrite memmem to guarantee linear complexity without malloc.
62646         * lib/memmem.c (memmem): Use Two-Way rather than
62647         Knuth-Morris-Pratt, to allow O(1) space usage.
62648         (critical_factorization, two_way_short_needle)
62649         (two_way_long_needle): New functions.
62650         (knuth_morris_pratt): Delete.
62651         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62652         Add stdint.
62653         * tests/test-memmem.c (main): Add tests for periodic needle and
62654         sublinear performance.
62655         * doc/functions/memmem.texi (memmem): Document other deficiencies
62656         in cygwin and older glibc.
62657
62658 2008-01-08  Bruno Haible  <bruno@clisp.org>
62659
62660         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62661         augmentation.
62662
62663 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62664
62665         Add a configure time option: --disable-acl.
62666         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62667         AC_ARG_ENABLE(acl).
62668
62669 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62670
62671         * tests/test-localename.c: Don't include obsolete "setenv.h".
62672
62673         * modules/localename-tests (Depends-on): Need unsetenv.
62674
62675 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62676
62677         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62678
62679 2008-01-06  Colin Watson  <cjwatson@debian.org>
62680
62681         * users.txt: Add man-db.
62682
62683 2008-01-07  Bruno Haible  <bruno@clisp.org>
62684
62685         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62686         previous section name.
62687
62688 2008-01-07  Bruno Haible  <bruno@clisp.org>
62689
62690         * lib/progname.c (set_program_name): Don't strip off a leading
62691         "lt-" prefix outside a .libs directory.
62692         Suggested by Paul Eggert.
62693
62694 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62695             Bruno Haible  <bruno@clisp.org>
62696
62697         Improve memory cleanup in 'relocatable' module.
62698         * lib/relocatable.h (compute_curr_prefix): Change return type to
62699         'char *'.
62700         * lib/relocatable.c (compute_curr_prefix): Change return type to
62701         'char *'. Free curr_installdir after use.
62702         (relocate): Free curr_prefix_better after use.
62703         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62704
62705 2008-01-01  Bruno Haible  <bruno@clisp.org>
62706
62707         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62708         failure on older glibc systems.
62709         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62710
62711 2008-01-05  Eric Blake  <ebb9@byu.net>
62712
62713         Avoid quadratic system memmem.
62714         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62715         Reported by Ralf Wildenhues.
62716
62717         Fix memmem test for mingw.
62718         * modules/memmem-tests (configure.ac): Check for alarm.
62719         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62720         it.
62721         * doc/functions/memmem.texi: New file.
62722         * doc/gnulib.texi (Function Substitutes): Add memmem.
62723         Reported by Bruno Haible.
62724
62725 2008-01-04  Bruno Haible  <bruno@clisp.org>
62726
62727         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62728         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62729         gl_HEADER_STRING_H_DEFAULTS.
62730
62731 2008-01-04  Eric Blake  <ebb9@byu.net>
62732
62733         Shorten duration of memmem test.
62734         * tests/test-memmem.c (main): Use alarm to declare failure if test
62735         is taking too long.
62736         Reported by Ralf Wildenhues.
62737
62738 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62739
62740         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62741         string, needed by strerror.
62742
62743 2008-01-03  Colin Watson  <cjwatson@debian.org>
62744             Bruno Haible  <bruno@clisp.org>
62745
62746         * doc/gnulib-tool.texi (Localization): New section.
62747
62748 2008-01-02  Bruno Haible  <bruno@clisp.org>
62749
62750         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62751         variables to 'unsigned char *' type.
62752         Reported by Paul Eggert.
62753
62754 2008-01-02  Jim Meyering  <jim@meyering.net>
62755
62756         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62757
62758 2007-12-31  Jim Meyering  <jim@meyering.net>
62759
62760         Avoid use of private FTS type name.
62761         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62762
62763 2007-12-30  Karl Berry  <karl@gnu.org>
62764
62765         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62766         work around defect in Texinfo and/or the standalone Info browser.
62767
62768 2007-12-30  Bruno Haible  <bruno@clisp.org>
62769
62770         Unify 5 copies of the KMP code.
62771         * lib/str-kmp.h: New file.
62772         * lib/c-strcasestr.c: Include str-kmp.h.
62773         (knuth_morris_pratt): Remove function.
62774         (c_strcasestr): Update.
62775         * lib/c-strstr.c: Include str-kmp.h.
62776         (knuth_morris_pratt): Remove function.
62777         (c_strcasestr): Update.
62778         * lib/mbscasestr.c: Include str-kmp.h.
62779         (knuth_morris_pratt_unibyte): Remove function.
62780         * lib/mbsstr.c: Include str-kmp.h.
62781         (knuth_morris_pratt_unibyte): Remove function.
62782         * lib/strcasestr.c: Include str-kmp.h.
62783         (knuth_morris_pratt): Remove function.
62784         (strcasestr): Update.
62785         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62786         * modules/c-strstr (Files): Likewise.
62787         * modules/mbscasestr (Files): Likewise.
62788         * modules/mbsstr (Files): Likewise.
62789         * modules/strcasestr (Files): Likewise.
62790         Suggested by Paul Eggert.
62791
62792 2007-12-30  Bruno Haible  <bruno@clisp.org>
62793
62794         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62795         defined.
62796
62797 2007-12-30  Bruno Haible  <bruno@clisp.org>
62798
62799         * lib/xmalloca.h: Include xalloc.h.
62800         (xnmalloca): New macro.
62801
62802 2007-12-30  Bruno Haible  <bruno@clisp.org>
62803
62804         * lib/malloca.h (nmalloca): New macro.
62805         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62806         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62807         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62808         knuth_morris_pratt_multibyte): Likewise.
62809         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62810         knuth_morris_pratt_multibyte): Likewise.
62811         * lib/memmem.c (knuth_morris_pratt): Likewise.
62812         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62813
62814 2007-12-25  Bruno Haible  <bruno@clisp.org>
62815
62816         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62817         * lib/glob.c: Don't include openat.h.
62818         (link_exists2_p): Add back the code that deals with the
62819         !GLOB_ALTDIRFUNC case.
62820         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62821         let it do the filename concatenation.
62822         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62823         * modules/glob (Depends-on): Remove openat.
62824
62825 2007-12-31  Bruno Haible  <bruno@clisp.org>
62826
62827         * modules/dirfd (License): Change to LGPLv2+.
62828         Approved by Jim Meyering.
62829
62830 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62831
62832         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62833         when multiplying M by sizeof (size_t).
62834
62835 2007-12-10  Martin Lambers  <marlam@marlam.de>
62836
62837         Override getpagesize on mingw.
62838         * lib/getpagesize.c: New file.
62839         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62840         * modules/getpagesize (Files): Add lib/getpagesize.c.
62841         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62843         REPLACE_GETPAGESIZE.
62844         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62845
62846 2007-12-25  Bruno Haible  <bruno@clisp.org>
62847
62848         * modules/localcharset (Notice): New field.
62849         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62850         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62851
62852 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62853             Bruno Haible  <bruno@clisp.org>
62854
62855         Avoid using the syntax symbol() in formatted documentation.
62856         * MODULES.html.sh (func_module): When replacing symbol() with a
62857         hyperlink, remove the parentheses. Show an error if some remain.
62858         Recognize and render the '...' syntax.
62859         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62860         Rework. Add paragraph about GCC's inlining.
62861         * doc/alloca.texi: Likewise.
62862         * doc/error.texi: Remove parentheses from symbol reference.
62863         * doc/gnulib-intro.texi: Likewise.
62864         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62865         * modules/fnmatch (Description): Reword to say "the ... function".
62866         * modules/full-read (Description): Likewise.
62867         * modules/full-write (Description): Likewise.
62868         * modules/safe-read (Description): Likewise.
62869         * modules/safe-write (Description): Likewise.
62870         * modules/strchrnul (Description): Likewise.
62871         * modules/trim (Description): Likewise.
62872         * modules/error (Description): Remove parentheses from symbol
62873         references.
62874         * modules/verror (Description): Likewise.
62875         Reported by Karl Berry.
62876
62877 2007-12-25  Bruno Haible  <bruno@clisp.org>
62878
62879         Fixup after 2007-10-16 commit.
62880         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62881
62882 2007-12-24  Bruno Haible  <bruno@clisp.org>
62883
62884         Make --enable-relocatable work with DESTDIR.
62885         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62886         to compute installdir from destprog.
62887         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62888         also set the RELOC_DESTDIR variable.
62889         Reported by Левашев Иван <octagram@bluebottle.com>.
62890
62891 2007-12-24  Bruno Haible  <bruno@clisp.org>
62892
62893         Fix link error due to xalloc_die().
62894         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62895         of xreadlink.
62896         * lib/relocwrapper.c: Update comments.
62897         * build-aux/install-reloc: Remove xreadlink.c from file list.
62898         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62899         xreadlink.c.
62900         Reported by Левашев Иван <octagram@bluebottle.com>.
62901
62902 2007-12-24  Bruno Haible  <bruno@clisp.org>
62903
62904         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62905         * lib/setenv.h: Remove file.
62906         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62907         lib/setenv.h.
62908         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62909         (Depends-on): Add stdlib.
62910         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62911         gl_FUNC_UNSETENV.
62912         (Include): Replace setenv.h with <stdlib.h>.
62913         * modules/unsetenv: New file.
62914         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62915         * lib/unsetenv.c: Include <stdlib.h> first.
62916         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62917         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62918         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62919         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62920         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62921         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62922         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62923         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62924         * doc/functions/unsetenv.texi: Update.
62925         * modules/xsetenv (Depends-on): Add unsetenv.
62926         * modules/getdate (Depends-on): Likewise.
62927         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62928         * lib/xsetenv.c: Don't include setenv.h.
62929         * lib/getdate.y: Likewise.
62930         * lib/relocwrapper.c: Likewise.
62931         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62932         (Depends-on): Add stdlib.
62933         * NEWS: Mention the changes.
62934         Reported by Левашев Иван <octagram@bluebottle.com>.
62935
62936 2007-12-23  Bruno Haible  <bruno@clisp.org>
62937
62938         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62939         indentation.
62940
62941 2007-12-23  Bruno Haible  <bruno@clisp.org>
62942
62943         * lib/c-strcasestr.c: Add more comments.
62944         * lib/c-strstr.c: Likewise.
62945         * lib/mbscasestr.c: Likewise.
62946         * lib/mbsstr.c: Likewise.
62947         * lib/strcasestr.c: Likewise.
62948         * lib/memmem.c: Likewise.
62949
62950 2007-12-23  Bruno Haible  <bruno@clisp.org>
62951
62952         * tests/test-memmem.c: Include <string.h> first.
62953
62954 2007-12-22  Bruno Haible  <bruno@clisp.org>
62955
62956         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62957         the contents of $testsbase.
62958         Reported by Ralf Wildenhues.
62959
62960 2007-12-22  Bruno Haible  <bruno@clisp.org>
62961
62962         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62963         two variables local_ldadd_before, local_ldadd_last.
62964
62965 2007-12-20  Eric Blake  <ebb9@byu.net>
62966
62967         Work around circular library issue when cross-compiling.
62968         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62969         that progname.o does not need to pull in rpl_memcmp.
62970
62971 2007-12-19  Eric Blake  <ebb9@byu.net>
62972
62973         Fix memmem to avoid O(n^2) worst-case complexity.
62974         * lib/memmem.c (knuth_morris_pratt): New function.
62975         (memmem): Use it if first few naive iterations fail.
62976         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62977         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62978         * modules/memchr (License): Likewise.
62979         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62980         malloca.
62981         * tests/test-memmem.c: Rewrite, borrowing ideas from
62982         test-mbsstr1.c; the old version wouldn't even compile!
62983         * modules/memmem-tests: New file.
62984         * lib/string.in.h (rpl_memmem): Add declaration.
62985         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62986         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62987         REPLACE_MEMMEM.
62988
62989 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62990
62991         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62992         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62993         before any system include files, and undef after them all.  This
62994         should fix a problem on VMS reported by John E. Malmberg in
62995         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62996
62997 2007-12-17  Eric Blake  <ebb9@byu.net>
62998
62999         Revert addition of verify, for BSD/OS.
63000         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63001         can't handle large files, for the sake of obsolete platforms.
63002         * modules/fseeko (Depends-on): Remove verify.
63003         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63004         * doc/functions/ftello.texi (ftello): Likewise.
63005         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63006         Reported by Larry Jones.
63007
63008 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63009
63010         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63011         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63012
63013 2007-12-17  Jim Meyering  <meyering@redhat.com>
63014
63015         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63016         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63017         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63018         * modules/getcwd (Depends-on): Add openat.
63019         Reported by Petr Salinger.
63020
63021 2007-12-17  Bruno Haible  <bruno@clisp.org>
63022
63023         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63024         avoid a segmentation fault of the configure test on x86_64 systems.
63025
63026 2007-12-15  Jim Meyering  <meyering@redhat.com>
63027
63028         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63029
63030 2007-12-13  Eric Blake  <ebb9@byu.net>
63031
63032         Another fseek test.
63033         * tests/test-fseek.c (main): Also test ungetc handling.
63034         * tests/test-fseeko.c (main): Likewise.
63035         * modules/fseeko (Depends-on): Add verify.
63036         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63037         large.
63038         Reported by Larry Jones.
63039
63040         Fix fseeko on mingw.
63041         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63042         seek.
63043
63044         Beef up fseek tests.
63045         * tests/test-fseek.c (main): Also test eof handling.
63046         * tests/test-fseeko.c (main): Likewise.
63047         Reported by Larry Jones.
63048
63049 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63050
63051         Fix fseeko on BSD-based platforms.
63052         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63053         successful seek.
63054
63055 2007-12-12  Eric Blake  <ebb9@byu.net>
63056
63057         Allow circular dependency of separate libtests.a
63058         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63059         when use_libtests.
63060
63061 2007-12-11  Eric Blake  <ebb9@byu.net>
63062
63063         Fix bug with -0.0L in previous patch.
63064         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63065         * tests/test-isnan.c (main): Also test on zeroes.
63066         * tests/test-isnanf.c (main): Likewise.
63067         * tests/test-isnanl.h (main): Likewise.
63068
63069         Detect pseudo-denormals on x86 even when cross-compiling.
63070         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63071         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63072         invalid bit patterns that happen to satisfy ==.
63073
63074         Avoid link failures with separate libtests.a.
63075         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63076         last, to satisfy circular dependencies.
63077
63078 2007-12-11  Eric Blake  <ebb9@byu.net>
63079         and Bruno Haible  <bruno@clisp.org>
63080
63081         Fix OpenBSD 4.0 <float.h> handling of long double.
63082         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63083         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63084         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63085
63086 2007-12-11  Jim Meyering  <meyering@redhat.com>
63087
63088         * users.txt: Add libvirt.
63089
63090         Support versions of autoconf prior to 2.59c.
63091         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63092         if it is not already defined.
63093
63094 2007-12-09  Bruno Haible  <bruno@clisp.org>
63095
63096         Let 'gnulib-tool --import' collect sources needed for the tests in
63097         tests/ rather than in lib/.
63098         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63099         argument. If true, add rules to generate libtests.a, and put libtests.a
63100         into $(LDADD). Consider source files in subdirectories and set
63101         uses_subdirs.
63102         (func_emit_initmacro_start, func_emit_initmacro_end,
63103         func_emit_initmacro_done): Pass all arguments explicitly.
63104         (func_import): Determine two module lists main_modules,
63105         testsrelated_modules. Determine use_libtests. Determine two variables
63106         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63107         instead of just sed_transform_lib_file. Determine two variables
63108         main_files and testsrelated_files. Compute 'files' as the union of
63109         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63110         func_add_or_update. In the generated gnulib-comp.m4, collect the
63111         object files for tests/ in different variables than those for lib/.
63112         Substitute LIBTESTS_LIBDEPS.
63113         (func_create_testdir): Combine the uses_subdirs results from
63114         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63115
63116 2007-12-09  Bruno Haible  <bruno@clisp.org>
63117
63118         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63119         the build-aux directory.
63120
63121 2007-12-09  Bruno Haible  <bruno@clisp.org>
63122
63123         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63124         introduced on 2006-09-09.
63125
63126 2007-12-07  Jim Meyering  <meyering@redhat.com>
63127
63128         Let these macros work also with autoconf-2.59.
63129         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63130         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63131         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63132
63133 2007-12-06  Jim Meyering  <meyering@redhat.com>
63134
63135         Avoid a configure-time syntax error in gl_FUNC_ACL.
63136         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63137         function in each branch, before testing the cache variable.
63138
63139 2007-12-04  Eric Blake  <ebb9@byu.net>
63140
63141         Make scripts executable.
63142         * build-aux/config.guess: Add execute permissions.
63143         * build-aux/config.sub: Likewise.
63144         * build-aux/gendocs.sh: Likewise.
63145
63146         Fix frexp on mingw.
63147         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63148         cross-compiling.
63149         * doc/functions/frexp.texi (frexp): Document the bug.
63150
63151         Make cygwin fseeko check more reliable.
63152         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63153         version numbers, rather than unrelated feature check.
63154         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63155         * doc/functions/ftello.texi (ftello): Likewise.
63156         Reported by Bruno Haible.
63157
63158         * m4/strerror.m4: Bump version number.
63159
63160 2007-12-03  Bruno Haible  <bruno@clisp.org>
63161
63162         * doc/functions/mprotect.texi: Mention the mingw problem.
63163
63164 2007-12-03  Eric Blake  <ebb9@byu.net>
63165
63166         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63167         REPLACE_STRERROR is initialized before this macro.
63168
63169 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63170
63171         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63172         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63173         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63174         put -lsec in even for programs other than 'ls'.  This fixes a problem
63175         for gettext reported by Bruno Haible in
63176         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63177         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63178         Add support for Solaris 10.  This isn't efficient, but should get the
63179         job done for now.
63180
63181 2007-12-03  James Youngman  <jay@gnu.org>
63182
63183         * doc/regexprops-generic.texi: change "an close-group" to "a
63184         close-group" and "illegal" to "not allowed".
63185
63186 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63187
63188         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63189         pr_byname.h. Needed for the rare case when the maintainer has done
63190         "make maintainer-clean" in the source directory and then attempts a
63191         build outside the source directory.
63192         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63193         scripts_byname.h.
63194
63195 2007-12-02  Martin Lambers <marlam@marlam.de>
63196             Bruno Haible  <bruno@clisp.org>
63197
63198         * lib/getpagesize.h: Remove file.
63199         * lib/unistd.in.h: Include declaration of getpagesize here.
63200         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63201         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63202         HAVE_SYS_PARAM_H.
63203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63204         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63205         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63206         (Depends-on): Add unistd.
63207         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63208         (Include): Use <unistd.h> instead of getpagesize.h.
63209         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63210         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63211         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63212         gl_GETPAGESIZE invocation, already handled by module dependency.
63213         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63214
63215 2007-12-02  Bruno Haible  <bruno@clisp.org>
63216
63217         * modules/strings-tests: New file.
63218         * tests/test-strings.c: New file.
63219
63220         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63221         * lib/strings.in.h: New file.
63222         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63223         * m4/strings_h.m4: New file.
63224         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63225         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63226         * modules/strings: New file.
63227         * modules/string (Makefile.am): Update.
63228         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63229         Reported by Karl Berry.
63230
63231 2007-12-01  Eric Blake  <ebb9@byu.net>
63232
63233         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63234         accommodate fix in cygwin 1.5.25.
63235
63236 2007-12-01  Jim Meyering  <meyering@redhat.com>
63237
63238         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63239         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63240         that would inhibit utf8-optimization of a regexp containing line-
63241         or buffer-anchors, e.g., `^', `$'.
63242
63243 2007-11-30  Bruno Haible  <bruno@clisp.org>
63244
63245         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63246         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63247         glthread_recursive_lock_init.
63248         * lib/lock.c (glthread_recursive_lock_init)
63249         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63250         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63251
63252 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63253
63254         New function qset_acl, like set_acl but with syscall semantics.
63255         * lib/acl.h (qset_acl): New decl.
63256         * lib/acl.c (qset_acl): New function.
63257         (set_acl): Use new function.  Use more-consistent diagnostics.
63258
63259 2007-11-28  Jim Meyering  <meyering@redhat.com>
63260
63261         * modules/physmem (License): Change from GPL to LGPLv2+.
63262
63263 2007-11-26  Bruno Haible  <bruno@clisp.org>
63264
63265         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63266         'long double' type has excess precision.
63267         Reported by Jim Meyering in
63268         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63269
63270 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63271
63272         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63273         Sync from <http://gnu.org/licenses>.
63274         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63275         with license text from same location.
63276         * doc/maintain.texi, doc/standards.texi:  Sync from
63277         <http://savannah.gnu.org/projects/gnustandards>.
63278
63279 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
63280         and Jim Meyering  <meyering@redhat.com>
63281
63282         Adjust getdate' grammar to accept a slightly more regular language.
63283         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63284         Before, the former was rejected.
63285         * lib/getdate.y (digits_to_date_time): New function, factored
63286         out of ...
63287         (number): ...here.  Just call digits_to_date_time.
63288         (hybrid): New non-terminal to handle an <unsigned number,
63289         signed relative offset> sequence consistently.
63290
63291 2007-11-18  Jim Meyering  <meyering@redhat.com>
63292
63293         Pull my changes from coreutils:
63294         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63295         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63296         use of $gnulib_tool_option_extras, so that it's separated from the
63297         preceding argument.
63298
63299         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63300         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63301         parent destination directories before copying a file into place.
63302
63303 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63304
63305         bootstrap: work also with 4-argument variant of AC_INIT
63306         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63307
63308 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63309
63310         Port test-getaddrinfo to Solaris.
63311         Problem reported by Bruno Haible in
63312         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63313         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63314         explanation of setting 'hints'.
63315         Don't reject an implementation merely because it returns EAI_SERVICE.
63316         (EAI_SERVICE): Define to 0 if not defined.
63317
63318 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63319
63320         The license of gnu-make and posix-shell is now "GPLed build tool".
63321         * modules/gnu-make (License): Likewise.
63322         * modules/posix-shell (License): Likewise.
63323
63324         New module posix-shell, for determining a POSIX shell
63325         or perhaps something that is close enough to a POSIX shell.
63326         * m4/posix-shell.m4: New file.
63327         * modules/posix-shell: New file.
63328
63329         * MODULES.html.sh: Mention new module.
63330
63331         New module gnu-make, for determining whether we're using GNU Make.
63332         * m4/gnu-make.m4: New file.
63333         * modules/gnu-make: New file.
63334         * MODULES.html.sh: Mention new module.
63335
63336 2007-11-14  Jim Meyering  <meyering@redhat.com>
63337
63338         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63339         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63340         use this macro to create a function _definition_.
63341         Remove useless "#undef ARGMATCH_DIE".
63342
63343 2007-11-14  Bruno Haible  <bruno@clisp.org>
63344
63345         * lib/config.charset: Update for OpenBSD 4.1.
63346         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63347
63348 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63349
63350         Document 64-bit #if problems in stdint.texi.
63351         * doc/headers/stdint.texi (stdint.h): Mention problems with
63352         64-bit-#if, and how to work around them.
63353
63354         Don't insist on 'long long int' support in the preprocessor.  It
63355         breaks too many things.  For example, PRIdMAX still uses a 'long
63356         long int' format with the latest Sun compiler, even though
63357         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63358         preprocessor problem.  This causes the latest coreutils to dump
63359         core on Solaris 10 sparc with the Sun C compiler.
63360         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63361         the troublesome expressions at configure-time, not at #if-time.
63362         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63363         preprocessor.
63364         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63365         compile-time C checks, done at 'configure'-time.
63366         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63367         * modules/inttypes (Makefile): Substitute the new symbols that
63368         gl_INTTYPES_H now generates.
63369         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63370
63371 2007-11-12  Bruno Haible  <bruno@clisp.org>
63372
63373         Tests for Unicode character classification functions.
63374
63375         * modules/unictype/bidicategory-byname-tests: New file.
63376         * modules/unictype/bidicategory-name-tests: New file.
63377         * modules/unictype/bidicategory-of-tests: New file.
63378         * modules/unictype/bidicategory-test-tests: New file.
63379         * modules/unictype/block-list-tests: New file.
63380         * modules/unictype/block-of-tests: New file.
63381         * modules/unictype/block-test-tests: New file.
63382         * modules/unictype/category-C-tests: New file.
63383         * modules/unictype/category-Cc-tests: New file.
63384         * modules/unictype/category-Cf-tests: New file.
63385         * modules/unictype/category-Cn-tests: New file.
63386         * modules/unictype/category-Co-tests: New file.
63387         * modules/unictype/category-Cs-tests: New file.
63388         * modules/unictype/category-L-tests: New file.
63389         * modules/unictype/category-Ll-tests: New file.
63390         * modules/unictype/category-Lm-tests: New file.
63391         * modules/unictype/category-Lo-tests: New file.
63392         * modules/unictype/category-Lt-tests: New file.
63393         * modules/unictype/category-Lu-tests: New file.
63394         * modules/unictype/category-M-tests: New file.
63395         * modules/unictype/category-Mc-tests: New file.
63396         * modules/unictype/category-Me-tests: New file.
63397         * modules/unictype/category-Mn-tests: New file.
63398         * modules/unictype/category-N-tests: New file.
63399         * modules/unictype/category-Nd-tests: New file.
63400         * modules/unictype/category-Nl-tests: New file.
63401         * modules/unictype/category-No-tests: New file.
63402         * modules/unictype/category-P-tests: New file.
63403         * modules/unictype/category-Pc-tests: New file.
63404         * modules/unictype/category-Pd-tests: New file.
63405         * modules/unictype/category-Pe-tests: New file.
63406         * modules/unictype/category-Pf-tests: New file.
63407         * modules/unictype/category-Pi-tests: New file.
63408         * modules/unictype/category-Po-tests: New file.
63409         * modules/unictype/category-Ps-tests: New file.
63410         * modules/unictype/category-S-tests: New file.
63411         * modules/unictype/category-Sc-tests: New file.
63412         * modules/unictype/category-Sk-tests: New file.
63413         * modules/unictype/category-Sm-tests: New file.
63414         * modules/unictype/category-So-tests: New file.
63415         * modules/unictype/category-Z-tests: New file.
63416         * modules/unictype/category-Zl-tests: New file.
63417         * modules/unictype/category-Zp-tests: New file.
63418         * modules/unictype/category-Zs-tests: New file.
63419         * modules/unictype/category-and-not-tests: New file.
63420         * modules/unictype/category-and-tests: New file.
63421         * modules/unictype/category-byname-tests: New file.
63422         * modules/unictype/category-name-tests: New file.
63423         * modules/unictype/category-none-tests: New file.
63424         * modules/unictype/category-of-tests: New file.
63425         * modules/unictype/category-or-tests: New file.
63426         * modules/unictype/category-test-withtable-tests: New file.
63427         * modules/unictype/combining-class-tests: New file.
63428         * modules/unictype/ctype-alnum-tests: New file.
63429         * modules/unictype/ctype-alpha-tests: New file.
63430         * modules/unictype/ctype-blank-tests: New file.
63431         * modules/unictype/ctype-cntrl-tests: New file.
63432         * modules/unictype/ctype-digit-tests: New file.
63433         * modules/unictype/ctype-graph-tests: New file.
63434         * modules/unictype/ctype-lower-tests: New file.
63435         * modules/unictype/ctype-print-tests: New file.
63436         * modules/unictype/ctype-punct-tests: New file.
63437         * modules/unictype/ctype-space-tests: New file.
63438         * modules/unictype/ctype-upper-tests: New file.
63439         * modules/unictype/ctype-xdigit-tests: New file.
63440         * modules/unictype/decimal-digit-tests: New file.
63441         * modules/unictype/digit-tests: New file.
63442         * modules/unictype/mirror-tests: New file.
63443         * modules/unictype/numeric-tests: New file.
63444         * modules/unictype/property-alphabetic-tests: New file.
63445         * modules/unictype/property-ascii-hex-digit-tests: New file.
63446         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63447         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63448         * modules/unictype/property-bidi-block-separator-tests: New file.
63449         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63450         * modules/unictype/property-bidi-common-separator-tests: New file.
63451         * modules/unictype/property-bidi-control-tests: New file.
63452         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63453         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63454         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63455         * modules/unictype/property-bidi-european-digit-tests: New file.
63456         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63457         * modules/unictype/property-bidi-left-to-right-tests: New file.
63458         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63459         * modules/unictype/property-bidi-other-neutral-tests: New file.
63460         * modules/unictype/property-bidi-pdf-tests: New file.
63461         * modules/unictype/property-bidi-segment-separator-tests: New file.
63462         * modules/unictype/property-bidi-whitespace-tests: New file.
63463         * modules/unictype/property-byname-tests: New file.
63464         * modules/unictype/property-combining-tests: New file.
63465         * modules/unictype/property-composite-tests: New file.
63466         * modules/unictype/property-currency-symbol-tests: New file.
63467         * modules/unictype/property-dash-tests: New file.
63468         * modules/unictype/property-decimal-digit-tests: New file.
63469         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63470         * modules/unictype/property-deprecated-tests: New file.
63471         * modules/unictype/property-diacritic-tests: New file.
63472         * modules/unictype/property-extender-tests: New file.
63473         * modules/unictype/property-format-control-tests: New file.
63474         * modules/unictype/property-grapheme-base-tests: New file.
63475         * modules/unictype/property-grapheme-extend-tests: New file.
63476         * modules/unictype/property-grapheme-link-tests: New file.
63477         * modules/unictype/property-hex-digit-tests: New file.
63478         * modules/unictype/property-hyphen-tests: New file.
63479         * modules/unictype/property-id-continue-tests: New file.
63480         * modules/unictype/property-id-start-tests: New file.
63481         * modules/unictype/property-ideographic-tests: New file.
63482         * modules/unictype/property-ids-binary-operator-tests: New file.
63483         * modules/unictype/property-ids-trinary-operator-tests: New file.
63484         * modules/unictype/property-ignorable-control-tests: New file.
63485         * modules/unictype/property-iso-control-tests: New file.
63486         * modules/unictype/property-join-control-tests: New file.
63487         * modules/unictype/property-left-of-pair-tests: New file.
63488         * modules/unictype/property-line-separator-tests: New file.
63489         * modules/unictype/property-logical-order-exception-tests: New file.
63490         * modules/unictype/property-lowercase-tests: New file.
63491         * modules/unictype/property-math-tests: New file.
63492         * modules/unictype/property-non-break-tests: New file.
63493         * modules/unictype/property-not-a-character-tests: New file.
63494         * modules/unictype/property-numeric-tests: New file.
63495         * modules/unictype/property-other-alphabetic-tests: New file.
63496         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63497         * modules/unictype/property-other-grapheme-extend-tests: New file.
63498         * modules/unictype/property-other-id-continue-tests: New file.
63499         * modules/unictype/property-other-id-start-tests: New file.
63500         * modules/unictype/property-other-lowercase-tests: New file.
63501         * modules/unictype/property-other-math-tests: New file.
63502         * modules/unictype/property-other-uppercase-tests: New file.
63503         * modules/unictype/property-paired-punctuation-tests: New file.
63504         * modules/unictype/property-paragraph-separator-tests: New file.
63505         * modules/unictype/property-pattern-syntax-tests: New file.
63506         * modules/unictype/property-pattern-white-space-tests: New file.
63507         * modules/unictype/property-private-use-tests: New file.
63508         * modules/unictype/property-punctuation-tests: New file.
63509         * modules/unictype/property-quotation-mark-tests: New file.
63510         * modules/unictype/property-radical-tests: New file.
63511         * modules/unictype/property-sentence-terminal-tests: New file.
63512         * modules/unictype/property-soft-dotted-tests: New file.
63513         * modules/unictype/property-space-tests: New file.
63514         * modules/unictype/property-terminal-punctuation-tests: New file.
63515         * modules/unictype/property-test-tests: New file.
63516         * modules/unictype/property-titlecase-tests: New file.
63517         * modules/unictype/property-unassigned-code-value-tests: New file.
63518         * modules/unictype/property-unified-ideograph-tests: New file.
63519         * modules/unictype/property-uppercase-tests: New file.
63520         * modules/unictype/property-variation-selector-tests: New file.
63521         * modules/unictype/property-white-space-tests: New file.
63522         * modules/unictype/property-xid-continue-tests: New file.
63523         * modules/unictype/property-xid-start-tests: New file.
63524         * modules/unictype/property-zero-width-tests: New file.
63525         * modules/unictype/scripts-tests: New file.
63526         * modules/unictype/syntax-c-ident-tests: New file.
63527         * modules/unictype/syntax-c-whitespace-tests: New file.
63528         * modules/unictype/syntax-java-ident-tests: New file.
63529         * modules/unictype/syntax-java-whitespace-tests: New file.
63530         * tests/unictype/test-bidi_byname.c: New file.
63531         * tests/unictype/test-bidi_name.c: New file.
63532         * tests/unictype/test-bidi_of.c: New file.
63533         * tests/unictype/test-bidi_test.c: New file.
63534         * tests/unictype/test-block_list.c: New file.
63535         * tests/unictype/test-block_of.c: New file.
63536         * tests/unictype/test-block_test.c: New file.
63537         * tests/unictype/test-categ_and.c: New file.
63538         * tests/unictype/test-categ_and_not.c: New file.
63539         * tests/unictype/test-categ_byname.c: New file.
63540         * tests/unictype/test-categ_name.c: New file.
63541         * tests/unictype/test-categ_none.c: New file.
63542         * tests/unictype/test-categ_of.c: New file.
63543         * tests/unictype/test-categ_or.c: New file.
63544         * tests/unictype/test-categ_test_withtable.c: New file.
63545         * tests/unictype/test-combining.c: New file.
63546         * tests/unictype/test-decdigit.c: New file.
63547         * tests/unictype/test-digit.c: New file.
63548         * tests/unictype/test-mirror.c: New file.
63549         * tests/unictype/test-numeric.c: New file.
63550         * tests/unictype/test-pr_byname.c: New file.
63551         * tests/unictype/test-pr_test.c: New file.
63552         * tests/unictype/test-predicate-part1.h: New file.
63553         * tests/unictype/test-predicate-part2.h: New file.
63554         * tests/unictype/test-scripts.c: New file.
63555         * tests/unictype/test-sy_c_ident.c: New file.
63556         * tests/unictype/test-sy_java_ident.c: New file.
63557
63558         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63559         for Unicode 5.0.0.
63560         * tests/unictype/test-categ_Cc.c: Likewise.
63561         * tests/unictype/test-categ_Cf.c: Likewise.
63562         * tests/unictype/test-categ_Cn.c: Likewise.
63563         * tests/unictype/test-categ_Co.c: Likewise.
63564         * tests/unictype/test-categ_Cs.c: Likewise.
63565         * tests/unictype/test-categ_L.c: Likewise.
63566         * tests/unictype/test-categ_Ll.c: Likewise.
63567         * tests/unictype/test-categ_Lm.c: Likewise.
63568         * tests/unictype/test-categ_Lo.c: Likewise.
63569         * tests/unictype/test-categ_Lt.c: Likewise.
63570         * tests/unictype/test-categ_Lu.c: Likewise.
63571         * tests/unictype/test-categ_M.c: Likewise.
63572         * tests/unictype/test-categ_Mc.c: Likewise.
63573         * tests/unictype/test-categ_Me.c: Likewise.
63574         * tests/unictype/test-categ_Mn.c: Likewise.
63575         * tests/unictype/test-categ_N.c: Likewise.
63576         * tests/unictype/test-categ_Nd.c: Likewise.
63577         * tests/unictype/test-categ_Nl.c: Likewise.
63578         * tests/unictype/test-categ_No.c: Likewise.
63579         * tests/unictype/test-categ_P.c: Likewise.
63580         * tests/unictype/test-categ_Pc.c: Likewise.
63581         * tests/unictype/test-categ_Pd.c: Likewise.
63582         * tests/unictype/test-categ_Pe.c: Likewise.
63583         * tests/unictype/test-categ_Pf.c: Likewise.
63584         * tests/unictype/test-categ_Pi.c: Likewise.
63585         * tests/unictype/test-categ_Po.c: Likewise.
63586         * tests/unictype/test-categ_Ps.c: Likewise.
63587         * tests/unictype/test-categ_S.c: Likewise.
63588         * tests/unictype/test-categ_Sc.c: Likewise.
63589         * tests/unictype/test-categ_Sk.c: Likewise.
63590         * tests/unictype/test-categ_Sm.c: Likewise.
63591         * tests/unictype/test-categ_So.c: Likewise.
63592         * tests/unictype/test-categ_Z.c: Likewise.
63593         * tests/unictype/test-categ_Zl.c: Likewise.
63594         * tests/unictype/test-categ_Zp.c: Likewise.
63595         * tests/unictype/test-categ_Zs.c: Likewise.
63596         * tests/unictype/test-ctype_alnum.c: Likewise.
63597         * tests/unictype/test-ctype_alpha.c: Likewise.
63598         * tests/unictype/test-ctype_blank.c: Likewise.
63599         * tests/unictype/test-ctype_cntrl.c: Likewise.
63600         * tests/unictype/test-ctype_digit.c: Likewise.
63601         * tests/unictype/test-ctype_graph.c: Likewise.
63602         * tests/unictype/test-ctype_lower.c: Likewise.
63603         * tests/unictype/test-ctype_print.c: Likewise.
63604         * tests/unictype/test-ctype_punct.c: Likewise.
63605         * tests/unictype/test-ctype_space.c: Likewise.
63606         * tests/unictype/test-ctype_upper.c: Likewise.
63607         * tests/unictype/test-ctype_xdigit.c: Likewise.
63608         * tests/unictype/test-decdigit.h: Likewise.
63609         * tests/unictype/test-digit.h: Likewise.
63610         * tests/unictype/test-numeric.h: Likewise.
63611         * tests/unictype/test-pr_alphabetic.c: Likewise.
63612         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63613         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63614         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63615         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63616         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63617         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63618         * tests/unictype/test-pr_bidi_control.c: Likewise.
63619         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63620         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63621         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63622         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63623         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63624         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63625         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63626         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63627         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63628         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63629         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63630         * tests/unictype/test-pr_combining.c: Likewise.
63631         * tests/unictype/test-pr_composite.c: Likewise.
63632         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63633         * tests/unictype/test-pr_dash.c: Likewise.
63634         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63635         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63636         * tests/unictype/test-pr_deprecated.c: Likewise.
63637         * tests/unictype/test-pr_diacritic.c: Likewise.
63638         * tests/unictype/test-pr_extender.c: Likewise.
63639         * tests/unictype/test-pr_format_control.c: Likewise.
63640         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63641         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63642         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63643         * tests/unictype/test-pr_hex_digit.c: Likewise.
63644         * tests/unictype/test-pr_hyphen.c: Likewise.
63645         * tests/unictype/test-pr_id_continue.c: Likewise.
63646         * tests/unictype/test-pr_id_start.c: Likewise.
63647         * tests/unictype/test-pr_ideographic.c: Likewise.
63648         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63649         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63650         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63651         * tests/unictype/test-pr_iso_control.c: Likewise.
63652         * tests/unictype/test-pr_join_control.c: Likewise.
63653         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63654         * tests/unictype/test-pr_line_separator.c: Likewise.
63655         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63656         * tests/unictype/test-pr_lowercase.c: Likewise.
63657         * tests/unictype/test-pr_math.c: Likewise.
63658         * tests/unictype/test-pr_non_break.c: Likewise.
63659         * tests/unictype/test-pr_not_a_character.c: Likewise.
63660         * tests/unictype/test-pr_numeric.c: Likewise.
63661         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63662         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63663         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63664         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63665         * tests/unictype/test-pr_other_id_start.c: Likewise.
63666         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63667         * tests/unictype/test-pr_other_math.c: Likewise.
63668         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63669         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63670         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63671         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63672         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63673         * tests/unictype/test-pr_private_use.c: Likewise.
63674         * tests/unictype/test-pr_punctuation.c: Likewise.
63675         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63676         * tests/unictype/test-pr_radical.c: Likewise.
63677         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63678         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63679         * tests/unictype/test-pr_space.c: Likewise.
63680         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63681         * tests/unictype/test-pr_titlecase.c: Likewise.
63682         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63683         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63684         * tests/unictype/test-pr_uppercase.c: Likewise.
63685         * tests/unictype/test-pr_variation_selector.c: Likewise.
63686         * tests/unictype/test-pr_white_space.c: Likewise.
63687         * tests/unictype/test-pr_xid_continue.c: Likewise.
63688         * tests/unictype/test-pr_xid_start.c: Likewise.
63689         * tests/unictype/test-pr_zero_width.c: Likewise.
63690         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63691         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63692
63693 2007-11-12  Bruno Haible  <bruno@clisp.org>
63694
63695         Unicode character classification functions.
63696         * lib/unictype.h: New file.
63697         * modules/unictype/base: New file.
63698         * modules/unictype/category-L: New file.
63699         * modules/unictype/category-Lu: New file.
63700         * modules/unictype/category-Ll: New file.
63701         * modules/unictype/category-Lt: New file.
63702         * modules/unictype/category-Lm: New file.
63703         * modules/unictype/category-Lo: New file.
63704         * modules/unictype/category-M: New file.
63705         * modules/unictype/category-Mn: New file.
63706         * modules/unictype/category-Mc: New file.
63707         * modules/unictype/category-Me: New file.
63708         * modules/unictype/category-N: New file.
63709         * modules/unictype/category-Nd: New file.
63710         * modules/unictype/category-Nl: New file.
63711         * modules/unictype/category-No: New file.
63712         * modules/unictype/category-P: New file.
63713         * modules/unictype/category-Pc: New file.
63714         * modules/unictype/category-Pd: New file.
63715         * modules/unictype/category-Ps: New file.
63716         * modules/unictype/category-Pe: New file.
63717         * modules/unictype/category-Pi: New file.
63718         * modules/unictype/category-Pf: New file.
63719         * modules/unictype/category-Po: New file.
63720         * modules/unictype/category-S: New file.
63721         * modules/unictype/category-Sm: New file.
63722         * modules/unictype/category-Sc: New file.
63723         * modules/unictype/category-Sk: New file.
63724         * modules/unictype/category-So: New file.
63725         * modules/unictype/category-Z: New file.
63726         * modules/unictype/category-Zs: New file.
63727         * modules/unictype/category-Zl: New file.
63728         * modules/unictype/category-Zp: New file.
63729         * modules/unictype/category-C: New file.
63730         * modules/unictype/category-Cc: New file.
63731         * modules/unictype/category-Cf: New file.
63732         * modules/unictype/category-Cs: New file.
63733         * modules/unictype/category-Co: New file.
63734         * modules/unictype/category-Cn: New file.
63735         * modules/unictype/category-or: New file.
63736         * modules/unictype/category-of: New file.
63737         * modules/unictype/category-test: New file.
63738         * modules/unictype/category-test-withtable: New file.
63739         * modules/unictype/category-byname: New file.
63740         * modules/unictype/category-none: New file.
63741         * modules/unictype/category-and: New file.
63742         * modules/unictype/category-and-not: New file.
63743         * modules/unictype/category-name: New file.
63744         * modules/unictype/combining-class: New file.
63745         * modules/unictype/category-all: New file.
63746         * modules/unictype/bidicategory-all: New file.
63747         * modules/unictype/bidicategory-byname: New file.
63748         * modules/unictype/bidicategory-name: New file.
63749         * modules/unictype/bidicategory-of: New file.
63750         * modules/unictype/bidicategory-test: New file.
63751         * modules/unictype/decimal-digit: New file.
63752         * modules/unictype/digit: New file.
63753         * modules/unictype/numeric: New file.
63754         * modules/unictype/mirror: New file.
63755         * modules/unictype/property-white-space: New file.
63756         * modules/unictype/property-alphabetic: New file.
63757         * modules/unictype/property-other-alphabetic: New file.
63758         * modules/unictype/property-not-a-character: New file.
63759         * modules/unictype/property-default-ignorable-code-point: New file.
63760         * modules/unictype/property-other-default-ignorable-code-point: New
63761         file.
63762         * modules/unictype/property-deprecated: New file.
63763         * modules/unictype/property-logical-order-exception: New file.
63764         * modules/unictype/property-variation-selector: New file.
63765         * modules/unictype/property-private-use: New file.
63766         * modules/unictype/property-unassigned-code-value: New file.
63767         * modules/unictype/property-uppercase: New file.
63768         * modules/unictype/property-other-uppercase: New file.
63769         * modules/unictype/property-lowercase: New file.
63770         * modules/unictype/property-other-lowercase: New file.
63771         * modules/unictype/property-titlecase: New file.
63772         * modules/unictype/property-soft-dotted: New file.
63773         * modules/unictype/property-id-start: New file.
63774         * modules/unictype/property-other-id-start: New file.
63775         * modules/unictype/property-id-continue: New file.
63776         * modules/unictype/property-other-id-continue: New file.
63777         * modules/unictype/property-xid-start: New file.
63778         * modules/unictype/property-xid-continue: New file.
63779         * modules/unictype/property-pattern-white-space: New file.
63780         * modules/unictype/property-pattern-syntax: New file.
63781         * modules/unictype/property-join-control: New file.
63782         * modules/unictype/property-grapheme-base: New file.
63783         * modules/unictype/property-grapheme-extend: New file.
63784         * modules/unictype/property-other-grapheme-extend: New file.
63785         * modules/unictype/property-grapheme-link: New file.
63786         * modules/unictype/property-bidi-control: New file.
63787         * modules/unictype/property-bidi-left-to-right: New file.
63788         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63789         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63790         * modules/unictype/property-bidi-european-digit: New file.
63791         * modules/unictype/property-bidi-eur-num-separator: New file.
63792         * modules/unictype/property-bidi-eur-num-terminator: New file.
63793         * modules/unictype/property-bidi-arabic-digit: New file.
63794         * modules/unictype/property-bidi-common-separator: New file.
63795         * modules/unictype/property-bidi-block-separator: New file.
63796         * modules/unictype/property-bidi-segment-separator: New file.
63797         * modules/unictype/property-bidi-whitespace: New file.
63798         * modules/unictype/property-bidi-non-spacing-mark: New file.
63799         * modules/unictype/property-bidi-boundary-neutral: New file.
63800         * modules/unictype/property-bidi-pdf: New file.
63801         * modules/unictype/property-bidi-embedding-or-override: New file.
63802         * modules/unictype/property-bidi-other-neutral: New file.
63803         * modules/unictype/property-hex-digit: New file.
63804         * modules/unictype/property-ascii-hex-digit: New file.
63805         * modules/unictype/property-ideographic: New file.
63806         * modules/unictype/property-unified-ideograph: New file.
63807         * modules/unictype/property-radical: New file.
63808         * modules/unictype/property-ids-binary-operator: New file.
63809         * modules/unictype/property-ids-trinary-operator: New file.
63810         * modules/unictype/property-zero-width: New file.
63811         * modules/unictype/property-space: New file.
63812         * modules/unictype/property-non-break: New file.
63813         * modules/unictype/property-iso-control: New file.
63814         * modules/unictype/property-format-control: New file.
63815         * modules/unictype/property-dash: New file.
63816         * modules/unictype/property-hyphen: New file.
63817         * modules/unictype/property-punctuation: New file.
63818         * modules/unictype/property-line-separator: New file.
63819         * modules/unictype/property-paragraph-separator: New file.
63820         * modules/unictype/property-quotation-mark: New file.
63821         * modules/unictype/property-sentence-terminal: New file.
63822         * modules/unictype/property-terminal-punctuation: New file.
63823         * modules/unictype/property-currency-symbol: New file.
63824         * modules/unictype/property-math: New file.
63825         * modules/unictype/property-other-math: New file.
63826         * modules/unictype/property-paired-punctuation: New file.
63827         * modules/unictype/property-left-of-pair: New file.
63828         * modules/unictype/property-combining: New file.
63829         * modules/unictype/property-composite: New file.
63830         * modules/unictype/property-decimal-digit: New file.
63831         * modules/unictype/property-numeric: New file.
63832         * modules/unictype/property-diacritic: New file.
63833         * modules/unictype/property-extender: New file.
63834         * modules/unictype/property-ignorable-control: New file.
63835         * modules/unictype/property-test: New file.
63836         * modules/unictype/property-byname: New file.
63837         * modules/unictype/property-all: New file.
63838         * modules/unictype/scripts: New file.
63839         * modules/unictype/scripts-all: New file.
63840         * modules/unictype/block-of: New file.
63841         * modules/unictype/block-test: New file.
63842         * modules/unictype/block-list: New file.
63843         * modules/unictype/block-all: New file.
63844         * modules/unictype/syntax-c-whitespace: New file.
63845         * modules/unictype/syntax-java-whitespace: New file.
63846         * modules/unictype/syntax-c-ident: New file.
63847         * modules/unictype/syntax-java-ident: New file.
63848         * modules/unictype/ctype-alnum: New file.
63849         * modules/unictype/ctype-alpha: New file.
63850         * modules/unictype/ctype-cntrl: New file.
63851         * modules/unictype/ctype-digit: New file.
63852         * modules/unictype/ctype-graph: New file.
63853         * modules/unictype/ctype-lower: New file.
63854         * modules/unictype/ctype-print: New file.
63855         * modules/unictype/ctype-punct: New file.
63856         * modules/unictype/ctype-space: New file.
63857         * modules/unictype/ctype-upper: New file.
63858         * modules/unictype/ctype-xdigit: New file.
63859         * modules/unictype/ctype-blank: New file.
63860         * lib/unictype/bidi_byname.c: New file.
63861         * lib/unictype/bidi_name.c: New file.
63862         * lib/unictype/bidi_of.c: New file.
63863         * lib/unictype/bidi_test.c: New file.
63864         * lib/unictype/bitmap.h: New file.
63865         * lib/unictype/block_test.c: New file.
63866         * lib/unictype/blocks.c: New file.
63867         * lib/unictype/categ_C.c: New file.
63868         * lib/unictype/categ_Cc.c: New file.
63869         * lib/unictype/categ_Cf.c: New file.
63870         * lib/unictype/categ_Cn.c: New file.
63871         * lib/unictype/categ_Co.c: New file.
63872         * lib/unictype/categ_Cs.c: New file.
63873         * lib/unictype/categ_L.c: New file.
63874         * lib/unictype/categ_Ll.c: New file.
63875         * lib/unictype/categ_Lm.c: New file.
63876         * lib/unictype/categ_Lo.c: New file.
63877         * lib/unictype/categ_Lt.c: New file.
63878         * lib/unictype/categ_Lu.c: New file.
63879         * lib/unictype/categ_M.c: New file.
63880         * lib/unictype/categ_Mc.c: New file.
63881         * lib/unictype/categ_Me.c: New file.
63882         * lib/unictype/categ_Mn.c: New file.
63883         * lib/unictype/categ_N.c: New file.
63884         * lib/unictype/categ_Nd.c: New file.
63885         * lib/unictype/categ_Nl.c: New file.
63886         * lib/unictype/categ_No.c: New file.
63887         * lib/unictype/categ_P.c: New file.
63888         * lib/unictype/categ_Pc.c: New file.
63889         * lib/unictype/categ_Pd.c: New file.
63890         * lib/unictype/categ_Pe.c: New file.
63891         * lib/unictype/categ_Pf.c: New file.
63892         * lib/unictype/categ_Pi.c: New file.
63893         * lib/unictype/categ_Po.c: New file.
63894         * lib/unictype/categ_Ps.c: New file.
63895         * lib/unictype/categ_S.c: New file.
63896         * lib/unictype/categ_Sc.c: New file.
63897         * lib/unictype/categ_Sk.c: New file.
63898         * lib/unictype/categ_Sm.c: New file.
63899         * lib/unictype/categ_So.c: New file.
63900         * lib/unictype/categ_Z.c: New file.
63901         * lib/unictype/categ_Zl.c: New file.
63902         * lib/unictype/categ_Zp.c: New file.
63903         * lib/unictype/categ_Zs.c: New file.
63904         * lib/unictype/categ_and.c: New file.
63905         * lib/unictype/categ_and_not.c: New file.
63906         * lib/unictype/categ_byname.c: New file.
63907         * lib/unictype/categ_name.c: New file.
63908         * lib/unictype/categ_none.c: New file.
63909         * lib/unictype/categ_of.c: New file.
63910         * lib/unictype/categ_or.c: New file.
63911         * lib/unictype/categ_test.c: New file.
63912         * lib/unictype/combining.c: New file.
63913         * lib/unictype/ctype_alnum.c: New file.
63914         * lib/unictype/ctype_alpha.c: New file.
63915         * lib/unictype/ctype_blank.c: New file.
63916         * lib/unictype/ctype_cntrl.c: New file.
63917         * lib/unictype/ctype_digit.c: New file.
63918         * lib/unictype/ctype_graph.c: New file.
63919         * lib/unictype/ctype_lower.c: New file.
63920         * lib/unictype/ctype_print.c: New file.
63921         * lib/unictype/ctype_punct.c: New file.
63922         * lib/unictype/ctype_space.c: New file.
63923         * lib/unictype/ctype_upper.c: New file.
63924         * lib/unictype/ctype_xdigit.c: New file.
63925         * lib/unictype/decdigit.c: New file.
63926         * lib/unictype/digit.c: New file.
63927         * lib/unictype/identsyntaxmap.h: New file.
63928         * lib/unictype/mirror.c: New file.
63929         * lib/unictype/numeric.c: New file.
63930         * lib/unictype/pr_alphabetic.c: New file.
63931         * lib/unictype/pr_ascii_hex_digit.c: New file.
63932         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63933         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63934         * lib/unictype/pr_bidi_block_separator.c: New file.
63935         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63936         * lib/unictype/pr_bidi_common_separator.c: New file.
63937         * lib/unictype/pr_bidi_control.c: New file.
63938         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63939         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63940         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63941         * lib/unictype/pr_bidi_european_digit.c: New file.
63942         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63943         * lib/unictype/pr_bidi_left_to_right.c: New file.
63944         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63945         * lib/unictype/pr_bidi_other_neutral.c: New file.
63946         * lib/unictype/pr_bidi_pdf.c: New file.
63947         * lib/unictype/pr_bidi_segment_separator.c: New file.
63948         * lib/unictype/pr_bidi_whitespace.c: New file.
63949         * lib/unictype/pr_byname.c: New file.
63950         * lib/unictype/pr_byname.gperf: New file.
63951         * lib/unictype/pr_combining.c: New file.
63952         * lib/unictype/pr_composite.c: New file.
63953         * lib/unictype/pr_currency_symbol.c: New file.
63954         * lib/unictype/pr_dash.c: New file.
63955         * lib/unictype/pr_decimal_digit.c: New file.
63956         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63957         * lib/unictype/pr_deprecated.c: New file.
63958         * lib/unictype/pr_diacritic.c: New file.
63959         * lib/unictype/pr_extender.c: New file.
63960         * lib/unictype/pr_format_control.c: New file.
63961         * lib/unictype/pr_grapheme_base.c: New file.
63962         * lib/unictype/pr_grapheme_extend.c: New file.
63963         * lib/unictype/pr_grapheme_link.c: New file.
63964         * lib/unictype/pr_hex_digit.c: New file.
63965         * lib/unictype/pr_hyphen.c: New file.
63966         * lib/unictype/pr_id_continue.c: New file.
63967         * lib/unictype/pr_id_start.c: New file.
63968         * lib/unictype/pr_ideographic.c: New file.
63969         * lib/unictype/pr_ids_binary_operator.c: New file.
63970         * lib/unictype/pr_ids_trinary_operator.c: New file.
63971         * lib/unictype/pr_ignorable_control.c: New file.
63972         * lib/unictype/pr_iso_control.c: New file.
63973         * lib/unictype/pr_join_control.c: New file.
63974         * lib/unictype/pr_left_of_pair.c: New file.
63975         * lib/unictype/pr_line_separator.c: New file.
63976         * lib/unictype/pr_logical_order_exception.c: New file.
63977         * lib/unictype/pr_lowercase.c: New file.
63978         * lib/unictype/pr_math.c: New file.
63979         * lib/unictype/pr_non_break.c: New file.
63980         * lib/unictype/pr_not_a_character.c: New file.
63981         * lib/unictype/pr_numeric.c: New file.
63982         * lib/unictype/pr_other_alphabetic.c: New file.
63983         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63984         * lib/unictype/pr_other_grapheme_extend.c: New file.
63985         * lib/unictype/pr_other_id_continue.c: New file.
63986         * lib/unictype/pr_other_id_start.c: New file.
63987         * lib/unictype/pr_other_lowercase.c: New file.
63988         * lib/unictype/pr_other_math.c: New file.
63989         * lib/unictype/pr_other_uppercase.c: New file.
63990         * lib/unictype/pr_paired_punctuation.c: New file.
63991         * lib/unictype/pr_paragraph_separator.c: New file.
63992         * lib/unictype/pr_pattern_syntax.c: New file.
63993         * lib/unictype/pr_pattern_white_space.c: New file.
63994         * lib/unictype/pr_private_use.c: New file.
63995         * lib/unictype/pr_punctuation.c: New file.
63996         * lib/unictype/pr_quotation_mark.c: New file.
63997         * lib/unictype/pr_radical.c: New file.
63998         * lib/unictype/pr_sentence_terminal.c: New file.
63999         * lib/unictype/pr_soft_dotted.c: New file.
64000         * lib/unictype/pr_space.c: New file.
64001         * lib/unictype/pr_terminal_punctuation.c: New file.
64002         * lib/unictype/pr_test.c: New file.
64003         * lib/unictype/pr_titlecase.c: New file.
64004         * lib/unictype/pr_unassigned_code_value.c: New file.
64005         * lib/unictype/pr_unified_ideograph.c: New file.
64006         * lib/unictype/pr_uppercase.c: New file.
64007         * lib/unictype/pr_variation_selector.c: New file.
64008         * lib/unictype/pr_white_space.c: New file.
64009         * lib/unictype/pr_xid_continue.c: New file.
64010         * lib/unictype/pr_xid_start.c: New file.
64011         * lib/unictype/pr_zero_width.c: New file.
64012         * lib/unictype/scripts.c: New file.
64013         * lib/unictype/sy_c_ident.c: New file.
64014         * lib/unictype/sy_c_whitespace.c: New file.
64015         * lib/unictype/sy_java_ident.c: New file.
64016         * lib/unictype/sy_java_whitespace.c: New file.
64017
64018         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64019         Unicode 5.0.0.
64020         * lib/unictype/blocks.h: Likewise.
64021         * lib/unictype/categ_C.h: Likewise.
64022         * lib/unictype/categ_Cc.h: Likewise.
64023         * lib/unictype/categ_Cf.h: Likewise.
64024         * lib/unictype/categ_Cn.h: Likewise.
64025         * lib/unictype/categ_Co.h: Likewise.
64026         * lib/unictype/categ_Cs.h: Likewise.
64027         * lib/unictype/categ_L.h: Likewise.
64028         * lib/unictype/categ_Ll.h: Likewise.
64029         * lib/unictype/categ_Lm.h: Likewise.
64030         * lib/unictype/categ_Lo.h: Likewise.
64031         * lib/unictype/categ_Lt.h: Likewise.
64032         * lib/unictype/categ_Lu.h: Likewise.
64033         * lib/unictype/categ_M.h: Likewise.
64034         * lib/unictype/categ_Mc.h: Likewise.
64035         * lib/unictype/categ_Me.h: Likewise.
64036         * lib/unictype/categ_Mn.h: Likewise.
64037         * lib/unictype/categ_N.h: Likewise.
64038         * lib/unictype/categ_Nd.h: Likewise.
64039         * lib/unictype/categ_Nl.h: Likewise.
64040         * lib/unictype/categ_No.h: Likewise.
64041         * lib/unictype/categ_P.h: Likewise.
64042         * lib/unictype/categ_Pc.h: Likewise.
64043         * lib/unictype/categ_Pd.h: Likewise.
64044         * lib/unictype/categ_Pe.h: Likewise.
64045         * lib/unictype/categ_Pf.h: Likewise.
64046         * lib/unictype/categ_Pi.h: Likewise.
64047         * lib/unictype/categ_Po.h: Likewise.
64048         * lib/unictype/categ_Ps.h: Likewise.
64049         * lib/unictype/categ_S.h: Likewise.
64050         * lib/unictype/categ_Sc.h: Likewise.
64051         * lib/unictype/categ_Sk.h: Likewise.
64052         * lib/unictype/categ_Sm.h: Likewise.
64053         * lib/unictype/categ_So.h: Likewise.
64054         * lib/unictype/categ_Z.h: Likewise.
64055         * lib/unictype/categ_Zl.h: Likewise.
64056         * lib/unictype/categ_Zp.h: Likewise.
64057         * lib/unictype/categ_Zs.h: Likewise.
64058         * lib/unictype/categ_of.h: Likewise.
64059         * lib/unictype/combining.h: Likewise.
64060         * lib/unictype/ctype_alnum.h: Likewise.
64061         * lib/unictype/ctype_alpha.h: Likewise.
64062         * lib/unictype/ctype_blank.h: Likewise.
64063         * lib/unictype/ctype_cntrl.h: Likewise.
64064         * lib/unictype/ctype_digit.h: Likewise.
64065         * lib/unictype/ctype_graph.h: Likewise.
64066         * lib/unictype/ctype_lower.h: Likewise.
64067         * lib/unictype/ctype_print.h: Likewise.
64068         * lib/unictype/ctype_punct.h: Likewise.
64069         * lib/unictype/ctype_space.h: Likewise.
64070         * lib/unictype/ctype_upper.h: Likewise.
64071         * lib/unictype/ctype_xdigit.h: Likewise.
64072         * lib/unictype/decdigit.h: Likewise.
64073         * lib/unictype/digit.h: Likewise.
64074         * lib/unictype/mirror.h: Likewise.
64075         * lib/unictype/numeric.h: Likewise.
64076         * lib/unictype/pr_alphabetic.h: Likewise.
64077         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
64078         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
64079         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
64080         * lib/unictype/pr_bidi_block_separator.h: Likewise.
64081         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
64082         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64083         * lib/unictype/pr_bidi_control.h: Likewise.
64084         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64085         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64086         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64087         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64088         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64089         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64090         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64091         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64092         * lib/unictype/pr_bidi_pdf.h: Likewise.
64093         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64094         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64095         * lib/unictype/pr_combining.h: Likewise.
64096         * lib/unictype/pr_composite.h: Likewise.
64097         * lib/unictype/pr_currency_symbol.h: Likewise.
64098         * lib/unictype/pr_dash.h: Likewise.
64099         * lib/unictype/pr_decimal_digit.h: Likewise.
64100         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64101         * lib/unictype/pr_deprecated.h: Likewise.
64102         * lib/unictype/pr_diacritic.h: Likewise.
64103         * lib/unictype/pr_extender.h: Likewise.
64104         * lib/unictype/pr_format_control.h: Likewise.
64105         * lib/unictype/pr_grapheme_base.h: Likewise.
64106         * lib/unictype/pr_grapheme_extend.h: Likewise.
64107         * lib/unictype/pr_grapheme_link.h: Likewise.
64108         * lib/unictype/pr_hex_digit.h: Likewise.
64109         * lib/unictype/pr_hyphen.h: Likewise.
64110         * lib/unictype/pr_id_continue.h: Likewise.
64111         * lib/unictype/pr_id_start.h: Likewise.
64112         * lib/unictype/pr_ideographic.h: Likewise.
64113         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64114         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64115         * lib/unictype/pr_ignorable_control.h: Likewise.
64116         * lib/unictype/pr_iso_control.h: Likewise.
64117         * lib/unictype/pr_join_control.h: Likewise.
64118         * lib/unictype/pr_left_of_pair.h: Likewise.
64119         * lib/unictype/pr_line_separator.h: Likewise.
64120         * lib/unictype/pr_logical_order_exception.h: Likewise.
64121         * lib/unictype/pr_lowercase.h: Likewise.
64122         * lib/unictype/pr_math.h: Likewise.
64123         * lib/unictype/pr_non_break.h: Likewise.
64124         * lib/unictype/pr_not_a_character.h: Likewise.
64125         * lib/unictype/pr_numeric.h: Likewise.
64126         * lib/unictype/pr_other_alphabetic.h: Likewise.
64127         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64128         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64129         * lib/unictype/pr_other_id_continue.h: Likewise.
64130         * lib/unictype/pr_other_id_start.h: Likewise.
64131         * lib/unictype/pr_other_lowercase.h: Likewise.
64132         * lib/unictype/pr_other_math.h: Likewise.
64133         * lib/unictype/pr_other_uppercase.h: Likewise.
64134         * lib/unictype/pr_paired_punctuation.h: Likewise.
64135         * lib/unictype/pr_paragraph_separator.h: Likewise.
64136         * lib/unictype/pr_pattern_syntax.h: Likewise.
64137         * lib/unictype/pr_pattern_white_space.h: Likewise.
64138         * lib/unictype/pr_private_use.h: Likewise.
64139         * lib/unictype/pr_punctuation.h: Likewise.
64140         * lib/unictype/pr_quotation_mark.h: Likewise.
64141         * lib/unictype/pr_radical.h: Likewise.
64142         * lib/unictype/pr_sentence_terminal.h: Likewise.
64143         * lib/unictype/pr_soft_dotted.h: Likewise.
64144         * lib/unictype/pr_space.h: Likewise.
64145         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64146         * lib/unictype/pr_titlecase.h: Likewise.
64147         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64148         * lib/unictype/pr_unified_ideograph.h: Likewise.
64149         * lib/unictype/pr_uppercase.h: Likewise.
64150         * lib/unictype/pr_variation_selector.h: Likewise.
64151         * lib/unictype/pr_white_space.h: Likewise.
64152         * lib/unictype/pr_xid_continue.h: Likewise.
64153         * lib/unictype/pr_xid_start.h: Likewise.
64154         * lib/unictype/pr_zero_width.h: Likewise.
64155         * lib/unictype/scripts.h: Likewise.
64156         * lib/unictype/scripts_byname.gperf: Likewise.
64157         * lib/unictype/sy_c_ident.h: Likewise.
64158         * lib/unictype/sy_c_whitespace.h: Likewise.
64159         * lib/unictype/sy_java_ident.h: Likewise.
64160         * lib/unictype/sy_java_whitespace.h: Likewise.
64161
64162         * lib/unictype/Makefile: New file.
64163         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64164         glibc.
64165         * lib/unictype/3level.h: New file, copied from glibc.
64166         * lib/unictype/3levelbit.h: New file.
64167
64168 2007-11-11  Bruno Haible  <bruno@clisp.org>
64169
64170         * modules/gperf: New file.
64171         * modules/iconv_open (Depends-on): Add it.
64172         (Makefile.am): Remove the GPERF definition.
64173
64174 2007-11-11  Bruno Haible  <bruno@clisp.org>
64175
64176         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64177         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64178
64179 2007-11-11  Bruno Haible  <bruno@clisp.org>
64180
64181         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64182         (usage): Remove function.
64183
64184 2007-11-11  Bruno Haible  <bruno@clisp.org>
64185
64186         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64187         gl_FUNC_CEILF_LIBS.
64188         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64189         gl_FUNC_CEIL_LIBS.
64190         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64191         gl_FUNC_CEILL_LIBS.
64192         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64193         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64194         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64195
64196 2007-11-11  Bruno Haible  <bruno@clisp.org>
64197
64198         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64199         roundf were declared but do not exist on functions.
64200         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64201         roundl were declared but do not exist on functions.
64202         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64203         HAVE_FLOORL_AND_CEILL, respectively.
64204         Needed for Sun C on Solaris 10.
64205
64206 2007-11-11  Bruno Haible  <bruno@clisp.org>
64207
64208         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64209         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64210         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64211         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64212         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64213         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64214         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64215         HAVE_DECL_ROUNDF.
64216         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64217         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64218         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64219         of HAVE_DECL_ROUND*.
64220         * modules/math (Makefile.am): Update.
64221
64222 2007-11-10  Bruno Haible  <bruno@clisp.org>
64223
64224         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64225         ptrdiff_t as m4/intl.m4.
64226
64227 2007-11-10  Jim Meyering  <meyering@redhat.com>
64228
64229         Avoid link failure for the argmatch test.
64230         * tests/test-argmatch.c (usage): Define function to avoid a link
64231         failure: argmatch_die requires a usage function.
64232
64233 2007-11-09  Bruno Haible  <bruno@clisp.org>
64234
64235         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64236         * doc/functions/vsnprintf.texi: Likewise.
64237         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64238         with a size argument < 2.
64239
64240 2007-11-09  Bruno Haible  <bruno@clisp.org>
64241
64242         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64243         buffer. Fixes an inefficiency introduced on 2007-11-03.
64244
64245 2007-11-09  Bruno Haible  <bruno@clisp.org>
64246
64247         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64248         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64249
64250 2007-11-08  Jim Meyering  <meyering@redhat.com>
64251
64252         Change cache variable name prefix "jm_" to "gl_" everywhere.
64253         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64254         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64255         * m4/uptime.m4: s/gl_/jm_/
64256
64257 2007-11-07  Bruno Haible  <bruno@clisp.org>
64258
64259         Update to GNU gettext 0.17.
64260         * m4/intl.m4: Update to GNU gettext 0.17.
64261         * m4/po.m4: Likewise.
64262         * modules/gettext (Files): Remove m4/ulonglong.m4.
64263         (configure.ac): Require gettext infrastructure from version 0.17.
64264
64265 2007-11-06  Bruno Haible  <bruno@clisp.org>
64266
64267         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64268         symbolic values are not defined in a public header.
64269         * lib/freadable.c (freadable) [QNX]: Likewise.
64270         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64271         * lib/freading.c (freading) [QNX]: Likewise.
64272         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64273         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64274         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64275         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64276         Reported by Alain Magloire.
64277
64278         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64279
64280 2007-11-05  Bruno Haible  <bruno@clisp.org>
64281
64282         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64283         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64284         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64285         Reported by Eric Blake.
64286
64287 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64288             Bruno Haible  <bruno@clisp.org>
64289
64290         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64291         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64292         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64293         (malloc): Undefine also before including <stdlib.h>.
64294         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64295         Needed on OSF/1 4.0.
64296
64297 2007-11-05  Jim Meyering  <meyering@redhat.com>
64298
64299         git-version-gen: sync from coreutils.
64300         * build-aux/git-version-gen: Add comments.
64301         Change the first '-' to '.' in the snapshot version string,
64302         e.g., 6.9-377-08144 -> 6.9.377-08144
64303         Remove first parameter.
64304         Don't declare a version "-dirty" merely because a time
64305         stamp has changed.
64306
64307 2007-11-04  Bruno Haible  <bruno@clisp.org>
64308
64309         * lib/lock.h: Protect all macro definitions containing an 'if'
64310         statement through a "do { ... } while (0)".
64311         * lib/tls.h: Likewise.
64312
64313 2007-11-04  Bruno Haible  <bruno@clisp.org>
64314
64315         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64316
64317 2007-11-04  Bruno Haible  <bruno@clisp.org>
64318
64319         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64320         * modules/fprintf-posix (Depends-on): Add nocrash.
64321         * modules/snprintf-posix (Depends-on): Likewise.
64322         * modules/sprintf-posix (Depends-on): Likewise.
64323         * modules/vasnprintf-posix (Depends-on): Likewise.
64324         * modules/vasprintf-posix (Depends-on): Likewise.
64325         * modules/vfprintf-posix (Depends-on): Likewise.
64326         * modules/vsnprintf-posix (Depends-on): Likewise.
64327         * modules/vsprintf-posix (Depends-on): Likewise.
64328         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64329         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64330         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64331         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64332         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64333         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64334         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64335
64336 2007-11-04  Bruno Haible  <bruno@clisp.org>
64337
64338         * modules/nocrash: New file.
64339         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64340         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64341
64342 2007-11-04  Bruno Haible  <bruno@clisp.org>
64343
64344         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64345         precision handling.
64346         * tests/test-vasprintf-posix.c (test_function): Likewise.
64347         * tests/test-snprintf-posix.h (test_function): Likewise.
64348         * tests/test-sprintf-posix.h (test_function): Likewise.
64349
64350         Fix *printf behaviour for large precisions on mingw and BeOS.
64351         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64352         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64353         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64354         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64355         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64356         gl_PRINTF_PRECISION and test its result. Invoke
64357         gl_PREREQ_VASNPRINTF_PRECISION.
64358         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64359         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64360         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64361         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64362         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64363         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64364         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64365         * doc/functions/fprintf.texi: Update.
64366         * doc/functions/printf.texi: Update.
64367         * doc/functions/snprintf.texi: Update.
64368         * doc/functions/sprintf.texi: Update.
64369         * doc/functions/vfprintf.texi: Update.
64370         * doc/functions/vprintf.texi: Update.
64371         * doc/functions/vsnprintf.texi: Update.
64372         * doc/functions/vsprintf.texi: Update.
64373
64374 2007-11-04  Bruno Haible  <bruno@clisp.org>
64375
64376         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64377
64378 2007-11-04  Bruno Haible  <bruno@clisp.org>
64379
64380         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64381         Reported by Sylvain Beucler <beuc@gnu.org>.
64382
64383 2007-11-03  Bruno Haible  <bruno@clisp.org>
64384
64385         * tests/test-fprintf-posix2.sh: New file.
64386         * tests/test-fprintf-posix2.c: New file.
64387         * modules/fprintf-posix-tests (Files): Add them.
64388         (TESTS): Add test-fprintf-posix2.sh.
64389         (configure.ac): Check for getrlimit and setrlimit.
64390         (check_PROGRAMS): Add test-fprintf-posix2.
64391
64392         * tests/test-printf-posix2.sh: New file.
64393         * tests/test-printf-posix2.c: New file.
64394         * modules/printf-posix-tests (Files): Add them.
64395         (TESTS): Add test-printf-posix2.sh.
64396         (configure.ac): Check for getrlimit and setrlimit.
64397         (check_PROGRAMS): Add test-printf-posix2.
64398
64399         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64400         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64401         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64402         (decode_double): New function, copied from decode_long_double.
64403         (scale10_round_decimal_decoded): New function, extracted from
64404         scale10_round_decimal_long_double.
64405         (scale10_round_decimal_long_double): Use it.
64406         (scale10_round_decimal_double): New function.
64407         (floorlog10): New function.
64408         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64409         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64410         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64411         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64412         gl_PRINTF_ENOMEM and test its result. Invoke
64413         gl_PREREQ_VASNPRINTF_ENOMEM.
64414         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64415         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64416         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64417         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64418         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64419         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64420         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64421         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64422         * modules/snprintf-posix (Depends-on): Likewise.
64423         * modules/sprintf-posix (Depends-on): Likewise.
64424         * modules/vasnprintf-posix (Depends-on): Likewise.
64425         * modules/vasprintf-posix (Depends-on): Likewise.
64426         * modules/vfprintf-posix (Depends-on): Likewise.
64427         * modules/vsnprintf-posix (Depends-on): Likewise.
64428         * modules/vsprintf-posix (Depends-on): Likewise.
64429         * doc/functions/fprintf.texi: Update.
64430         * doc/functions/printf.texi: Update.
64431         * doc/functions/snprintf.texi: Update.
64432         * doc/functions/sprintf.texi: Update.
64433         * doc/functions/vfprintf.texi: Update.
64434         * doc/functions/vprintf.texi: Update.
64435         * doc/functions/vsnprintf.texi: Update.
64436         * doc/functions/vsprintf.texi: Update.
64437
64438 2007-11-03  Bruno Haible  <bruno@clisp.org>
64439
64440         * modules/frexp-nolibm-tests: New file.
64441
64442         * modules/frexp-nolibm: New file.
64443         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64444
64445 2007-11-03  Bruno Haible  <bruno@clisp.org>
64446
64447         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64448         value is C99 compliant.
64449         Needed for OSF/1 5.1.
64450
64451 2007-11-03  Bruno Haible  <bruno@clisp.org>
64452
64453         Fix out-of-memory handling of vasnprintf.
64454         * lib/printf-parse.c: Include <errno.h>.
64455         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64456         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64457         is already set.
64458
64459 2007-11-02  Eric Blake  <ebb9@byu.net>
64460
64461         Fix tests on cygwin.
64462         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64463
64464 2007-11-01  Bruno Haible  <bruno@clisp.org>
64465
64466         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64467         warning.
64468         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64469         needed for POSIX compatibility.
64470
64471 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64472
64473         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64474         for compatibility with GNU.
64475
64476 2007-11-01  Bruno Haible  <bruno@clisp.org>
64477
64478         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64479         (putenv): Renamed from rpl_putenv. Change argument type from
64480         'const char *' to 'char *'.
64481         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64482         of defining putenv in config.h, just set REPLACE_PUTENV.
64483         * modules/putenv (Depends-on): Add stdlib.
64484         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64485         (Include): Use <stdlib.h>.
64486         * lib/stdlib.in.h (putenv): New declaration.
64487         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64488         REPLACE_PUTENV.
64489         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64490         REPLACE_PUTENV.
64491         Needed for MacOS X 10.5.0.
64492         Reported by Peter O'Gorman <peter@pogma.com>.
64493
64494 2007-11-01  Jim Meyering  <meyering@redhat.com>
64495
64496         Treat an empty date string exactly like "0".
64497         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64498         if the remaining date string (to be parsed) is empty, use "0".
64499         Reported by Mischa Molhoek and discussed in this thread:
64500         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64501
64502 2007-10-31  Bruno Haible  <bruno@clisp.org>
64503
64504         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64505         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64506         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64507         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64508         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64509         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64510
64511 2007-10-31  Bruno Haible  <bruno@clisp.org>
64512
64513         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64514         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64515         (AC_TYPE_LONG_LONG_INT): Use it.
64516         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64517         it as well.
64518         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64519         to m4/longlong.m4.
64520         * modules/stdint (Files): Remove m4/ulonglong.m4.
64521         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64522         m4/ulonglong.m4.
64523         * modules/strtoumax (Files): Likewise.
64524
64525 2007-10-30  Bruno Haible  <bruno@clisp.org>
64526
64527         * modules/xvasprintf-posix: New file.
64528         Suggested by Eric Blake.
64529
64530 2007-10-30  Bruno Haible  <bruno@clisp.org>
64531
64532         * modules/xprintf-posix-tests: New file.
64533         * tests/test-xprintf-posix.sh: New file.
64534         * tests/test-xprintf-posix.c: New file.
64535         * tests/test-xfprintf-posix.c: New file.
64536
64537         * modules/xprintf-posix: New file.
64538
64539 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64540
64541         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64542         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64543         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64544
64545 2007-10-29  Bruno Haible  <bruno@clisp.org>
64546
64547         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64548         contain the special marker '_cv_'.
64549         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64550         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64551         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64552         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64553         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64554         Reported by Ralf Wildenhues.
64555
64556 2007-10-29  Bruno Haible  <bruno@clisp.org>
64557
64558         * gnulib-tool (func_import): When --lgpl is not specified, set
64559         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64560         GPLv3.
64561         Reported by Simon Josefsson.
64562
64563 2007-10-28  Bruno Haible  <bruno@clisp.org>
64564
64565         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64566         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64567         HAVE_DECL_ISFINITE.
64568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64569         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64570         HAVE_DECL_ISFINITE.
64571
64572 2007-10-28  Bruno Haible  <bruno@clisp.org>
64573
64574         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64575         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64576
64577 2007-10-28  Bruno Haible  <bruno@clisp.org>
64578
64579         Fix link errors with Sun C 5.0 on Solaris 10.
64580         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64581         function is declared but not present in the compiler's libm.
64582         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64583         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64584         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64585         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64586         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64587         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64588         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64589         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64590         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64591         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64592         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64593         HAVE_DECL_FLOORL.
64594
64595 2007-10-28  Bruno Haible  <bruno@clisp.org>
64596
64597         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64598         gl_FUNC_FLOORL. Cache the result.
64599         (gl_FUNC_FLOORL): Use it.
64600         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64601         gl_FUNC_CEILL. Cache the result.
64602         (gl_FUNC_CEILL): Use it.
64603
64604         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64605         gl_FUNC_FLOOR. Cache the result.
64606         (gl_FUNC_FLOOR): Use it.
64607         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64608         gl_FUNC_CEIL. Cache the result.
64609         (gl_FUNC_CEIL): Use it.
64610
64611         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64612         gl_FUNC_FLOORF. Cache the result.
64613         (gl_FUNC_FLOORF): Use it.
64614         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64615         gl_FUNC_CEILF. Cache the result.
64616         (gl_FUNC_CEILF): Use it.
64617
64618 2007-10-28  Bruno Haible  <bruno@clisp.org>
64619
64620         * gnulib-tool: Allow specifying the LGPL version number through
64621         --lgpl=2 or --lgpl=3.
64622         (func_usage): Document --lgpl with argument.
64623         Handle --lgpl=... arguments.
64624         (func_import): Recognize also gl_LGPL calls with an argument. When
64625         --lgpl=2 is used and the module's license is just LGPL, report an
64626         error. Set sed_transform_lib_file according to the lgpl variable. In
64627         the generated files, use --lgpl or gl_LGPL invocations with argument,
64628         if necessary.
64629         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64630         an LGPv2+ license.
64631         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64632         gl_LGPL macro.
64633
64634 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64635             Bruno Haible  <bruno@clisp.org>
64636
64637         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64638         (u16_uctomb_aux): Likewise.
64639         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64640         !HAVE_INLINE.
64641         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64642
64643 2007-10-28  Bruno Haible  <bruno@clisp.org>
64644
64645         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64646         Invoke AM_GETTEXT_OPTION if it exists.
64647         * modules/vasprintf: Likewise.
64648         * modules/verror: Likewise.
64649         * modules/xprintf: Likewise.
64650         * modules/xvasprintf: Likewise.
64651
64652 2007-10-27  Ben Pfaff  <blp@gnu.org>
64653
64654         * lib/math.in.h: Define isfinite macro and prototypes for
64655         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64656         implementations.
64657         * m4/math_h.m4: New substitutions for isfinite module.
64658         * lib/isfinite.c: New file.
64659         * m4/isfinite.m4: New file.
64660         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64661         * modules/isfinite: New file.
64662         * modules/isfinite-tests: New file.
64663         * tests/tests-isfinite.c: New file.
64664         * doc/functions/isfinite.texi: Mention isfinite module.
64665         * MODULES.html.sh: Mention new module.
64666
64667 2007-10-27  Ben Pfaff  <blp@gnu.org>
64668
64669         Ralf Wildenhues reported that Tru64 4.0D declares the round
64670         functions but does not have definitions.
64671         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64672         cannot be found in any library, set the output variable to
64673         "missing" instead of "".
64674         * m4/round.m4: Also use our substitute if we cannot find round in
64675         any library, even if it is declared.
64676         * m4/roundf.m4: Likewise for roundf.
64677         * m4/roundl.m4: Likewise for roundl.
64678         * lib/math.in.h: Undefine roundf, round, roundl before defining
64679         their replacements, to allow for hypothetical systems where these
64680         may be defined as macros but not available in libraries.
64681
64682 2007-10-27  Bruno Haible  <bruno@clisp.org>
64683
64684         * doc/gnulib.texi: Invoke @firstparagraphindent.
64685         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64686         changes in gnulib.
64687         (Source changes): New section.
64688
64689 2007-10-26  Bruno Haible  <bruno@clisp.org>
64690
64691         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64692         borrowed from autoconf.
64693
64694 2007-10-26  Bruno Haible  <bruno@clisp.org>
64695
64696         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64697         strerror returned the empty string. Needed on HP-UX 11.00.
64698
64699 2007-10-24  Micah Cowan  <micah@cowan.name>
64700
64701         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64702         * build-aux/bootstrap: Remove support for now-unnecessary option,
64703         --cvs-user, and envvars CVS_USER, CVS_RSH.
64704
64705 2007-10-24  Jim Meyering  <meyering@redhat.com>
64706
64707         Avoid diagnostics from sha1sum when there is no cached checksum.
64708         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64709         if the po.s1 file hasn't been created yet.
64710
64711         * build-aux/bootstrap: Sync from coreutils:
64712         2007-10-24  Jim Meyering  <meyering@redhat.com>
64713         Get gnulib from the git repository, not from an obsolete cvs one.
64714         * build-aux/bootstrap: Suggestion from Micah Cowan.
64715         2007-10-04  Jim Meyering  <jim@meyering.net>
64716         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64717         (update_po_files): Work also when there are no .po files in po/.
64718
64719 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64720
64721         * README: Append ".git" to git and cg examples.
64722         Problem reported by Benoit Sigoure.
64723
64724 2007-10-23  Micah Cowan  <micah@cowan.name>
64725
64726         * users.txt: Add wget.
64727
64728 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64729
64730         Fix linking of some unistdio tests on FreeBSD.
64731         * modules/unistdio/u16-vsnprintf-tests
64732         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64733         * modules/unistdio/u16-vsprintf-tests
64734         (test_u16_vsnprintf1_LDADD): Likewise.
64735         * modules/unistdio/u32-vsnprintf-tests
64736         (test_u32_vsnprintf1_LDADD): Likewise.
64737         * modules/unistdio/u32-vsprintf-tests
64738         (test_u32_vsprintf1_LDADD): Likewise.
64739         * modules/unistdio/u8-vsnprintf-tests
64740         (test_u8_vsnprintf1_LDADD): Likewise.
64741         * modules/unistdio/u8-vsprintf-tests
64742         (test_u8_vsprintf1_LDADD): Likewise.
64743         * modules/unistdio/ulc-vsnprintf-tests
64744         (test_ulc_vsnprintf1_LDADD): Likewise.
64745         * modules/unistdio/ulc-vsprintf-tests
64746         (test_ulc_vsprintf1_LDADD): Likewise.
64747
64748         Fix linking of some uniconv tests on FreeBSD.
64749         * modules/uniconv/u16-conv-from-enc-tests
64750         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64751         * modules/uniconv/u16-conv-to-enc-tests
64752         (test_u16_conv_to_enc_LDADD): Likewise.
64753         * modules/uniconv/u16-strconv-from-enc-tests
64754         (test_u16_strconv_from_enc_LDADD): Likewise.
64755         * modules/uniconv/u16-strconv-to-enc-tests
64756         (test_u16_strconv_to_enc_LDADD): Likewise.
64757         * modules/uniconv/u32-conv-from-enc-tests
64758         (test_u32_conv_from_enc_LDADD): Likewise.
64759         * modules/uniconv/u32-conv-to-enc-tests
64760         (test_u32_conv_to_enc_LDADD): Likewise.
64761         * modules/uniconv/u32-strconv-from-enc-tests
64762         (test_u32_strconv_from_enc_LDADD): Likewise.
64763         * modules/uniconv/u32-strconv-to-enc-tests
64764         (test_u32_strconv_to_enc_LDADD): Likewise.
64765         * modules/uniconv/u8-conv-from-enc-tests
64766         (test_u8_conv_from_enc_LDADD): Likewise.
64767         * modules/uniconv/u8-conv-to-enc-tests
64768         (test_u8_conv_to_enc_LDADD): Likewise.
64769         * modules/uniconv/u8-strconv-from-enc-tests
64770         (test_u8_strconv_from_enc_LDADD): Likewise.
64771         * modules/uniconv/u8-strconv-to-enc-tests
64772         (test_u8_strconv_to_enc_LDADD): Likewise.
64773
64774 2007-10-22  Bruno Haible  <bruno@clisp.org>
64775
64776         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64777         size.
64778
64779 2007-10-22  Eric Blake  <ebb9@byu.net>
64780
64781         Tweak x*printf documentation.
64782         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64783         variable name and comments.
64784         Suggested by Bruno Haible.
64785
64786 2007-10-22  Bruno Haible  <bruno@clisp.org>
64787
64788         * lib/acl.c (copy_acl): Fix file name in comment.
64789
64790 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64791
64792         Fix Tru64 problem with stdbool.h.
64793         * lib/stdbool.in.h (false, true):
64794         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64795         Don't declare as an enum in this situation; it runs afoul of Tru64.
64796         Problem reported by Steven M. Schweda in
64797         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64798
64799 2007-10-22  Eric Blake  <ebb9@byu.net>
64800
64801         Also wrap vf?printf.
64802         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64803         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64804         (xvprintf, xvfprintf): New functions.
64805
64806 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64807
64808         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64809         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64810
64811         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64812         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64813
64814 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64815
64816         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64817         by Bruno Haible.
64818
64819 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64820
64821         * lib/getloadavg.c
64822         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64823         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64824
64825         * tests/test-i-ring.c: Work for C89.
64826
64827 2007-10-22  Bruno Haible  <bruno@clisp.org>
64828
64829         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64830         -1u, in preprocessor expression, so that we don't test for the bug
64831         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64832         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64833
64834 2007-10-22  Eric Blake  <ebb9@byu.net>
64835
64836         * tests/test-yesno.sh: Silence stderr during test.
64837
64838 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64839
64840         * modules/crypto/gc-camellia: New file.
64841
64842         * m4/gc-camellia.m4: New file.
64843
64844         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64845
64846         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64847
64848 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64849
64850         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64851         --help to stdout.  Reported by sms@antinode.org (Steven
64852         M. Schweda).
64853
64854 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64855
64856         * users.txt: Fix link to libksba.
64857
64858 2007-10-21  Ben Pfaff  <blp@gnu.org>
64859
64860         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64861         round.c roundf implementation that depends on floorf and ceilf to
64862         be tested unconditionally.
64863
64864 2007-10-21  Ben Pfaff  <blp@gnu.org>
64865
64866         * m4/check-libm-func.m4: Removed.
64867         * m4/check-math-lib.m4: New file.
64868         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64869         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64870         definition and lack of AC_LIBOBJ([roundf]).
64871         * m4/roundl.m4: Ditto, and similarly for roundl.
64872         * modules/round: Reference new m4 file.
64873         * modules/roundf: Ditto.
64874         * modules/roundl: Ditto.
64875         * tests/test-round2.c (main): Use ROUND instead of round.
64876         Bug report from Bruno Haible.
64877
64878 2007-10-21  Bruno Haible  <bruno@clisp.org>
64879
64880         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64881         context.
64882
64883 2007-10-21  Bruno Haible  <bruno@clisp.org>
64884
64885         * tests/test-wcwidth.c (main): Allow negative result for some control
64886         characters.
64887
64888         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64889         Needed on OSF/1 5.1.
64890
64891 2007-10-21  Bruno Haible  <bruno@clisp.org>
64892
64893         * tests/test-floorf1.c: Include isnanf.h.
64894         (main): Use isnanf() instead of isnan().
64895         * tests/test-ceilf1.c: Include isnanf.h.
64896         (main): Use isnanf() instead of isnan().
64897         * tests/test-truncf1.c: Include isnanf.h.
64898         (main): Use isnanf() instead of isnan().
64899         * tests/test-roundf1.c: Include isnanf.h.
64900         (main): Use isnanf() instead of isnan().
64901
64902 2007-10-21  Eric Blake  <ebb9@byu.net>
64903
64904         * users.txt: Update URL for m4.
64905
64906 2007-10-21  Bruno Haible  <bruno@clisp.org>
64907
64908         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64909
64910 2007-10-21  Bruno Haible  <bruno@clisp.org>
64911
64912         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64913         Git's management files if the CVS files are not present.
64914
64915 2007-10-20  Bruno Haible  <bruno@clisp.org>
64916
64917         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64918         gcc-3.4.x.
64919
64920 2007-10-20  Ben Pfaff  <blp@gnu.org>
64921
64922         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64923         implementations.
64924         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64925         * lib/round.c: New file.
64926         * lib/roundf.c: New file.
64927         * lib/roundl.c: New file.
64928         * m4/round.m4: New file.
64929         * m4/roundf.m4: New file.
64930         * m4/roundl.m4: New file.
64931         * m4/check-libm-func-m4: New file.
64932         * modules/math: Replace round, roundf, roundl related @VARS@ in
64933         math.in.h.
64934         * modules/round: New file.
64935         * modules/round-tests: New file.
64936         * modules/roundf: New file.
64937         * modules/roundf-tests: New file.
64938         * modules/roundl: New file.
64939         * modules/roundl-tests: New file.
64940         * tests/test-round1.c: New file.
64941         * tests/test-round2.c: New file.
64942         * tests/test-roundf1.c: New file.
64943         * tests/test-roundf2.c: New file.
64944         * tests/test-roundl.c: New file.
64945         * doc/functions/round.texi: Mention round module.
64946         * doc/functions/roundf.texi: Mention roundf module.
64947         * doc/functions/roundl.texi: Mention roundl module.
64948         * MODULES.html.sh: Mention new modules.
64949         Thanks to Bruno Haible for suggestions.
64950
64951 2007-10-20  Jim Meyering  <meyering@redhat.com>
64952
64953         * lib/xprintf.c: Include <config.h> unconditionally.
64954
64955         Change xprintf's license to GPL.
64956         * modules/xprintf (License): s/LGPL/GPL/, since this module
64957         depends on modules (exit and exitfail) which are GPL.
64958         Suggestion from Bruno Haible.
64959
64960         xprintf fixes.
64961         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64962         Use a clearer diagnostic.
64963         Patch from Bruno Haible.
64964
64965 2007-10-20  Bruno Haible  <bruno@clisp.org>
64966
64967         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64968         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64969         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64970
64971 2007-10-20  Bruno Haible  <bruno@clisp.org>
64972
64973         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64974         precision in the comparison result > x - 1 or similar.
64975         * tests/test-ceilf2.c (correct_result_p): Likewise.
64976         * tests/test-truncf2.c (correct_result_p): Likewise.
64977         * tests/test-trunc2.c (correct_result_p): Likewise.
64978         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64979
64980 2007-10-20  Bruno Haible  <bruno@clisp.org>
64981
64982         * modules/ceil: New file.
64983         * m4/ceil.m4: New file.
64984         * doc/functions/ceil.texi: Mention the 'ceil' module.
64985
64986 2007-10-20  Bruno Haible  <bruno@clisp.org>
64987
64988         * modules/floor: New file.
64989         * m4/floor.m4: New file.
64990         * doc/functions/floor.texi: Mention the 'floor' module.
64991
64992 2007-10-20  Bruno Haible  <bruno@clisp.org>
64993
64994         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64995         of %a.
64996         * modules/floorf-tests (Depends-on): Likewise.
64997         * modules/truncf-tests (Depends-on): Likewise.
64998         * modules/trunc-tests (Depends-on): Likewise.
64999         Reported by Ben Pfaff.
65000
65001 2007-10-19  Jim Meyering  <meyering@redhat.com>
65002
65003         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65004         Don't bother testing specific errno values.  Just test ferror.
65005
65006         New module: xprintf
65007         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65008
65009 2007-10-19  Bruno Haible  <bruno@clisp.org>
65010
65011         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65012         syntax.
65013         * modules/javaexec (Makefile.am): Likewise.
65014         * modules/relocatable-prog (Makefile.am): Likewise.
65015         Suggested by Jim Meyering.
65016
65017 2007-10-18  Bruno Haible  <bruno@clisp.org>
65018
65019         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65020         Reported by Jim Meyering.
65021
65022 2007-10-18  Eric Blake  <ebb9@byu.net>
65023
65024         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65025
65026 2007-10-18  Bruno Haible  <bruno@clisp.org>
65027
65028         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65029         the format string into writable memory. Needed in Fortify conditions.
65030
65031 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65032             Bruno Haible  <bruno@clisp.org>
65033
65034         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65035         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65036         * modules/trim (Depends-on): Add mbchar.
65037         (configure.ac): Add gl_FUNC_MBRTOWC.
65038         (Makefile.am): Augment lib_SOURCES.
65039
65040 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65041
65042         Modify glob.c to use fstatat and dirfd, to simplify it.
65043         Suggested by Eric Blake.
65044         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65045         Don't include <stdbool.h>; not used.
65046         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65047         (link_exists_p): Simplify implementation, since we can now assume
65048         dirfd and fstatat.
65049         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65050
65051 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65052
65053         * gnulib-tool (func_get_dependencies): Fix sed script to
65054         match only tests.
65055
65056 2007-10-17  Bruno Haible  <bruno@clisp.org>
65057
65058         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65059         allow locale names without encoding suffix.
65060         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65061         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65062
65063 2007-10-16  Bruno Haible  <bruno@clisp.org>
65064
65065         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65066         * lib/getgroups.c (getgroups): Likewise.
65067         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65068
65069 2007-10-16  Bruno Haible  <bruno@clisp.org>
65070
65071         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65072         * modules/malloc-posix (License): Likewise.
65073         * modules/realloc-posix (License): Likewise.
65074         * modules/calloc-posix (License): Likewise.
65075         * modules/intprops (License): Change from GPL to LGPL, with
65076         Paul Eggert's approval.
65077
65078 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65079
65080         Merge glibc changes into lib/glob.c.
65081
65082         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65083         2007-10-15 04:59:03 UTC.  Here are the changes:
65084
65085         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65086
65087         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65088
65089         * lib/glob.c: Add some branch prediction throughout.
65090
65091         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65092
65093         [BZ #5103]
65094         * lib/glob.c (glob): Recognize patterns starting \/.
65095
65096         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65097
65098         [BZ #3996]
65099         * lib/glob.c (attribute_hidden): Define if not defined.
65100         (glob): Unescape dirname, filename or username when needed and not
65101         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65102         is NULL.  Handle unescaped [ in pattern without closing ].
65103         Don't pass GLOB_CHECK down to recursive glob for directories.
65104         (__glob_pattern_type): New function.
65105         (__glob_pattern_p): Implement using __glob_pattern_type.
65106         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65107         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65108         Remove unreachable code.
65109
65110         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65111
65112         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65113         explain why there are no leaks.
65114
65115         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65116
65117         [BZ #3253]
65118         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65119         time, rather allocate increasingly bigger arrays of pointers, if
65120         possible with alloca, if too large with malloc.
65121
65122 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65123
65124         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65125         Problem reported by H.Merijn Brand in
65126         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65127         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65128         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65129
65130 2007-10-15  Bruno Haible  <bruno@clisp.org>
65131
65132         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65133         with explicit rpl_ prefix.
65134         * lib/fopen.c (fopen): Likewise.
65135         * lib/freopen.c (freopen): Likewise.
65136         * lib/iconv.c (iconv): Likewise.
65137         * lib/iconv_close.c (iconv_close): Likewise.
65138
65139 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65140
65141         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65142
65143 2007-10-15  Bruno Haible  <bruno@clisp.org>
65144
65145         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65146         <stddef.h> instead of <stdlib.h> since we only need NULL.
65147         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65148
65149 2007-10-15  Bruno Haible  <bruno@clisp.org>
65150
65151         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65152         Replace paragraph talking about LIBOBJS.
65153         Reported by Colin Watson <cjwatson@debian.org>.
65154
65155 2007-10-15  Bruno Haible  <bruno@clisp.org>
65156
65157         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65158         <stdlib.h> before using NULL.
65159
65160 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65161
65162         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65163         Reported by Albert Chin <china@thewrittenword.com>.
65164
65165 2007-10-14  Bruno Haible  <bruno@clisp.org>
65166
65167         * modules/iconv_open-utf-tests: New file.
65168         * tests/test-iconv-utf.c: New file.
65169
65170         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65171         * modules/iconv_open-utf: New file.
65172         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65173         (iconv, iconv_close): New declarations.
65174         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65175         be defined.
65176         (iconv_open): Add special handling of conversion between UTF-8 and
65177         UTF-{16,32}{BE,LE}.
65178         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65179         * lib/iconv_close.c: New file.
65180         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65181         gl_FUNC_ICONV_OPEN.
65182         (gl_FUNC_ICONV_OPEN): Use it.
65183         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65184         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65185         and REPLACE_ICONV_UTF.
65186         * modules/iconv_open (Depends-on): Add c-strcase.
65187         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65188         ICONV_CONST.
65189         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65190
65191 2007-10-13  Albert Chin  <china@thewrittenword.com>
65192             Bruno Haible  <bruno@clisp.org>
65193
65194         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65195         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65196
65197 2007-10-13  Bruno Haible  <bruno@clisp.org>
65198
65199         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65200         defined, use the ISO C99 inline semantics.
65201         * lib/argp.h (ARGP_EI): Likewise.
65202
65203 2007-10-13  Bruno Haible  <bruno@clisp.org>
65204
65205         Handle 'inline' change in gcc 4.3.0.
65206         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65207         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65208         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65209         argp_fmtstream_point): Disable 'extern' declaration if the function
65210         definition is going to be provided inline.
65211         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65212         semantics, not the ISO C99 inline semantics.
65213         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65214         'extern' declaration if the function definition is going to be provided
65215         inline.
65216         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65217         the GNU C inline semantics, not the ISO C99 inline semantics. With
65218         GCC 4.2, avoid a warning.
65219
65220 2007-10-13  Bruno Haible  <bruno@clisp.org>
65221
65222         * lib/freading.h (freading): Enable the use of __freading for
65223         glibc >= 2.7.
65224         * lib/freading.c (freading): Likewise.
65225
65226 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65227
65228         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65229         "warning: C99 inline functions are not supported; using GNU89".
65230
65231 2007-10-12  Bruno Haible  <bruno@clisp.org>
65232
65233         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65234         of 2.
65235         * tests/test-ceilf2.c: New file.
65236         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65237
65238         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65239         * modules/ceilf-tests: Update.
65240
65241 2007-10-12  Bruno Haible  <bruno@clisp.org>
65242
65243         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65244         of 2.
65245         * tests/test-floorf2.c: New file.
65246         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65247
65248         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65249         * modules/floorf-tests: Update.
65250
65251 2007-10-12  Bruno Haible  <bruno@clisp.org>
65252
65253         * tests/test-trunc2.c: New file.
65254         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65255
65256         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65257         * modules/trunc-tests: Update.
65258
65259 2007-10-12  Bruno Haible  <bruno@clisp.org>
65260
65261         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65262         of 2.
65263         * tests/test-truncf2.c: New file.
65264         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65265
65266         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65267         * modules/truncf-tests: Update.
65268
65269 2007-10-11  Eric Blake  <ebb9@byu.net>
65270
65271         Don't claim strerror is broken on Interix.
65272         * doc/functions/strerror.texi (strerror): Known broken systems are
65273         now Solaris 8, and not Interix.
65274         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65275         Interix on cross-compile.
65276         Reported by Martin Koeppe in
65277         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65278
65279 2007-10-11  Bruno Haible  <bruno@clisp.org>
65280
65281         * modules/i-ring-tests: New file.
65282         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65283         instead of assert.
65284
65285 2007-10-11  Bruno Haible  <bruno@clisp.org>
65286
65287         * modules/filenamecat-tests: New file.
65288         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65289         * lib/filenamecat.c: Remove test code.
65290
65291 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65292
65293         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65294
65295         * lib/strerror.c: Include <string.h> always, to test interface,
65296         and to remove the need for the dummy.
65297         Include intprops.h to compute width instead of doing it ourselves
65298         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65299         (strerror): Define it to return NULL if there's no system strerror.
65300         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65301         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65302         ancient pre-strerror Unix systems well any more.  Saying "unknown
65303         system error" is enough.
65304         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65305         simpler strerror.c implementation.
65306         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65307         Simplify the tests to reflect the simpler strerror implementation.
65308         * modules/strerror (Depends-on): Add intprops.
65309
65310 2007-10-09  Eric Blake  <ebb9@byu.net>
65311
65312         Silence test-fpending.
65313         * modules/fpending-tests (Files): Add wrapper script.
65314         * tests/test-fpending.sh: New file.
65315
65316 2007-10-09  Bruno Haible  <bruno@clisp.org>
65317
65318         * MODULES.html.sh (func_module): Don't create a hyperlink for
65319         function names like 'printf_frexp'.
65320         (Misc): Add crc, memxor.
65321         (Characteristics of floating types): New section.
65322         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65323         isnanf-nolibm, signbit, trunc, truncf, truncl.
65324         (Enhancements for ISO C 99 functions): New subsection Input/output.
65325         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65326         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65327         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65328         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65329         (Enhancements for POSIX:2001 functions): Add chdir-long.
65330         (File system functions): Add areadlink, chdir-safer, read-file.
65331         Remove cycle-check.
65332         (File system as inode set): New section.
65333         (Date and time): Add gethrxtime.
65334         (Multithreading): Add openmp.
65335         (Internationalization functions): Add localename.
65336         (Unicode string functions): Add unistr/u*-mbsnlen.
65337         (Support for maintaining and releasing projects): Add git-version-gen.
65338         (Lone files): Remove directories.
65339
65340 2007-10-08  Ben Pfaff  <blp@gnu.org>
65341
65342         * lib/xmalloca.h: Fix typo in comment.
65343
65344 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65345
65346         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65347         when avoiding problems with integer overflow.  Use a portable test
65348         instead.
65349
65350 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65351
65352         * modules/dummy (License): Change to LGPLv2+.
65353         * modules/float (License): Likewise
65354         * modules/realloc (License): Likewise
65355         * modules/stdlib (License): Likewise
65356
65357 2007-10-07  Bruno Haible  <bruno@clisp.org>
65358
65359         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65360         * floor.c (TWO_MANT_DIG): Likewise.
65361         * ceil.c (TWO_MANT_DIG): Likewise.
65362         Reported by Ben Pfaff.
65363
65364 2007-10-07  Bruno Haible  <bruno@clisp.org>
65365
65366         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65367         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65368         * lib/frexp.c (FUNC): Likewise.
65369         * lib/printf-frexp.h (printf_frexp): Likewise.
65370         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65371         * lib/printf-frexp.c (FUNC): Likewise.
65372         Suggested by Jim Meyering.
65373
65374 2007-10-07  Jim Meyering  <meyering@redhat.com>
65375
65376         Make xnanosleep's integer overflow test more robust.
65377         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65378         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65379
65380 2007-10-07  Bruno Haible  <bruno@clisp.org>
65381
65382         * NEWS: Mention the license change.
65383
65384         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65385         abbreviations in the modules files.
65386
65387         Change copyright notice from GPLv2+ to GPLv3+.
65388         * README: Change copyright notice.
65389         * MODULES.html.sh: Likewise.
65390         * build-aux/bootstrap.conf: Likewise.
65391         * build-aux/config.libpath: Likewise.
65392         * build-aux/csharpcomp.sh.in: Likewise.
65393         * build-aux/csharpexec.sh.in: Likewise.
65394         * build-aux/install-reloc: Likewise.
65395         * build-aux/javacomp.sh.in: Likewise.
65396         * build-aux/javaexec.sh.in: Likewise.
65397         * build-aux/ldd.sh.in: Likewise.
65398         * build-aux/reloc-ldflags: Likewise.
65399         * build-aux/relocatable.sh.in: Likewise.
65400         * build-aux/x-to-1.in: Likewise.
65401         * check-module: Likewise.
65402         * config/srclistvars.sh: Likewise.
65403         * gnulib-tool: Likewise.
65404         * lib/acl-internal.h: Likewise.
65405         * lib/acl.c: Likewise.
65406         * lib/acl.h: Likewise.
65407         * lib/acl_entries.c: Likewise.
65408         * lib/areadlink-with-size.c: Likewise.
65409         * lib/areadlink.c: Likewise.
65410         * lib/areadlink.h: Likewise.
65411         * lib/argmatch.c: Likewise.
65412         * lib/argmatch.h: Likewise.
65413         * lib/argp-ba.c: Likewise.
65414         * lib/argp-eexst.c: Likewise.
65415         * lib/argp-fmtstream.c: Likewise.
65416         * lib/argp-fmtstream.h: Likewise.
65417         * lib/argp-fs-xinl.c: Likewise.
65418         * lib/argp-help.c: Likewise.
65419         * lib/argp-namefrob.h: Likewise.
65420         * lib/argp-parse.c: Likewise.
65421         * lib/argp-pin.c: Likewise.
65422         * lib/argp-pv.c: Likewise.
65423         * lib/argp-pvh.c: Likewise.
65424         * lib/argp-xinl.c: Likewise.
65425         * lib/argp.h: Likewise.
65426         * lib/at-func.c: Likewise.
65427         * lib/atanl.c: Likewise.
65428         * lib/backupfile.c: Likewise.
65429         * lib/backupfile.h: Likewise.
65430         * lib/basename.c: Likewise.
65431         * lib/binary-io.h: Likewise.
65432         * lib/byteswap.in.h: Likewise.
65433         * lib/c-stack.c: Likewise.
65434         * lib/c-stack.h: Likewise.
65435         * lib/c-strcasestr.c: Likewise.
65436         * lib/c-strcasestr.h: Likewise.
65437         * lib/c-strstr.c: Likewise.
65438         * lib/c-strstr.h: Likewise.
65439         * lib/c-strtod.c: Likewise.
65440         * lib/calloc.c: Likewise.
65441         * lib/canon-host.c: Likewise.
65442         * lib/canon-host.h: Likewise.
65443         * lib/canonicalize-lgpl.c: Likewise.
65444         * lib/canonicalize.c: Likewise.
65445         * lib/canonicalize.h: Likewise.
65446         * lib/ceil.c: Likewise.
65447         * lib/ceilf.c: Likewise.
65448         * lib/ceill.c: Likewise.
65449         * lib/chdir-long.c: Likewise.
65450         * lib/chdir-long.h: Likewise.
65451         * lib/chdir-safer.c: Likewise.
65452         * lib/chdir-safer.h: Likewise.
65453         * lib/chown.c: Likewise.
65454         * lib/classpath.c: Likewise.
65455         * lib/classpath.h: Likewise.
65456         * lib/clean-temp.c: Likewise.
65457         * lib/clean-temp.h: Likewise.
65458         * lib/cloexec.c: Likewise.
65459         * lib/close-stream.c: Likewise.
65460         * lib/closein.c: Likewise.
65461         * lib/closein.h: Likewise.
65462         * lib/closeout.c: Likewise.
65463         * lib/closeout.h: Likewise.
65464         * lib/concat-filename.c: Likewise.
65465         * lib/copy-file.c: Likewise.
65466         * lib/copy-file.h: Likewise.
65467         * lib/count-one-bits.h: Likewise.
65468         * lib/crc.c: Likewise.
65469         * lib/crc.h: Likewise.
65470         * lib/creat-safer.c: Likewise.
65471         * lib/csharpcomp.c: Likewise.
65472         * lib/csharpcomp.h: Likewise.
65473         * lib/csharpexec.c: Likewise.
65474         * lib/csharpexec.h: Likewise.
65475         * lib/cycle-check.c: Likewise.
65476         * lib/cycle-check.h: Likewise.
65477         * lib/diacrit.c: Likewise.
65478         * lib/diacrit.h: Likewise.
65479         * lib/diffseq.h: Likewise.
65480         * lib/dirchownmod.c: Likewise.
65481         * lib/dirent.in.h: Likewise.
65482         * lib/dirfd.c: Likewise.
65483         * lib/dirfd.h: Likewise.
65484         * lib/dirname.c: Likewise.
65485         * lib/dirname.h: Likewise.
65486         * lib/dummy.c: Likewise.
65487         * lib/dup-safer.c: Likewise.
65488         * lib/dup2.c: Likewise.
65489         * lib/eealloc.h: Likewise.
65490         * lib/error.c: Likewise.
65491         * lib/error.h: Likewise.
65492         * lib/euidaccess.c: Likewise.
65493         * lib/exclude.c: Likewise.
65494         * lib/exclude.h: Likewise.
65495         * lib/execute.c: Likewise.
65496         * lib/execute.h: Likewise.
65497         * lib/exitfail.c: Likewise.
65498         * lib/exitfail.h: Likewise.
65499         * lib/expl.c: Likewise.
65500         * lib/fatal-signal.c: Likewise.
65501         * lib/fatal-signal.h: Likewise.
65502         * lib/fbufmode.c: Likewise.
65503         * lib/fbufmode.h: Likewise.
65504         * lib/fchdir.c: Likewise.
65505         * lib/fchmodat.c: Likewise.
65506         * lib/fchownat.c: Likewise.
65507         * lib/fcntl--.h: Likewise.
65508         * lib/fcntl-safer.h: Likewise.
65509         * lib/fcntl.in.h: Likewise.
65510         * lib/fd-safer.c: Likewise.
65511         * lib/fflush.c: Likewise.
65512         * lib/file-has-acl.c: Likewise.
65513         * lib/file-set.c: Likewise.
65514         * lib/file-type.c: Likewise.
65515         * lib/file-type.h: Likewise.
65516         * lib/fileblocks.c: Likewise.
65517         * lib/filemode.c: Likewise.
65518         * lib/filemode.h: Likewise.
65519         * lib/filename.h: Likewise.
65520         * lib/filenamecat.c: Likewise.
65521         * lib/filenamecat.h: Likewise.
65522         * lib/findprog.c: Likewise.
65523         * lib/findprog.h: Likewise.
65524         * lib/float.in.h: Likewise.
65525         * lib/floor.c: Likewise.
65526         * lib/floorf.c: Likewise.
65527         * lib/floorl.c: Likewise.
65528         * lib/fopen-safer.c: Likewise.
65529         * lib/fopen.c: Likewise.
65530         * lib/fpending.c: Likewise.
65531         * lib/fpending.h: Likewise.
65532         * lib/fprintf.c: Likewise.
65533         * lib/fprintftime.h: Likewise.
65534         * lib/fpucw.h: Likewise.
65535         * lib/fpurge.c: Likewise.
65536         * lib/fpurge.h: Likewise.
65537         * lib/freadable.c: Likewise.
65538         * lib/freadable.h: Likewise.
65539         * lib/freadahead.c: Likewise.
65540         * lib/freadahead.h: Likewise.
65541         * lib/freading.c: Likewise.
65542         * lib/freading.h: Likewise.
65543         * lib/free.c: Likewise.
65544         * lib/freopen.c: Likewise.
65545         * lib/frexp.c: Likewise.
65546         * lib/frexpl.c: Likewise.
65547         * lib/fseek.c: Likewise.
65548         * lib/fseterr.c: Likewise.
65549         * lib/fseterr.h: Likewise.
65550         * lib/fstatat.c: Likewise.
65551         * lib/fstrcmp.c: Likewise.
65552         * lib/fstrcmp.h: Likewise.
65553         * lib/fsusage.c: Likewise.
65554         * lib/fsusage.h: Likewise.
65555         * lib/ftell.c: Likewise.
65556         * lib/ftello.c: Likewise.
65557         * lib/fts-cycle.c: Likewise.
65558         * lib/fts.c: Likewise.
65559         * lib/fts_.h: Likewise.
65560         * lib/full-read.c: Likewise.
65561         * lib/full-read.h: Likewise.
65562         * lib/full-write.c: Likewise.
65563         * lib/full-write.h: Likewise.
65564         * lib/fwritable.c: Likewise.
65565         * lib/fwritable.h: Likewise.
65566         * lib/fwriteerror.c: Likewise.
65567         * lib/fwriteerror.h: Likewise.
65568         * lib/fwriting.c: Likewise.
65569         * lib/fwriting.h: Likewise.
65570         * lib/gcd.c: Likewise.
65571         * lib/gcd.h: Likewise.
65572         * lib/getcwd.c: Likewise.
65573         * lib/getdate.h: Likewise.
65574         * lib/getdate.y: Likewise.
65575         * lib/getdomainname.c: Likewise.
65576         * lib/getdomainname.h: Likewise.
65577         * lib/getgroups.c: Likewise.
65578         * lib/gethostname.c: Likewise.
65579         * lib/gethrxtime.c: Likewise.
65580         * lib/gethrxtime.h: Likewise.
65581         * lib/getloadavg.c: Likewise.
65582         * lib/getndelim2.c: Likewise.
65583         * lib/getndelim2.h: Likewise.
65584         * lib/getnline.c: Likewise.
65585         * lib/getnline.h: Likewise.
65586         * lib/getopt.c: Likewise.
65587         * lib/getopt.in.h: Likewise.
65588         * lib/getopt1.c: Likewise.
65589         * lib/getopt_int.h: Likewise.
65590         * lib/getpagesize.h: Likewise.
65591         * lib/getsubopt.c: Likewise.
65592         * lib/gettime.c: Likewise.
65593         * lib/getugroups.c: Likewise.
65594         * lib/getugroups.h: Likewise.
65595         * lib/getusershell.c: Likewise.
65596         * lib/gl_anyavltree_list1.h: Likewise.
65597         * lib/gl_anyavltree_list2.h: Likewise.
65598         * lib/gl_anyhash_list1.h: Likewise.
65599         * lib/gl_anyhash_list2.h: Likewise.
65600         * lib/gl_anylinked_list1.h: Likewise.
65601         * lib/gl_anylinked_list2.h: Likewise.
65602         * lib/gl_anyrbtree_list1.h: Likewise.
65603         * lib/gl_anyrbtree_list2.h: Likewise.
65604         * lib/gl_anytree_list1.h: Likewise.
65605         * lib/gl_anytree_list2.h: Likewise.
65606         * lib/gl_anytree_oset.h: Likewise.
65607         * lib/gl_anytreehash_list1.h: Likewise.
65608         * lib/gl_anytreehash_list2.h: Likewise.
65609         * lib/gl_array_list.c: Likewise.
65610         * lib/gl_array_list.h: Likewise.
65611         * lib/gl_array_oset.c: Likewise.
65612         * lib/gl_array_oset.h: Likewise.
65613         * lib/gl_avltree_list.c: Likewise.
65614         * lib/gl_avltree_list.h: Likewise.
65615         * lib/gl_avltree_oset.c: Likewise.
65616         * lib/gl_avltree_oset.h: Likewise.
65617         * lib/gl_avltreehash_list.c: Likewise.
65618         * lib/gl_avltreehash_list.h: Likewise.
65619         * lib/gl_carray_list.c: Likewise.
65620         * lib/gl_carray_list.h: Likewise.
65621         * lib/gl_linked_list.c: Likewise.
65622         * lib/gl_linked_list.h: Likewise.
65623         * lib/gl_linkedhash_list.c: Likewise.
65624         * lib/gl_linkedhash_list.h: Likewise.
65625         * lib/gl_list.c: Likewise.
65626         * lib/gl_list.h: Likewise.
65627         * lib/gl_oset.c: Likewise.
65628         * lib/gl_oset.h: Likewise.
65629         * lib/gl_rbtree_list.c: Likewise.
65630         * lib/gl_rbtree_list.h: Likewise.
65631         * lib/gl_rbtree_oset.c: Likewise.
65632         * lib/gl_rbtree_oset.h: Likewise.
65633         * lib/gl_rbtreehash_list.c: Likewise.
65634         * lib/gl_rbtreehash_list.h: Likewise.
65635         * lib/gl_sublist.c: Likewise.
65636         * lib/gl_sublist.h: Likewise.
65637         * lib/group-member.c: Likewise.
65638         * lib/group-member.h: Likewise.
65639         * lib/hard-locale.c: Likewise.
65640         * lib/hard-locale.h: Likewise.
65641         * lib/hash-pjw.c: Likewise.
65642         * lib/hash-pjw.h: Likewise.
65643         * lib/hash-triple.c: Likewise.
65644         * lib/hash.c: Likewise.
65645         * lib/hash.h: Likewise.
65646         * lib/human.c: Likewise.
65647         * lib/human.h: Likewise.
65648         * lib/i-ring.c: Likewise.
65649         * lib/i-ring.h: Likewise.
65650         * lib/idcache.c: Likewise.
65651         * lib/imaxabs.c: Likewise.
65652         * lib/imaxdiv.c: Likewise.
65653         * lib/inet_pton.c: Likewise.
65654         * lib/inet_pton.h: Likewise.
65655         * lib/intprops.h: Likewise.
65656         * lib/inttostr.c: Likewise.
65657         * lib/inttostr.h: Likewise.
65658         * lib/inttypes.in.h: Likewise.
65659         * lib/isapipe.c: Likewise.
65660         * lib/isdir.c: Likewise.
65661         * lib/isnan.c: Likewise.
65662         * lib/isnan.h: Likewise.
65663         * lib/isnanf.c: Likewise.
65664         * lib/isnanf.h: Likewise.
65665         * lib/isnanl-nolibm.h: Likewise.
65666         * lib/isnanl.c: Likewise.
65667         * lib/isnanl.h: Likewise.
65668         * lib/javacomp.c: Likewise.
65669         * lib/javacomp.h: Likewise.
65670         * lib/javaexec.c: Likewise.
65671         * lib/javaexec.h: Likewise.
65672         * lib/javaversion.c: Likewise.
65673         * lib/javaversion.h: Likewise.
65674         * lib/javaversion.java: Likewise.
65675         * lib/lbrkprop.h: Likewise.
65676         * lib/lchmod.h: Likewise.
65677         * lib/lchown.c: Likewise.
65678         * lib/ldexpl.c: Likewise.
65679         * lib/linebreak.c: Likewise.
65680         * lib/linebreak.h: Likewise.
65681         * lib/linebuffer.c: Likewise.
65682         * lib/linebuffer.h: Likewise.
65683         * lib/locale.in.h: Likewise.
65684         * lib/logl.c: Likewise.
65685         * lib/long-options.c: Likewise.
65686         * lib/long-options.h: Likewise.
65687         * lib/lstat.c: Likewise.
65688         * lib/lstat.h: Likewise.
65689         * lib/math.in.h: Likewise.
65690         * lib/mbchar.c: Likewise.
65691         * lib/mbchar.h: Likewise.
65692         * lib/mbfile.h: Likewise.
65693         * lib/mbiter.h: Likewise.
65694         * lib/mbscasecmp.c: Likewise.
65695         * lib/mbscasestr.c: Likewise.
65696         * lib/mbschr.c: Likewise.
65697         * lib/mbscspn.c: Likewise.
65698         * lib/mbslen.c: Likewise.
65699         * lib/mbsncasecmp.c: Likewise.
65700         * lib/mbsnlen.c: Likewise.
65701         * lib/mbspbrk.c: Likewise.
65702         * lib/mbspcasecmp.c: Likewise.
65703         * lib/mbsrchr.c: Likewise.
65704         * lib/mbssep.c: Likewise.
65705         * lib/mbsspn.c: Likewise.
65706         * lib/mbsstr.c: Likewise.
65707         * lib/mbstok_r.c: Likewise.
65708         * lib/mbswidth.c: Likewise.
65709         * lib/mbswidth.h: Likewise.
65710         * lib/mbuiter.h: Likewise.
65711         * lib/memcasecmp.c: Likewise.
65712         * lib/memcasecmp.h: Likewise.
65713         * lib/memchr.c: Likewise.
65714         * lib/memcmp.c: Likewise.
65715         * lib/memcoll.c: Likewise.
65716         * lib/memcoll.h: Likewise.
65717         * lib/memcpy.c: Likewise.
65718         * lib/memrchr.c: Likewise.
65719         * lib/mkancesdirs.c: Likewise.
65720         * lib/mkdir-p.c: Likewise.
65721         * lib/mkdir-p.h: Likewise.
65722         * lib/mkdir.c: Likewise.
65723         * lib/mkdirat.c: Likewise.
65724         * lib/mkdtemp.c: Likewise.
65725         * lib/mkstemp-safer.c: Likewise.
65726         * lib/mkstemp.c: Likewise.
65727         * lib/modechange.c: Likewise.
65728         * lib/modechange.h: Likewise.
65729         * lib/mountlist.c: Likewise.
65730         * lib/mountlist.h: Likewise.
65731         * lib/mpsort.c: Likewise.
65732         * lib/nanosleep.c: Likewise.
65733         * lib/obstack.c: Likewise.
65734         * lib/obstack.h: Likewise.
65735         * lib/open-safer.c: Likewise.
65736         * lib/open.c: Likewise.
65737         * lib/openat-die.c: Likewise.
65738         * lib/openat-priv.h: Likewise.
65739         * lib/openat-proc.c: Likewise.
65740         * lib/openat.c: Likewise.
65741         * lib/openat.h: Likewise.
65742         * lib/pagealign_alloc.c: Likewise.
65743         * lib/pagealign_alloc.h: Likewise.
65744         * lib/physmem.c: Likewise.
65745         * lib/physmem.h: Likewise.
65746         * lib/pipe-safer.c: Likewise.
65747         * lib/pipe.c: Likewise.
65748         * lib/pipe.h: Likewise.
65749         * lib/posixtm.c: Likewise.
65750         * lib/posixtm.h: Likewise.
65751         * lib/posixver.c: Likewise.
65752         * lib/printf-frexp.c: Likewise.
65753         * lib/printf-frexp.h: Likewise.
65754         * lib/printf-frexpl.c: Likewise.
65755         * lib/printf-frexpl.h: Likewise.
65756         * lib/printf.c: Likewise.
65757         * lib/progname.c: Likewise.
65758         * lib/progname.h: Likewise.
65759         * lib/progreloc.c: Likewise.
65760         * lib/putenv.c: Likewise.
65761         * lib/quote.c: Likewise.
65762         * lib/quote.h: Likewise.
65763         * lib/quotearg.c: Likewise.
65764         * lib/quotearg.h: Likewise.
65765         * lib/raise.c: Likewise.
65766         * lib/readline.c: Likewise.
65767         * lib/readline.h: Likewise.
65768         * lib/readlink.c: Likewise.
65769         * lib/readtokens.c: Likewise.
65770         * lib/readtokens.h: Likewise.
65771         * lib/readtokens0.c: Likewise.
65772         * lib/readtokens0.h: Likewise.
65773         * lib/readutmp.c: Likewise.
65774         * lib/readutmp.h: Likewise.
65775         * lib/realloc.c: Likewise.
65776         * lib/relocwrapper.c: Likewise.
65777         * lib/rename-dest-slash.c: Likewise.
65778         * lib/rename.c: Likewise.
65779         * lib/rmdir.c: Likewise.
65780         * lib/rpmatch.c: Likewise.
65781         * lib/safe-read.c: Likewise.
65782         * lib/safe-read.h: Likewise.
65783         * lib/safe-write.c: Likewise.
65784         * lib/safe-write.h: Likewise.
65785         * lib/same-inode.h: Likewise.
65786         * lib/same.c: Likewise.
65787         * lib/same.h: Likewise.
65788         * lib/save-cwd.c: Likewise.
65789         * lib/save-cwd.h: Likewise.
65790         * lib/savedir.c: Likewise.
65791         * lib/savedir.h: Likewise.
65792         * lib/savewd.c: Likewise.
65793         * lib/savewd.h: Likewise.
65794         * lib/search.in.h: Likewise.
65795         * lib/setenv.c: Likewise.
65796         * lib/setenv.h: Likewise.
65797         * lib/settime.c: Likewise.
65798         * lib/sh-quote.c: Likewise.
65799         * lib/sh-quote.h: Likewise.
65800         * lib/sig2str.c: Likewise.
65801         * lib/sig2str.h: Likewise.
65802         * lib/signal.in.h: Likewise.
65803         * lib/signbitd.c: Likewise.
65804         * lib/signbitf.c: Likewise.
65805         * lib/signbitl.c: Likewise.
65806         * lib/sigprocmask.c: Likewise.
65807         * lib/sincosl.c: Likewise.
65808         * lib/sleep.c: Likewise.
65809         * lib/sprintf.c: Likewise.
65810         * lib/sqrtl.c: Likewise.
65811         * lib/stat-time.h: Likewise.
65812         * lib/stdio--.h: Likewise.
65813         * lib/stdio-safer.h: Likewise.
65814         * lib/stdlib--.h: Likewise.
65815         * lib/stdlib-safer.h: Likewise.
65816         * lib/stdlib.in.h: Likewise.
65817         * lib/stpcpy.c: Likewise.
65818         * lib/stpncpy.c: Likewise.
65819         * lib/strchrnul.c: Likewise.
65820         * lib/strcspn.c: Likewise.
65821         * lib/strerror.c: Likewise.
65822         * lib/strftime.c: Likewise.
65823         * lib/strftime.h: Likewise.
65824         * lib/striconveh.c: Likewise.
65825         * lib/striconveh.h: Likewise.
65826         * lib/striconveha.c: Likewise.
65827         * lib/striconveha.h: Likewise.
65828         * lib/stripslash.c: Likewise.
65829         * lib/strnlen1.c: Likewise.
65830         * lib/strnlen1.h: Likewise.
65831         * lib/strtod.c: Likewise.
65832         * lib/strtoimax.c: Likewise.
65833         * lib/strtok_r.c: Likewise.
65834         * lib/strtol.c: Likewise.
65835         * lib/strtoll.c: Likewise.
65836         * lib/strtoul.c: Likewise.
65837         * lib/strtoull.c: Likewise.
65838         * lib/sysexits.in.h: Likewise.
65839         * lib/tempname.c: Likewise.
65840         * lib/tempname.h: Likewise.
65841         * lib/timespec.h: Likewise.
65842         * lib/tls.c: Likewise.
65843         * lib/tls.h: Likewise.
65844         * lib/tmpdir.c: Likewise.
65845         * lib/tmpdir.h: Likewise.
65846         * lib/tmpfile-safer.c: Likewise.
65847         * lib/tmpfile.c: Likewise.
65848         * lib/trigl.c: Likewise.
65849         * lib/trigl.h: Likewise.
65850         * lib/trim.c: Likewise.
65851         * lib/trim.h: Likewise.
65852         * lib/trunc.c: Likewise.
65853         * lib/truncf.c: Likewise.
65854         * lib/truncl.c: Likewise.
65855         * lib/tsearch.c: Likewise.
65856         * lib/unicodeio.c: Likewise.
65857         * lib/unicodeio.h: Likewise.
65858         * lib/unistd--.h: Likewise.
65859         * lib/unistd-safer.h: Likewise.
65860         * lib/unistdio/ulc-fprintf.c: Likewise.
65861         * lib/unistdio/ulc-vfprintf.c: Likewise.
65862         * lib/unlinkdir.c: Likewise.
65863         * lib/unlinkdir.h: Likewise.
65864         * lib/unlocked-io.h: Likewise.
65865         * lib/unsetenv.c: Likewise.
65866         * lib/userspec.c: Likewise.
65867         * lib/utime.c: Likewise.
65868         * lib/utimecmp.c: Likewise.
65869         * lib/utimecmp.h: Likewise.
65870         * lib/utimens.c: Likewise.
65871         * lib/verify.h: Likewise.
65872         * lib/verror.c: Likewise.
65873         * lib/verror.h: Likewise.
65874         * lib/version-etc-fsf.c: Likewise.
65875         * lib/version-etc.c: Likewise.
65876         * lib/version-etc.h: Likewise.
65877         * lib/vfprintf.c: Likewise.
65878         * lib/vprintf.c: Likewise.
65879         * lib/vsprintf.c: Likewise.
65880         * lib/w32spawn.h: Likewise.
65881         * lib/wait-process.c: Likewise.
65882         * lib/wait-process.h: Likewise.
65883         * lib/wcwidth.c: Likewise.
65884         * lib/write-any-file.c: Likewise.
65885         * lib/xalloc-die.c: Likewise.
65886         * lib/xalloc.h: Likewise.
65887         * lib/xasprintf.c: Likewise.
65888         * lib/xgetcwd.c: Likewise.
65889         * lib/xgetcwd.h: Likewise.
65890         * lib/xgetdomainname.c: Likewise.
65891         * lib/xgetdomainname.h: Likewise.
65892         * lib/xgethostname.c: Likewise.
65893         * lib/xmalloc.c: Likewise.
65894         * lib/xmalloca.c: Likewise.
65895         * lib/xmalloca.h: Likewise.
65896         * lib/xmemcoll.c: Likewise.
65897         * lib/xnanosleep.c: Likewise.
65898         * lib/xreadlink.c: Likewise.
65899         * lib/xreadlink.h: Likewise.
65900         * lib/xsetenv.c: Likewise.
65901         * lib/xsetenv.h: Likewise.
65902         * lib/xstriconv.c: Likewise.
65903         * lib/xstriconv.h: Likewise.
65904         * lib/xstrndup.c: Likewise.
65905         * lib/xstrndup.h: Likewise.
65906         * lib/xstrtod.c: Likewise.
65907         * lib/xstrtod.h: Likewise.
65908         * lib/xstrtol-error.c: Likewise.
65909         * lib/xstrtol.c: Likewise.
65910         * lib/xstrtol.h: Likewise.
65911         * lib/xtime.h: Likewise.
65912         * lib/xvasprintf.c: Likewise.
65913         * lib/xvasprintf.h: Likewise.
65914         * lib/yesno.c: Likewise.
65915         * lib/yesno.h: Likewise.
65916         * posix-modules: Likewise.
65917         * tests/test-alloca-opt.c: Likewise.
65918         * tests/test-arcfour.c: Likewise.
65919         * tests/test-arctwo.c: Likewise.
65920         * tests/test-argmatch.c: Likewise.
65921         * tests/test-argp-2.sh: Likewise.
65922         * tests/test-argp.c: Likewise.
65923         * tests/test-arpa_inet.c: Likewise.
65924         * tests/test-array_list.c: Likewise.
65925         * tests/test-array_oset.c: Likewise.
65926         * tests/test-atexit.c: Likewise.
65927         * tests/test-avltree_list.c: Likewise.
65928         * tests/test-avltree_oset.c: Likewise.
65929         * tests/test-avltreehash_list.c: Likewise.
65930         * tests/test-base64.c: Likewise.
65931         * tests/test-binary-io.c: Likewise.
65932         * tests/test-byteswap.c: Likewise.
65933         * tests/test-c-ctype.c: Likewise.
65934         * tests/test-c-strcasecmp.c: Likewise.
65935         * tests/test-c-strcasestr.c: Likewise.
65936         * tests/test-c-strncasecmp.c: Likewise.
65937         * tests/test-c-strstr.c: Likewise.
65938         * tests/test-canonicalize-lgpl.c: Likewise.
65939         * tests/test-canonicalize.c: Likewise.
65940         * tests/test-carray_list.c: Likewise.
65941         * tests/test-ceilf.c: Likewise.
65942         * tests/test-ceill.c: Likewise.
65943         * tests/test-count-one-bits.c: Likewise.
65944         * tests/test-crc.c: Likewise.
65945         * tests/test-dirname.c: Likewise.
65946         * tests/test-fbufmode.c: Likewise.
65947         * tests/test-fcntl.c: Likewise.
65948         * tests/test-fflush.c: Likewise.
65949         * tests/test-floorf.c: Likewise.
65950         * tests/test-floorl.c: Likewise.
65951         * tests/test-fopen.c: Likewise.
65952         * tests/test-fprintf-posix.c: Likewise.
65953         * tests/test-fprintf-posix.h: Likewise.
65954         * tests/test-fpurge.c: Likewise.
65955         * tests/test-freadable.c: Likewise.
65956         * tests/test-freadahead.c: Likewise.
65957         * tests/test-freading.c: Likewise.
65958         * tests/test-freopen.c: Likewise.
65959         * tests/test-frexp.c: Likewise.
65960         * tests/test-frexpl.c: Likewise.
65961         * tests/test-fseek.c: Likewise.
65962         * tests/test-fseeko.c: Likewise.
65963         * tests/test-fseterr.c: Likewise.
65964         * tests/test-fstrcmp.c: Likewise.
65965         * tests/test-ftell.c: Likewise.
65966         * tests/test-ftello.c: Likewise.
65967         * tests/test-fwritable.c: Likewise.
65968         * tests/test-fwriting.c: Likewise.
65969         * tests/test-getaddrinfo.c: Likewise.
65970         * tests/test-getpass.c: Likewise.
65971         * tests/test-gettimeofday.c: Likewise.
65972         * tests/test-hmac-md5.c: Likewise.
65973         * tests/test-hmac-sha1.c: Likewise.
65974         * tests/test-iconv.c: Likewise.
65975         * tests/test-iconvme.c: Likewise.
65976         * tests/test-inttypes.c: Likewise.
65977         * tests/test-isnan.c: Likewise.
65978         * tests/test-isnanf.c: Likewise.
65979         * tests/test-isnanl-nolibm.c: Likewise.
65980         * tests/test-isnanl.c: Likewise.
65981         * tests/test-isnanl.h: Likewise.
65982         * tests/test-ldexpl.c: Likewise.
65983         * tests/test-linked_list.c: Likewise.
65984         * tests/test-linkedhash_list.c: Likewise.
65985         * tests/test-locale.c: Likewise.
65986         * tests/test-localename.c: Likewise.
65987         * tests/test-lock.c: Likewise.
65988         * tests/test-lseek.c: Likewise.
65989         * tests/test-malloca.c: Likewise.
65990         * tests/test-math.c: Likewise.
65991         * tests/test-mbscasecmp.c: Likewise.
65992         * tests/test-mbscasestr1.c: Likewise.
65993         * tests/test-mbscasestr2.c: Likewise.
65994         * tests/test-mbscasestr3.c: Likewise.
65995         * tests/test-mbscasestr4.c: Likewise.
65996         * tests/test-mbschr.c: Likewise.
65997         * tests/test-mbscspn.c: Likewise.
65998         * tests/test-mbsncasecmp.c: Likewise.
65999         * tests/test-mbspbrk.c: Likewise.
66000         * tests/test-mbspcasecmp.c: Likewise.
66001         * tests/test-mbsrchr.c: Likewise.
66002         * tests/test-mbsspn.c: Likewise.
66003         * tests/test-mbsstr1.c: Likewise.
66004         * tests/test-mbsstr2.c: Likewise.
66005         * tests/test-mbsstr3.c: Likewise.
66006         * tests/test-md5.c: Likewise.
66007         * tests/test-memmem.c: Likewise.
66008         * tests/test-netinet_in.c: Likewise.
66009         * tests/test-open.c: Likewise.
66010         * tests/test-printf-frexp.c: Likewise.
66011         * tests/test-printf-frexpl.c: Likewise.
66012         * tests/test-printf-posix.c: Likewise.
66013         * tests/test-printf-posix.h: Likewise.
66014         * tests/test-rbtree_list.c: Likewise.
66015         * tests/test-rbtree_oset.c: Likewise.
66016         * tests/test-rbtreehash_list.c: Likewise.
66017         * tests/test-read-file.c: Likewise.
66018         * tests/test-rijndael.c: Likewise.
66019         * tests/test-search.c: Likewise.
66020         * tests/test-signbit.c: Likewise.
66021         * tests/test-sleep.c: Likewise.
66022         * tests/test-snprintf-posix.c: Likewise.
66023         * tests/test-snprintf-posix.h: Likewise.
66024         * tests/test-snprintf.c: Likewise.
66025         * tests/test-sprintf-posix.c: Likewise.
66026         * tests/test-sprintf-posix.h: Likewise.
66027         * tests/test-stat-time.c: Likewise.
66028         * tests/test-stdbool.c: Likewise.
66029         * tests/test-stdint.c: Likewise.
66030         * tests/test-stdio.c: Likewise.
66031         * tests/test-stdlib.c: Likewise.
66032         * tests/test-stpncpy.c: Likewise.
66033         * tests/test-strcasestr.c: Likewise.
66034         * tests/test-striconv.c: Likewise.
66035         * tests/test-striconveh.c: Likewise.
66036         * tests/test-striconveha.c: Likewise.
66037         * tests/test-string.c: Likewise.
66038         * tests/test-sys_select.c: Likewise.
66039         * tests/test-sys_socket.c: Likewise.
66040         * tests/test-sys_stat.c: Likewise.
66041         * tests/test-sys_time.c: Likewise.
66042         * tests/test-sysexits.c: Likewise.
66043         * tests/test-time.c: Likewise.
66044         * tests/test-tls.c: Likewise.
66045         * tests/test-trunc.c: Likewise.
66046         * tests/test-truncf.c: Likewise.
66047         * tests/test-truncl.c: Likewise.
66048         * tests/test-unistd.c: Likewise.
66049         * tests/test-vasnprintf-posix.c: Likewise.
66050         * tests/test-vasnprintf-posix2.c: Likewise.
66051         * tests/test-vasnprintf.c: Likewise.
66052         * tests/test-vasprintf-posix.c: Likewise.
66053         * tests/test-vasprintf.c: Likewise.
66054         * tests/test-verify.c: Likewise.
66055         * tests/test-vfprintf-posix.c: Likewise.
66056         * tests/test-vprintf-posix.c: Likewise.
66057         * tests/test-vsnprintf-posix.c: Likewise.
66058         * tests/test-vsnprintf.c: Likewise.
66059         * tests/test-vsprintf-posix.c: Likewise.
66060         * tests/test-wchar.c: Likewise.
66061         * tests/test-wctype.c: Likewise.
66062         * tests/test-wcwidth.c: Likewise.
66063         * tests/test-xstrtol.c: Likewise.
66064         * tests/test-xvasprintf.c: Likewise.
66065         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66066         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66067         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66068         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66069         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66070         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66071         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66072         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66073         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66074         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66075         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66076         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66077         * tests/uniname/test-uninames.c: Likewise.
66078         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
66079         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
66080         * tests/unistdio/test-u16-printf1.h: Likewise.
66081         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
66082         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66083         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66084         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66085         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66086         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66087         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66088         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66089         * tests/unistdio/test-u32-printf1.h: Likewise.
66090         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66091         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66092         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66093         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66094         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66095         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66096         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66097         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66098         * tests/unistdio/test-u8-printf1.h: Likewise.
66099         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66100         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66101         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66102         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66103         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66104         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66105         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66106         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66107         * tests/unistdio/test-ulc-printf1.h: Likewise.
66108         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66109         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66110         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66111         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66112         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66113         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66114         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66115         * tests/uniwidth/test-u16-width.c: Likewise.
66116         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66117         * tests/uniwidth/test-u32-width.c: Likewise.
66118         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66119         * tests/uniwidth/test-u8-width.c: Likewise.
66120         * tests/uniwidth/test-uc_width.c: Likewise.
66121         * config/srclist-update: Likewise.
66122         (fixlicense): Update to GPLv3+.
66123
66124         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66125         * tests/test-tsearch.c: Change copyright notice.
66126
66127         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66128         * lib/c-strcaseeq.h: Change copyright notice.
66129         * lib/streq.h: Likewise.
66130         * lib/uniconv.h: Likewise.
66131         * lib/uniconv/u-conv-from-enc.h: Likewise.
66132         * lib/uniconv/u-conv-to-enc.h: Likewise.
66133         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66134         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66135         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66136         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66137         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66138         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66139         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66140         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66141         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66142         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66143         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66144         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66145         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66146         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66147         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66148         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66149         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66150         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66151         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66152         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66153         * lib/uniname.h: Likewise.
66154         * lib/uniname/uniname.c: Likewise.
66155         * lib/unistdio.h: Likewise.
66156         * lib/unistdio/u-asnprintf.h: Likewise.
66157         * lib/unistdio/u-asprintf.h: Likewise.
66158         * lib/unistdio/u-printf-args.c: Likewise.
66159         * lib/unistdio/u-printf-args.h: Likewise.
66160         * lib/unistdio/u-printf-parse.h: Likewise.
66161         * lib/unistdio/u-snprintf.h: Likewise.
66162         * lib/unistdio/u-sprintf.h: Likewise.
66163         * lib/unistdio/u-vasprintf.h: Likewise.
66164         * lib/unistdio/u-vsnprintf.h: Likewise.
66165         * lib/unistdio/u-vsprintf.h: Likewise.
66166         * lib/unistdio/u16-asnprintf.c: Likewise.
66167         * lib/unistdio/u16-asprintf.c: Likewise.
66168         * lib/unistdio/u16-printf-parse.c: Likewise.
66169         * lib/unistdio/u16-snprintf.c: Likewise.
66170         * lib/unistdio/u16-sprintf.c: Likewise.
66171         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66172         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66173         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66174         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66175         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66176         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66177         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66178         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66179         * lib/unistdio/u16-vasnprintf.c: Likewise.
66180         * lib/unistdio/u16-vasprintf.c: Likewise.
66181         * lib/unistdio/u16-vsnprintf.c: Likewise.
66182         * lib/unistdio/u16-vsprintf.c: Likewise.
66183         * lib/unistdio/u32-asnprintf.c: Likewise.
66184         * lib/unistdio/u32-asprintf.c: Likewise.
66185         * lib/unistdio/u32-printf-parse.c: Likewise.
66186         * lib/unistdio/u32-snprintf.c: Likewise.
66187         * lib/unistdio/u32-sprintf.c: Likewise.
66188         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66189         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66190         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66191         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66192         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66193         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66194         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66195         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66196         * lib/unistdio/u32-vasnprintf.c: Likewise.
66197         * lib/unistdio/u32-vasprintf.c: Likewise.
66198         * lib/unistdio/u32-vsnprintf.c: Likewise.
66199         * lib/unistdio/u32-vsprintf.c: Likewise.
66200         * lib/unistdio/u8-asnprintf.c: Likewise.
66201         * lib/unistdio/u8-asprintf.c: Likewise.
66202         * lib/unistdio/u8-printf-parse.c: Likewise.
66203         * lib/unistdio/u8-snprintf.c: Likewise.
66204         * lib/unistdio/u8-sprintf.c: Likewise.
66205         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66206         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66207         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66208         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66209         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66210         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66211         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66212         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66213         * lib/unistdio/u8-vasnprintf.c: Likewise.
66214         * lib/unistdio/u8-vasprintf.c: Likewise.
66215         * lib/unistdio/u8-vsnprintf.c: Likewise.
66216         * lib/unistdio/u8-vsprintf.c: Likewise.
66217         * lib/unistdio/ulc-asnprintf.c: Likewise.
66218         * lib/unistdio/ulc-asprintf.c: Likewise.
66219         * lib/unistdio/ulc-printf-parse.c: Likewise.
66220         * lib/unistdio/ulc-snprintf.c: Likewise.
66221         * lib/unistdio/ulc-sprintf.c: Likewise.
66222         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66223         * lib/unistdio/ulc-vasprintf.c: Likewise.
66224         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66225         * lib/unistdio/ulc-vsprintf.c: Likewise.
66226         * lib/unistr.h: Likewise.
66227         * lib/unistr/u-cpy-alloc.h: Likewise.
66228         * lib/unistr/u-cpy.h: Likewise.
66229         * lib/unistr/u-endswith.h: Likewise.
66230         * lib/unistr/u-move.h: Likewise.
66231         * lib/unistr/u-set.h: Likewise.
66232         * lib/unistr/u-startswith.h: Likewise.
66233         * lib/unistr/u-stpcpy.h: Likewise.
66234         * lib/unistr/u-stpncpy.h: Likewise.
66235         * lib/unistr/u-strcat.h: Likewise.
66236         * lib/unistr/u-strcpy.h: Likewise.
66237         * lib/unistr/u-strcspn.h: Likewise.
66238         * lib/unistr/u-strdup.h: Likewise.
66239         * lib/unistr/u-strlen.h: Likewise.
66240         * lib/unistr/u-strncat.h: Likewise.
66241         * lib/unistr/u-strncpy.h: Likewise.
66242         * lib/unistr/u-strnlen.h: Likewise.
66243         * lib/unistr/u-strpbrk.h: Likewise.
66244         * lib/unistr/u-strspn.h: Likewise.
66245         * lib/unistr/u-strstr.h: Likewise.
66246         * lib/unistr/u-strtok.h: Likewise.
66247         * lib/unistr/u16-check.c: Likewise.
66248         * lib/unistr/u16-chr.c: Likewise.
66249         * lib/unistr/u16-cmp.c: Likewise.
66250         * lib/unistr/u16-cpy-alloc.c: Likewise.
66251         * lib/unistr/u16-cpy.c: Likewise.
66252         * lib/unistr/u16-endswith.c: Likewise.
66253         * lib/unistr/u16-mblen.c: Likewise.
66254         * lib/unistr/u16-mbsnlen.c: Likewise.
66255         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66256         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66257         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66258         * lib/unistr/u16-mbtouc.c: Likewise.
66259         * lib/unistr/u16-mbtoucr.c: Likewise.
66260         * lib/unistr/u16-move.c: Likewise.
66261         * lib/unistr/u16-next.c: Likewise.
66262         * lib/unistr/u16-prev.c: Likewise.
66263         * lib/unistr/u16-set.c: Likewise.
66264         * lib/unistr/u16-startswith.c: Likewise.
66265         * lib/unistr/u16-stpcpy.c: Likewise.
66266         * lib/unistr/u16-stpncpy.c: Likewise.
66267         * lib/unistr/u16-strcat.c: Likewise.
66268         * lib/unistr/u16-strchr.c: Likewise.
66269         * lib/unistr/u16-strcmp.c: Likewise.
66270         * lib/unistr/u16-strcpy.c: Likewise.
66271         * lib/unistr/u16-strcspn.c: Likewise.
66272         * lib/unistr/u16-strdup.c: Likewise.
66273         * lib/unistr/u16-strlen.c: Likewise.
66274         * lib/unistr/u16-strmblen.c: Likewise.
66275         * lib/unistr/u16-strmbtouc.c: Likewise.
66276         * lib/unistr/u16-strncat.c: Likewise.
66277         * lib/unistr/u16-strncmp.c: Likewise.
66278         * lib/unistr/u16-strncpy.c: Likewise.
66279         * lib/unistr/u16-strnlen.c: Likewise.
66280         * lib/unistr/u16-strpbrk.c: Likewise.
66281         * lib/unistr/u16-strrchr.c: Likewise.
66282         * lib/unistr/u16-strspn.c: Likewise.
66283         * lib/unistr/u16-strstr.c: Likewise.
66284         * lib/unistr/u16-strtok.c: Likewise.
66285         * lib/unistr/u16-to-u32.c: Likewise.
66286         * lib/unistr/u16-to-u8.c: Likewise.
66287         * lib/unistr/u16-uctomb-aux.c: Likewise.
66288         * lib/unistr/u16-uctomb.c: Likewise.
66289         * lib/unistr/u32-check.c: Likewise.
66290         * lib/unistr/u32-chr.c: Likewise.
66291         * lib/unistr/u32-cmp.c: Likewise.
66292         * lib/unistr/u32-cpy-alloc.c: Likewise.
66293         * lib/unistr/u32-cpy.c: Likewise.
66294         * lib/unistr/u32-endswith.c: Likewise.
66295         * lib/unistr/u32-mblen.c: Likewise.
66296         * lib/unistr/u32-mbsnlen.c: Likewise.
66297         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66298         * lib/unistr/u32-mbtouc.c: Likewise.
66299         * lib/unistr/u32-mbtoucr.c: Likewise.
66300         * lib/unistr/u32-move.c: Likewise.
66301         * lib/unistr/u32-next.c: Likewise.
66302         * lib/unistr/u32-prev.c: Likewise.
66303         * lib/unistr/u32-set.c: Likewise.
66304         * lib/unistr/u32-startswith.c: Likewise.
66305         * lib/unistr/u32-stpcpy.c: Likewise.
66306         * lib/unistr/u32-stpncpy.c: Likewise.
66307         * lib/unistr/u32-strcat.c: Likewise.
66308         * lib/unistr/u32-strchr.c: Likewise.
66309         * lib/unistr/u32-strcmp.c: Likewise.
66310         * lib/unistr/u32-strcpy.c: Likewise.
66311         * lib/unistr/u32-strcspn.c: Likewise.
66312         * lib/unistr/u32-strdup.c: Likewise.
66313         * lib/unistr/u32-strlen.c: Likewise.
66314         * lib/unistr/u32-strmblen.c: Likewise.
66315         * lib/unistr/u32-strmbtouc.c: Likewise.
66316         * lib/unistr/u32-strncat.c: Likewise.
66317         * lib/unistr/u32-strncmp.c: Likewise.
66318         * lib/unistr/u32-strncpy.c: Likewise.
66319         * lib/unistr/u32-strnlen.c: Likewise.
66320         * lib/unistr/u32-strpbrk.c: Likewise.
66321         * lib/unistr/u32-strrchr.c: Likewise.
66322         * lib/unistr/u32-strspn.c: Likewise.
66323         * lib/unistr/u32-strstr.c: Likewise.
66324         * lib/unistr/u32-strtok.c: Likewise.
66325         * lib/unistr/u32-to-u16.c: Likewise.
66326         * lib/unistr/u32-to-u8.c: Likewise.
66327         * lib/unistr/u32-uctomb.c: Likewise.
66328         * lib/unistr/u8-check.c: Likewise.
66329         * lib/unistr/u8-chr.c: Likewise.
66330         * lib/unistr/u8-cmp.c: Likewise.
66331         * lib/unistr/u8-cpy-alloc.c: Likewise.
66332         * lib/unistr/u8-cpy.c: Likewise.
66333         * lib/unistr/u8-endswith.c: Likewise.
66334         * lib/unistr/u8-mblen.c: Likewise.
66335         * lib/unistr/u8-mbsnlen.c: Likewise.
66336         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66337         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66338         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66339         * lib/unistr/u8-mbtouc.c: Likewise.
66340         * lib/unistr/u8-mbtoucr.c: Likewise.
66341         * lib/unistr/u8-move.c: Likewise.
66342         * lib/unistr/u8-next.c: Likewise.
66343         * lib/unistr/u8-prev.c: Likewise.
66344         * lib/unistr/u8-set.c: Likewise.
66345         * lib/unistr/u8-startswith.c: Likewise.
66346         * lib/unistr/u8-stpcpy.c: Likewise.
66347         * lib/unistr/u8-stpncpy.c: Likewise.
66348         * lib/unistr/u8-strcat.c: Likewise.
66349         * lib/unistr/u8-strchr.c: Likewise.
66350         * lib/unistr/u8-strcmp.c: Likewise.
66351         * lib/unistr/u8-strcpy.c: Likewise.
66352         * lib/unistr/u8-strcspn.c: Likewise.
66353         * lib/unistr/u8-strdup.c: Likewise.
66354         * lib/unistr/u8-strlen.c: Likewise.
66355         * lib/unistr/u8-strmblen.c: Likewise.
66356         * lib/unistr/u8-strmbtouc.c: Likewise.
66357         * lib/unistr/u8-strncat.c: Likewise.
66358         * lib/unistr/u8-strncmp.c: Likewise.
66359         * lib/unistr/u8-strncpy.c: Likewise.
66360         * lib/unistr/u8-strnlen.c: Likewise.
66361         * lib/unistr/u8-strpbrk.c: Likewise.
66362         * lib/unistr/u8-strrchr.c: Likewise.
66363         * lib/unistr/u8-strspn.c: Likewise.
66364         * lib/unistr/u8-strstr.c: Likewise.
66365         * lib/unistr/u8-strtok.c: Likewise.
66366         * lib/unistr/u8-to-u16.c: Likewise.
66367         * lib/unistr/u8-to-u32.c: Likewise.
66368         * lib/unistr/u8-uctomb-aux.c: Likewise.
66369         * lib/unistr/u8-uctomb.c: Likewise.
66370         * lib/unitypes.h: Likewise.
66371         * lib/uniwidth.h: Likewise.
66372         * lib/uniwidth/cjk.h: Likewise.
66373         * lib/uniwidth/u16-strwidth.c: Likewise.
66374         * lib/uniwidth/u16-width.c: Likewise.
66375         * lib/uniwidth/u32-strwidth.c: Likewise.
66376         * lib/uniwidth/u32-width.c: Likewise.
66377         * lib/uniwidth/u8-strwidth.c: Likewise.
66378         * lib/uniwidth/u8-width.c: Likewise.
66379         * lib/uniwidth/width.c: Likewise.
66380
66381 2007-10-07  Bruno Haible  <bruno@clisp.org>
66382
66383         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66384         The file is still under LGPL (see modules/inttypes).
66385
66386 2007-10-06  Bruno Haible  <bruno@clisp.org>
66387
66388         * modules/trunc (Dependencies): Add 'extensions'.
66389         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66390         Reported by Ben Pfaff <blp@gnu.org>.
66391
66392 2007-10-06  Bruno Haible  <bruno@clisp.org>
66393
66394         * modules/freopen-tests: New file.
66395         * tests/test-freopen.c: New file.
66396
66397         * modules/fopen-tests: New file.
66398         * tests/test-fopen.c: New file.
66399
66400         * modules/fopen: New file.
66401         * lib/fopen.c: New file.
66402         * m4/fopen.m4: New file.
66403         * modules/freopen: New file.
66404         * lib/freopen.c: New file.
66405         * m4/freopen.m4: New file.
66406         * lib/stdio.in.h (fopen, freopen): New declarations.
66407         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66408         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66409         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66410         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66411         * doc/functions/fopen.texi: Mention the 'fopen' module.
66412         * doc/functions/freopen.texi: Mention the 'freopen' module.
66413
66414 2007-10-06  Bruno Haible  <bruno@clisp.org>
66415
66416         * modules/open-tests: New file.
66417         * tests/test-open.c: New file.
66418
66419         * modules/open: New file.
66420         * lib/open.c: New file.
66421         * m4/open.m4: New file.
66422         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66423         lib/open.c does.
66424         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66425         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66426         macros.
66427         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66428         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66429         REPLACE_OPEN.
66430         * doc/functions/open.texi: Mention the 'open' module.
66431
66432 2007-10-04  Bruno Haible  <bruno@clisp.org>
66433
66434         * modules/ceill-tests: New file.
66435         * tests/test-ceill.c: New file.
66436
66437         * modules/ceill: New file.
66438         * lib/ceill.c: Replace entire file.
66439         * m4/ceill.m4: New file.
66440         * lib/math.in.h (ceill): Replace declaration.
66441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66442         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66443         * doc/functions/ceill.texi: Mention the 'ceill' module.
66444         * modules/mathl (Files): Remove lib/ceill.c.
66445         (Depends-on): Add ceill.
66446
66447 2007-10-04  Bruno Haible  <bruno@clisp.org>
66448
66449         * modules/ceilf-tests: New file.
66450         * tests/test-ceilf.c: New file.
66451
66452         * modules/ceilf: New file.
66453         * lib/ceil.c: New file.
66454         * lib/ceilf.c: New file.
66455         * m4/ceilf.m4: New file.
66456         * lib/math.in.h (ceilf): New declaration.
66457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66458         HAVE_DECL_CEILF.
66459         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66460         HAVE_DECL_CEILF.
66461         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66462
66463 2007-10-04  Bruno Haible  <bruno@clisp.org>
66464
66465         * modules/floorl-tests: New file.
66466         * tests/test-floorl.c: New file.
66467
66468         * modules/floorl: New file.
66469         * lib/floorl.c: Replace entire file.
66470         * m4/floorl.m4: New file.
66471         * lib/math.in.h (floorl): Replace declaration.
66472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66473         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66474         * doc/functions/floorl.texi: Mention the 'floorl' module.
66475         * modules/mathl (Files): Remove lib/floorl.c.
66476         (Depends-on): Add floorl.
66477
66478 2007-10-04  Bruno Haible  <bruno@clisp.org>
66479
66480         * modules/floorf-tests: New file.
66481         * tests/test-floorf.c: New file.
66482
66483         * modules/floorf: New file.
66484         * lib/floor.c: New file.
66485         * lib/floorf.c: New file.
66486         * m4/floorf.m4: New file.
66487         * lib/math.in.h (floorf): New declaration.
66488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66489         HAVE_DECL_FLOORF.
66490         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66491         HAVE_DECL_FLOORF.
66492         * doc/functions/floorf.texi: Mention the 'floorf' module.
66493
66494 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66495             Bruno Haible  <bruno@clisp.org>
66496
66497         Advertise for the Git server instead of the CVS server.
66498         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66499         repository instead of the CVS one.
66500         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66501         about all VCS systems generically.
66502         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66503
66504 2007-10-04  Bruno Haible  <bruno@clisp.org>
66505
66506         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66507         means.
66508         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66509
66510 2007-10-04  Bruno Haible  <bruno@clisp.org>
66511
66512         * modules/truncl-tests: New file.
66513         * tests/test-truncl.c: New file.
66514
66515         * modules/truncl: New file.
66516         * lib/truncl.c: New file.
66517         * m4/truncl.m4: New file.
66518         * lib/math.in.h (truncl): New declaration.
66519         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66520         HAVE_DECL_TRUNCL.
66521         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66522         HAVE_DECL_TRUNCL.
66523         * doc/functions/truncl.texi: Mention the 'truncl' module.
66524
66525 2007-10-04  Bruno Haible  <bruno@clisp.org>
66526
66527         * modules/truncf-tests: New file.
66528         * tests/test-truncf.c: New file.
66529
66530         * modules/truncf: New file.
66531         * lib/trunc.c: Make paramerizable through USE_* macros.
66532         * lib/truncf.c: New file.
66533         * m4/truncf.m4: New file.
66534         * lib/math.in.h (truncf): New declaration.
66535         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66536         HAVE_DECL_TRUNCF.
66537         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66538         HAVE_DECL_TRUNCF.
66539         * doc/functions/truncf.texi: Mention the 'truncf' module.
66540
66541 2007-10-03  Bruno Haible  <bruno@clisp.org>
66542
66543         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66544         augmentation also for tests modules.
66545         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66546         * modules/atexit-tests (Makefile.am): Likewise.
66547         * modules/binary-io-tests (Makefile.am): Likewise.
66548         * modules/c-strcase-tests (Makefile.am): Likewise.
66549         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66550         * modules/canonicalize-tests (Makefile.am): Likewise.
66551         * modules/closein-tests (Makefile.am): Likewise.
66552         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66553         * modules/freadahead-tests (Makefile.am): Likewise.
66554         * modules/fseek-tests (Makefile.am): Likewise.
66555         * modules/fseeko-tests (Makefile.am): Likewise.
66556         * modules/ftell-tests (Makefile.am): Likewise.
66557         * modules/ftello-tests (Makefile.am): Likewise.
66558         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66559         * modules/isnanl-tests (Makefile.am): Likewise.
66560         * modules/lseek-tests (Makefile.am): Likewise.
66561         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66562         * modules/mbscasestr-tests (Makefile.am): Likewise.
66563         * modules/mbschr-tests (Makefile.am): Likewise.
66564         * modules/mbscspn-tests (Makefile.am): Likewise.
66565         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66566         * modules/mbspbrk-tests (Makefile.am): Likewise.
66567         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66568         * modules/mbsrchr-tests (Makefile.am): Likewise.
66569         * modules/mbsspn-tests (Makefile.am): Likewise.
66570         * modules/mbsstr-tests (Makefile.am): Likewise.
66571         * modules/printf-posix-tests (Makefile.am): Likewise.
66572         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66573         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66574         * modules/tsearch-tests (Makefile.am): Likewise.
66575         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66576         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66577         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66578         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66579         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66580         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66581         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66582         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66583         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66584         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66585         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66586         * modules/xstrtol-tests (Makefile.am): Likewise.
66587         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66588         * modules/yesno-tests (Makefile.am): Likewise.
66589
66590 2007-10-03  Bruno Haible  <bruno@clisp.org>
66591
66592         * modules/trunc-tests: New file.
66593         * tests/test-trunc.c: New file.
66594
66595         * modules/trunc: New file.
66596         * lib/trunc.c: New file.
66597         * m4/trunc.m4: New file.
66598         * lib/math.in.h (trunc): New declaration.
66599         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66600         HAVE_DECL_TRUNC.
66601         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66602         HAVE_DECL_TRUNC.
66603         * doc/functions/trunc.texi: Mention the 'trunc' module.
66604
66605 2007-10-03  Bruno Haible  <bruno@clisp.org>
66606
66607         * tests/test-fpending.c: New file, mostly copied
66608         from coreutils/lib/t-fpending.c.
66609         * modules/fpending-tests: New file.
66610
66611 2007-10-03  Bruno Haible  <bruno@clisp.org>
66612
66613         Port the stdio extensions to QNX (untested).
66614         * lib/fseterr.c (fseterr): Add support for QNX.
66615         * lib/fbufmode.c (fbufmode): Likewise.
66616         * lib/freadable.c (freadable): Likewise.
66617         * lib/fwritable.c (fwritable): Likewise.
66618         * lib/freading.c (freading): Likewise.
66619         * lib/fwriting.c (fwriting): Likewise.
66620         * lib/freadahead.c (freadahed): Likewise.
66621         * lib/fpurge.c (fpurge): Likewise.
66622         * lib/fseeko.c (rpl_fseeko): Likewise.
66623
66624 2007-10-03  Bruno Haible  <bruno@clisp.org>
66625             Jim Meyering  <jim@meyering.net>
66626             Eric Blake  <ebb9@byu.net>
66627
66628         * doc/relocatable.texi: Use @command instead of @program.
66629
66630 2007-10-02  Jim Meyering  <jim@meyering.net>
66631
66632         Perform one more "_.h" -> ".in.h" substitution.
66633         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66634         instead of unistd_.h here, too.
66635
66636 2007-10-01  Bruno Haible  <bruno@clisp.org>
66637
66638         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66639         Needed for the alloca-opt module.
66640
66641 2007-09-30  Bruno Haible  <bruno@clisp.org>
66642
66643         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66644         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66645         alloca_.h.
66646         * lib/argz.in.h: Renamed from lib/argz_.h.
66647         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66648         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66649         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66650         byteswap_.h.
66651         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66652         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66653         dirent_.h.
66654         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66655         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66656         fcntl_.h.
66657         * lib/float.in.h: Renamed from lib/float_.h.
66658         * modules/float (Files, Makefile.am): Use float.in.h instead of
66659         float_.h.
66660         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66661         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66662         fnmatch_.h.
66663         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66664         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66665         getopt_.h.
66666         * lib/glob.in.h: Renamed from lib/glob_.h.
66667         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66668         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66669         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66670         iconv_.h.
66671         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66672         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66673         inttypes_.h.
66674         * lib/locale.in.h: Renamed from lib/locale_.h.
66675         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66676         locale_.h.
66677         * lib/math.in.h: Renamed from lib/math_.h.
66678         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66679         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66680         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66681         of netinet_in_.h. Add dependency.
66682         * lib/poll.in.h: Renamed from lib/poll_.h.
66683         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66684         * lib/search.in.h: Renamed from lib/search_.h.
66685         * modules/search (Files, Makefile.am): Use search.in.h instead of
66686         search_.h.
66687         * lib/signal.in.h: Renamed from lib/signal_.h.
66688         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66689         _signal.h.
66690         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66691         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66692         stdbool_.h.
66693         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66694         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66695         stdint_.h.
66696         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66697         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66698         stdio_.h.
66699         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66700         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66701         stdlib_.h.
66702         * lib/string.in.h: Renamed from lib/string_.h.
66703         * modules/string (Files, Makefile.am): Use string.in.h instead of
66704         string_.h.
66705         * doc/gnulib-tool.texi (Initial import): Update.
66706         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66707         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66708         of sys_select_.h. Add dependency.
66709         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66710         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66711         of sys_socket_.h.
66712         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66713         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66714         sys_stat_.h.
66715         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66716         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66717         sys_time_.h.
66718         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66719         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66720         sysexits_.h.
66721         * lib/time.in.h: Renamed from lib/time_.h.
66722         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66723         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66724         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66725         unistd_.h.
66726         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66727         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66728         wchar_.h.
66729         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66730         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66731         wctype_.h.
66732         * build-aux/bootstrap (slurp): Update.
66733         * lib/.cppi-disable: Update.
66734
66735 2007-09-30  Bruno Haible  <bruno@clisp.org>
66736
66737         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66738         Needed on BeOS.
66739
66740 2007-09-30  Bruno Haible  <bruno@clisp.org>
66741
66742         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66743
66744 2007-09-29  Bruno Haible  <bruno@clisp.org>
66745
66746         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66747
66748 2007-09-29  Bruno Haible  <bruno@clisp.org>
66749
66750         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66751         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66752         * build-aux/install-reloc: Compile also areadlink.c.
66753         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66754
66755 2007-09-29  Bruno Haible  <bruno@clisp.org>
66756
66757         * gnulib-tool (func_emit_initmacro_done): Indentation.
66758
66759 2007-09-29  Bruno Haible  <bruno@clisp.org>
66760
66761         * README: Add CVS checkout update instructions.
66762         Info from Bob Proulx <bob@proulx.com>.
66763
66764 2007-09-28  Eric Blake  <ebb9@byu.net>
66765
66766         Provide move-if-change.
66767         * build-aux/move-if-change: New file, based on best practice
66768         rather than any canonical upstream location.
66769
66770 2007-09-28  Jim Meyering  <jim@meyering.net>
66771
66772         Fix canonicalize loop-detection corner case.
66773         Do not attempt to stat the symlink values stored via seen_triple.
66774         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66775         on linux-2.6.18, (but not 2.6.22).
66776         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66777         triple_compare.  The former compares dev,ino,filename, while the latter
66778         would actually stat dirname(filename) when dev and ino were equal.
66779         * lib/hash-triple.c: Install <string.h>.
66780         (STREQ): Define.
66781         (triple_compare_ino_str): New function.
66782         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66783
66784 2007-09-28  Eric Blake  <ebb9@byu.net>
66785
66786         Enforce that AC_REPLACE_FUNCS files exist.
66787         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66788         override check for typos.
66789
66790         Fix test-closein on Solaris 10.
66791         * tests/test-closein.c (main): Don't assume stdin can be inherited
66792         closed on all systems.
66793         * tests/test-closein.sh: Likewise.
66794         Reported by Piotr Tarnowski.
66795
66796 2007-09-28  Jim Meyering  <jim@meyering.net>
66797
66798         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66799
66800 2007-09-27  Jim Meyering  <jim@meyering.net>
66801
66802         canonicalize: Avoid a false-positive cycle failure.
66803         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66804         Sort.  Remove cycle-check.
66805         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66806         not cycle-check.h.
66807         (seen_triple): New function.
66808         (canonicalize_filename_mode): Use it instead of cycle-check.
66809         * tests/test-canonicalize.c: Add a test for this bug.
66810         * tests/test-canonicalize.sh: Set up and run the test.
66811
66812         New module, file-set, from coreutils.
66813         * modules/file-set: Define it.
66814         * lib/file-set.c, lib/file-set.h: Implement.
66815
66816         New module, hash-triple, from coreutils.
66817         * modules/hash-triple: Define it.
66818         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66819
66820 2007-09-25  Eric Blake  <ebb9@byu.net>
66821
66822         Fix strerror on Interix.
66823         * lib/string_.h (strerror): Declare replacement.
66824         * doc/functions/strerror.texi (strerror): Document the Interix
66825         shortcoming.
66826         * modules/string (Makefile.am): Support new hooks.
66827         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66828         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66829         gl_FUNC_STRERROR_SEPARATE.
66830         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66831         * lib/strerror.c (rpl_strerror): Provide replacement.
66832         * modules/strerror (Depends-on): Add string.
66833         (configure.ac): Detect use of module.
66834         * tests/test-strerror.c: New file.
66835         * modules/strerror-tests: New test module.
66836         * modules/argp (Depends-on): Add strerror.
66837         * modules/error (Depends-on): Likewise.
66838         Reported by Martin Koeppe.
66839
66840 2007-09-24  Bruno Haible  <bruno@clisp.org>
66841
66842         * README: Update git instructions.
66843
66844 2007-09-24  Eric Blake  <ebb9@byu.net>
66845
66846         Revert fpending breakage from 2007-09-08.
66847         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66848         __fpending.c.
66849
66850 2007-09-24  Jim Meyering  <jim@meyering.net>
66851
66852         filenamecat.c: Add a test.
66853         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66854         showing how the function works when DIR is the empty string.
66855
66856 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66857
66858         * tests/test-canonicalize.sh: Turn on executable bit.
66859
66860 2007-09-19  Eric Blake  <ebb9@byu.net>
66861
66862         * README: Update CVS instructions.
66863
66864 2007-09-18  Bruno Haible  <bruno@clisp.org>
66865
66866         * modules/areadlink: New file.
66867         * lib/areadlink.h (areadlink): New declaration.
66868         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66869
66870 2007-09-17  Jim Meyering  <jim@meyering.net>
66871
66872         * lib/savewd.c (ESTALE) [!defined]: Define.
66873         Reported to be required on Interix by Martin Koeppe.
66874
66875 2007-09-17  Bruno Haible  <bruno@clisp.org>
66876
66877         * gnulib-tool (func_version): Use $version.
66878
66879 2007-09-16  Bruno Haible  <bruno@clisp.org>
66880
66881         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66882         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66883         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66884         Reported by Greg Schafer <gschafer@zip.com.au>.
66885
66886 2007-09-15  Bruno Haible  <bruno@clisp.org>
66887
66888         * gnulib-tool (sed): Try a little harder to make bash understand the
66889         alias.
66890         Reported by Bruce Korb <bruce.korb@gmail.com>.
66891
66892 2007-09-13  Eric Blake  <ebb9@byu.net>
66893
66894         * ChangeLog: Remove conflict markers.
66895
66896 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66897
66898         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66899         Reported by Bruno Haible <bruno@clisp.org>.
66900
66901 2007-09-12  Bruno Haible  <bruno@clisp.org>
66902
66903         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66904         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66905         is not defined.
66906
66907 2007-09-12  Eric Blake  <ebb9@byu.net>
66908
66909         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66910         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66911         Autoconf definition.
66912         * modules/euidaccess (Depends-on): Add extensions, for
66913         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66914         * modules/fnmatch (Depends-on): Likewise.
66915         * modules/getaddrinfo (Depends-on): Likewise.
66916         * modules/getdelim (Depends-on): Likewise.
66917         * modules/getline (Depends-on): Likewise.
66918         * modules/getsubopt (Depends-on): Likewise.
66919         * modules/gettext (Depends-on): Likewise.
66920         * modules/group-member (Depends-on): Likewise.
66921         * modules/mbchar (Depends-on): Likewise.
66922         * modules/memmem (Depends-on): Likewise.
66923         * modules/mempcpy (Depends-on): Likewise.
66924         * modules/memrchr (Depends-on): Likewise.
66925         * modules/pagealign_alloc (Depends-on): Likewise.
66926         * modules/readutmp (Depends-on): Likewise.
66927         * modules/stpcpy (Depends-on): Likewise.
66928         * modules/stpncpy (Depends-on): Likewise.
66929         * modules/strchrnul (Depends-on): Likewise.
66930         * modules/strndup (Depends-on): Likewise.
66931         * modules/strsep (Depends-on): Likewise.
66932         * modules/strverscmp (Depends-on): Likewise.
66933         * modules/vasprintf (Depends-on): Likewise.
66934         * modules/wcwidth (Depends-on): Likewise.
66935         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66936         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66937         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66938         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66939         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66940         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66941         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66942         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66943         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66944         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66945         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66946         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66947         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66948         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66949         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66950         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66951         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66952         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66953         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66954         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66955         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66956         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66957         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66958         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66959         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66960         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66961         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66962         so that lock.m4 can be used in gettext without extensions module.
66963
66964 2007-09-11  Bruno Haible  <bruno@clisp.org>
66965
66966         * m4/isc-posix.m4: Remove file.
66967         Suggested by Eric Blake.
66968
66969 2007-09-11  Eric Blake  <ebb9@byu.net>
66970
66971         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66972
66973 2007-09-10  Bruno Haible  <bruno@clisp.org>
66974
66975         * posix-modules: Fix typo in error message.
66976         Reported by Matt <mkraai@beckman.com>.
66977
66978 2007-09-09  Bruno Haible  <bruno@clisp.org>
66979
66980         * doc/functions/getdelim.texi: Update list of platforms lacking the
66981         function.
66982         * doc/functions/getline.texi: Likewise.
66983
66984 2007-09-09  Jim Meyering  <jim@meyering.net>
66985
66986         * lib/hash.c (hash_initialize): Detect calloc failure.
66987         Reported by Bruno Haible.
66988
66989 2007-09-09  Bruno Haible  <bruno@clisp.org>
66990
66991         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66992         malloc or realloc fails.
66993
66994 2007-09-09  Bruno Haible  <bruno@clisp.org>
66995
66996         * modules/getcwd (Depends-on): Add malloc-posix.
66997         * modules/glob (Depends-on): Likewise.
66998         * modules/putenv (Depends-on): Likewise.
66999         * modules/strdup (Depends-on): Likewise.
67000         * modules/getdelim (Depends-on): Add realloc-posix.
67001         * modules/read-file (Depends-on): Likewise.
67002
67003 2007-09-09  Bruno Haible  <bruno@clisp.org>
67004
67005         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67006         (gl_FUNC_MALLOC_POSIX): Require it.
67007         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67008         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67009         * modules/realloc (Files): Add m4/malloc.m4.
67010         * modules/calloc (Files): Likewise.
67011
67012 2007-09-09  Bruno Haible  <bruno@clisp.org>
67013
67014         * modules/malloc-posix: New file.
67015         * modules/malloc (Depends-on): Add malloc-posix.
67016         * lib/malloc.c: Include errno.h.
67017         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67018         and a POSIX-compatible malloc into a single function. Set ENOMEM
67019         when returning NULL.
67020         * m4/malloc.m4: New file.
67021         * doc/functions/malloc.texi: Mention the malloc-posix module.
67022         * lib/stdlib_.h (malloc): New declaration.
67023         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67024         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67025         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67026         and HAVE_MALLOC_POSIX.
67027
67028 2007-09-09  Bruno Haible  <bruno@clisp.org>
67029
67030         * modules/realloc-posix: New file.
67031         * modules/realloc (Depends-on): Add realloc-posix.
67032         * lib/realloc.c: Include errno.h.
67033         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67034         and a POSIX-compatible realloc into a single function. Set ENOMEM
67035         when returning NULL.
67036         * m4/realloc.m4: New file.
67037         * doc/functions/realloc.texi: Mention the realloc-posix module.
67038         * lib/stdlib_.h (realloc): New declaration.
67039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67040         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67041         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67042         and HAVE_REALLOC_POSIX.
67043
67044 2007-09-09  Bruno Haible  <bruno@clisp.org>
67045
67046         * modules/calloc-posix: New file.
67047         * modules/calloc (Depends-on): Add calloc-posix.
67048         * lib/calloc.c: Include errno.h.
67049         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67050         and a POSIX-compatible calloc into a single function. Set ENOMEM
67051         when returning NULL.
67052         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67053         * doc/functions/calloc.texi: Mention the calloc-posix module.
67054         * lib/stdlib_.h (calloc): New declaration.
67055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67056         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67057         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67058         and HAVE_CALLOC_POSIX.
67059
67060 2007-09-09  Bruno Haible  <bruno@clisp.org>
67061
67062         Allow for modules to show an arbitrary notice.
67063         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67064         * gnulib-tool: New option --extract-notice.
67065         (func_usage): Document it.
67066         (sed_extract_prog): Update.
67067         (func_get_notice): New function.
67068         (func_modules_notice): New function.
67069         (func_import, func_create_testdir): Invoke it.
67070         Suggested by Jim Meyering.
67071
67072 2007-09-09  Bruno Haible  <bruno@clisp.org>
67073
67074         * gnulib-tool: New options --verbose, --quiet.
67075         (func_usage): Document them.
67076         (verbose): New variable.
67077         (func_execute_command): New function.
67078         (func_import): Don't show the module list and the file list if
67079         $verbose < 0.
67080         (func_create_testdir): Likewise. Use func_execute_command.
67081         (func_create_megatestdir): Use func_execute_command.
67082
67083 2007-09-08  Bruno Haible  <bruno@clisp.org>
67084
67085         * gnulib-tool (func_import): Prefer rsync over wget when available,
67086         for fetching the PO files.
67087
67088 2007-09-08  Bruno Haible  <bruno@clisp.org>
67089
67090         * posix-modules: New file. Portions copied from gnulib-tool.
67091         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67092
67093 2007-09-08  Jim Meyering  <jim@meyering.net>
67094
67095         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67096         * lib/fpending.h: Rename from __fpending.h.
67097         * lib/fpending.c: Rename from __fpending.c.
67098         Include "fpending.h", not "__fpending.h".
67099         * lib/__fpending.h, lib/__fpending.c: Remove files.
67100         * modules/fpending (Files): Reflect new file names.
67101         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67102
67103 2007-09-08  Bruno Haible  <bruno@clisp.org>
67104
67105         * m4/inttypes-h.m4: Remove stub file.
67106
67107 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67108
67109         * doc/headers/stdint.texi: Discuss #include_next issue.
67110
67111 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67112
67113         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67114
67115 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67116
67117         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67118         in variable name.
67119
67120 2007-09-03  Jim Meyering  <jim@meyering.net>
67121
67122         New module: git-version-gen.
67123         * modules/git-version-gen: New file.
67124
67125         Import changes from coreutils for bootstrap script.
67126
67127         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67128
67129         bootstrap: uses rsync to download the .po files
67130         * build-aux/bootstrap (po_download_command_format): New global.
67131         (download_po_files): Use rsync.
67132         (update_po_files): Don't remove .po files after download,
67133         so future rsync runs can take advantage of the copies.
67134
67135         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67136
67137         Solve the unnecessary-.po-file-regeneration problem once and for all.
67138         * build-aux/bootstrap (download_po_files): New function, renamed from
67139         get_translations.  Now, downloads, but doesn't update LINGUAS.
67140         (update_po_files): New function.
67141
67142         bootstrap: Ignore more.
67143         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67144         uniwidth to e.g., lib/.gitignore.
67145         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67146
67147         * build-aux/bootstrap: New setting: vc_ignore.
67148         (insert_sorted_if_absent): Create $file if absent.
67149         Adapt to new, possibly empty, list: $vc_ignore.
67150
67151         bootstrap: generate more ignorable names
67152         * build-aux/bootstrap (slurp): When generating ignorable names,
67153         also map .sin to .sed, .gperf to .c, and .y to .c.
67154
67155 2007-09-03  Jim Meyering  <jim@meyering.net>
67156
67157         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67158         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67159
67160 2007-09-02  Bruno Haible  <bruno@clisp.org>
67161
67162         Fix mis-recognition of 'mcs' on QNX 6.
67163         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67164         output contains the string "Mono".
67165         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67166         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67167
67168 2007-09-01  Bruno Haible  <bruno@clisp.org>
67169
67170         Fix collision between uniwidth/* and linebreak modules.
67171         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67172         u32_width): Remove declarations.
67173         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67174         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67175         streq3, streq2, streq1, streq0): Remove functions.
67176         (STREQ): Remove macro.
67177         (is_cjk_encoding): Remove function.
67178         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67179         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67180         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67181         * NEWS: Document the change.
67182
67183 2007-09-01  Bruno Haible  <bruno@clisp.org>
67184
67185         * lib/streq.h: Add double-inclusion guard.
67186
67187 2007-09-01  Karl Berry  <karl@gnu.org>
67188
67189         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67190
67191 2007-08-28  Jim Meyering  <jim@meyering.net>
67192
67193         Rename mreadlink_with_size to areadlink_with_size.
67194         * NEWS: Document the change.
67195         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67196         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67197         * lib/mreadlink.h: Rename this to...
67198         * lib/areadlink.h: ...this.
67199         * modules/mreadlink-with-size: Rename this to...
67200         * modules/areadlink-with-size: ...this.
67201         * lib/canonicalize.c: Reflect the renaming.
67202         * modules/canonicalize: Likewise.
67203
67204 2007-08-26  Bruno Haible  <bruno@clisp.org>
67205
67206         * gnulib-tool (func_import): When deciding which files to remove,
67207         consider also dangling symbolic links.
67208         Reported by Eric Blake.
67209
67210 2007-08-26  Bruno Haible  <bruno@clisp.org>
67211
67212         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67213
67214 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67215
67216         * lib/readline.c: Don't include getline.h, the prototype is now
67217         found in stdio.h.
67218
67219 2007-08-23  Jim Meyering  <jim@meyering.net>
67220
67221         Getdelim touchup.
67222         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67223         around the funlockfile call, since funlockfile never sets errno.
67224         Don't set errno upon failed realloc.
67225
67226 2007-08-22  Eric Blake  <ebb9@byu.net>
67227
67228         Getline touchups.
67229         * lib/getdelim.c (getdelim): Revert regression that required *n to
67230         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67231         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67232         getdelim, rather than whether implementation is missing.
67233         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67234         * lib/stdio_.h (getline): Also declare if replacement is
67235         required.
67236         * doc/functions/getdelim.texi: New file.
67237         * doc/functions/getline.texi: Likewise.
67238         * doc/gnulib.texi (Function Substitutes): Add new files.
67239         Reported by Bruno Haible.
67240
67241 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67242
67243         * users.txt: Add Guile.
67244
67245 2007-08-22  Eric Blake  <ebb9@byu.net>
67246
67247         * tests/test-getdelim.c (main): Use remove, not unlink.
67248         * tests/test-getline.c (main): Likewise.
67249
67250         Move getline and getdelim into stdio.h, per POSIX 200x.
67251         * modules/getline (Files): Remove getline.h.
67252         (Depends-on): Add stdio.
67253         (configure.ac): Add module indicator.
67254         * modules/getdelim (Files): Remove getdelim.h.
67255         (Depends-on): Add stdio.
67256         (configure.ac): Add module indicator.
67257         * modules/stdio (Makefile.am): Work with new indicators.
67258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67259         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67260         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67261         * lib/getdelim.h: Delete.
67262         * lib/getline.h: Delete.
67263         * lib/stdio_.h (getdelim, getline): Declare.
67264         * modules/getdelim-tests: New module.
67265         * modules/getline-tests: Likewise.
67266         * tests/test-getdelim.c: New file.
67267         * tests/test-getline.c: Likewise.
67268         * NEWS: Document the change.
67269         * lib/getline.c: Update choice of header.
67270         * lib/csharpcomp.c: Likewise.
67271         * lib/getpass.c: Likewise.
67272         * lib/javacomp.c: Likewise.
67273         * lib/javaversion.c: Likewise.
67274         * lib/yesno.c: Likewise.
67275         * lib/getdelim.c: Likewise.
67276         (getdelim): Set errno on failure, and avoid memory leak.
67277
67278 2007-08-19  Bruno Haible  <bruno@clisp.org>
67279
67280         * modules/closein (Depends-on): Add freadahead.
67281         * lib/closein.c: Include freadahead.h.
67282         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67283         is zero.
67284
67285 2007-08-19  Bruno Haible  <bruno@clisp.org>
67286
67287         * modules/freadahead-tests: New file.
67288         * tests/test-freadahead.sh: New file.
67289         * tests/test-freadahead.c: New file.
67290
67291         * modules/freadahead: New file.
67292         * lib/freadahead.h: New file.
67293         * lib/freadahead.c: New file.
67294         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67295         fbufmode, fpurge, freadable, fwritable.
67296
67297 2007-08-19  Eric Blake  <ebb9@byu.net>
67298
67299         Test yesno in combination with closein.
67300         * lib/yesno.c (yesno): Document use of stdin.
67301         * modules/yesno-tests (Files): New module.
67302         * tests/test-yesno.c (main): New file.
67303         * tests/test-yesno.sh: Likewise.
67304
67305 2007-08-19  Bruno Haible  <bruno@clisp.org>
67306
67307         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67308         * lib/fseeko.c (rpl_fseeko): Likewise.
67309         * lib/fseterr.c (fseterr): Likewise.
67310
67311 2007-08-19  Bruno Haible  <bruno@clisp.org>
67312
67313         * tests/test-lseek.c (main): Disable a test for BeOS.
67314         * doc/functions/lseek.texi: Document the BeOS bug.
67315
67316 2007-08-19  Bruno Haible  <bruno@clisp.org>
67317             Eric Blake  <ebb9@byu.net>
67318
67319         * lib/lseek.c: Include <sys/stat.h>.
67320         (rpl_lseek): Add workaround code also for Unix platforms.
67321         Needed for BeOS.
67322         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67323         * doc/functions/lseek.texi: Document BeOS definiency.
67324
67325 2007-08-18  Bruno Haible  <bruno@clisp.org>
67326
67327         * modules/fstrcmp-tests: New file.
67328         * tests/test-fstrcmp.c: New file.
67329
67330 2007-08-18  Bruno Haible  <bruno@clisp.org>
67331
67332         * modules/fstrcmp: New file, from GNU gettext with modifications.
67333         * lib/fstrcmp.h: New file, from GNU gettext.
67334         * lib/fstrcmp.c: New file, from GNU gettext.
67335         * MODULES.html.sh (String handling): Add fstrcmp.
67336
67337 2007-08-18  Bruno Haible  <bruno@clisp.org>
67338
67339         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67340         'bool'.
67341         (diag, compareseq): Remove const from the ctxt argument.
67342         (USE_HEURISTIC): Undefine at the end.
67343
67344 2007-08-18  Jim Meyering  <jim@meyering.net>
67345
67346         New file: lib/idcache.h
67347         * NEWS: Mention the addition.
67348         * modules/idcache (Files): Add lib/idcache.h
67349         * lib/idcache.c: Include "idcache.h".
67350         Don't include <sys/types.h>.
67351         Add a FIXME comment.
67352         Move file-scoped "static" declarations to the top.
67353         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67354
67355 2007-08-17  Bruno Haible  <bruno@clisp.org>
67356         and Paul Eggert  <eggert@cs.ucla.edu>
67357
67358         * MODULES.html.sh: Add diffseq.
67359         * modules/diffseq: New file.
67360         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67361         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67362
67363 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67364
67365         Import changes from coreutils for bootstrap script.
67366
67367         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67368
67369         * build-aux/bootstrap (slurp): Work even in environments where
67370         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67371         current code does not slurp files whose names start with ".", and
67372         this looks like it might be a troublesome area.
67373
67374         2007-07-11  Jim Meyering  <jim@meyering.net>
67375
67376         If there's a GPL vN copyright comment, require that N == 3.
67377
67378         2007-07-08  Jim Meyering  <jim@meyering.net>
67379
67380         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67381         * build-aux/bootstrap (mam_template): Move definition out of loop.
67382
67383         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67384
67385         * build-aux/bootstrap (symlink_to_dir): Rename function from
67386         symlink_to_gnulib.  Add a directory parameter.  Update all
67387         callers.
67388         (cp_mark_as_generated): Also check for -- and link to -- files in
67389         gl/.
67390
67391         2007-07-08  Jim Meyering  <jim@meyering.net>
67392
67393         Adapt to deeper hierarchy in gnulib.
67394         * build-aux/bootstrap (symlink_to_dir): If the destination
67395         directory doesn't exist, create it. This is required at least for
67396         "lib/uniwidth/cjk.h".
67397
67398         2007-05-15  Jim Meyering  <jim@meyering.net>
67399
67400         * build-aux/bootstrap: Now that generated Makefile.am files
67401         are no longer under version control, they must be created at
67402         bootstrap time.
67403
67404 2007-08-14  Ben Pfaff  <blp@gnu.org>
67405
67406         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67407
67408 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67409
67410         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67411         given the changes below.
67412         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67413         even on hosts that have padding bits beyond the supported 64.
67414
67415 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67416
67417         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67418         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67419         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67420         depends on it.
67421         (xstrtol_error): Remove.
67422         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67423         but with a different signature.
67424         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67425         * lib/xstrtol-error.c: Include exitfail.h.
67426         (xstrtol_fatal): New function, with a different signature from the
67427         old xstrtol_error, so that the caller need not worry about passing
67428         in an exit status, or about storage management of the option argument.
67429         (xstrtol_error): Now a static function.  Redo signature to
67430         implement xstrtol_fatal.  Output the correct number of hyphens in
67431         front of the option so that the caller need not worry about
67432         storage management.
67433         (N_): New macro.
67434         (_): Remove; not used now.
67435         * modules/xstrtol: Depend on getopt.
67436         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67437         of old STRTOL_FATAL_ERROR macro.
67438         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67439         of test program.
67440         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67441         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67442
67443 2007-08-08  Eric Blake  <ebb9@byu.net>
67444
67445         * lib/xstrtol-error.c: Add missing include.
67446
67447         Move xstrtol messages into gnulib domain, when --pobase is used.
67448         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67449         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67450         * modules/xstrtol (Files): Distribute new file.
67451         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67452         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67453         * tests/test-xstrtol.c: ...into new file.
67454         * tests/test-xstrtoul.c: Also test xstrtoul.
67455         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67456         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67457         * tests/test-xstrtol.sh: Drive the tests.
67458         * tests/test-xstrtoimax.sh: Likewise.
67459         * tests/test-xstrtoumax.sh: Likewise.
67460         * modules/xstrtol-tests: New module.
67461         * modules/xstrtoimax-tests: Likewise.
67462         * modules/xstrtoumax-tests: Likewise.
67463
67464 2007-08-08  Jim Meyering  <jim@meyering.net>
67465
67466         New function: mfile_name_concat.
67467         * lib/filenamecat.c (mfile_name_concat): New function, just like
67468         file_name_concat, but return NULL upon failure rather than exiting
67469         with a diagnostic.
67470         * lib/filenamecat.h: Declare it.
67471
67472 2007-08-07  Bruno Haible  <bruno@clisp.org>
67473
67474         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67475         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67476         warning from gcc.
67477         Reported by Eric Blake.
67478
67479 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67480
67481         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67482         * modules/crypto/arcfour (License): Likewise.
67483         * modules/crypto/des-tests (License): Likewise.
67484         * modules/crypto/gc-arctwo-tests (License): Likewise.
67485         * modules/crypto/gc-des-tests (License): Likewise.
67486         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67487         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67488         * modules/crypto/gc-md2-tests (License): Likewise.
67489         * modules/crypto/gc-md4-tests (License): Likewise.
67490         * modules/crypto/gc-md5-tests (License): Likewise.
67491         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67492         * modules/crypto/gc-rijndael-tests (License): Likewise.
67493         * modules/crypto/gc-sha1-tests (License): Likewise.
67494         * modules/crypto/gc-tests (License): Likewise.
67495         * modules/crypto/hmac-md5 (License): Likewise.
67496         * modules/crypto/hmac-sha1 (License): Likewise.
67497         * modules/crypto/md2-tests (License): Likewise.
67498         * modules/crypto/md4-tests (License): Likewise.
67499         * modules/crypto/md5 (License): Likewise.
67500         * modules/crypto/rijndael (License): Likewise.
67501         * modules/crypto/sha1 (License): Likewise.
67502         * modules/memxor (License): Likewise.
67503
67504 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67505         and Bruno Haible  <bruno@clisp.org>
67506
67507         * NEWS: Describe interface changes to human, xstrtol.
67508         * lib/human.h: Include <xstrtol.h>.
67509         (human_options): Return enum strtol_error, not int.  Remove
67510         bool arg; take int * instead.
67511         * lib/human.c: Don't include "gettext.h".
67512         (_): Remove; no longer used.
67513         Don't include <xstrtol.h>, since human.h does it.
67514         (human_options): Adjust to abovementioned interface changes.
67515         Do not report error to stderr; that's now the caller's
67516         responsibility.
67517         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67518         interface change.
67519         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67520         Str, Argument_type_string.  All uses changed.  Put " argument"
67521         in diagnostics to make them clearer.  Change wording of suffix
67522         message for clarity.
67523         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67524         Argument_type_string.
67525         (STRTOL_FATAL_WARN): Remove; no longer used.
67526         * modules/human (Depends-on): Remove gettext-h.
67527
67528 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67529
67530         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67531
67532 2007-07-31  Bruno Haible  <bruno@clisp.org>
67533
67534         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67535         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67536         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67537
67538 2007-07-31  Bruno Haible  <bruno@clisp.org>
67539
67540         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67541         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67542
67543 2007-07-30  Bruno Haible  <bruno@clisp.org>
67544
67545         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67546         * modules/c-ctype (License): Likewise.
67547         * modules/c-strcase (License): Likewise.
67548         * modules/check-version (License): Likewise.
67549         * modules/iconv (License): Likewise.
67550         * modules/iconv_open (License): Likewise.
67551         * modules/read-file (License): Likewise.
67552         * modules/striconv (License): Likewise.
67553         * modules/strverscmp (License): Likewise.
67554         * modules/vasprintf (License): Likewise.
67555         * modules/crypto/des (License): Likewise.
67556         * modules/crypto/gc (License): Likewise.
67557         * modules/crypto/gc-arcfour (License): Likewise.
67558         * modules/crypto/gc-arctwo (License): Likewise.
67559         * modules/crypto/gc-des (License): Likewise.
67560         * modules/crypto/gc-hmac-md5 (License): Likewise.
67561         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67562         * modules/crypto/gc-md2 (License): Likewise.
67563         * modules/crypto/gc-md4 (License): Likewise.
67564         * modules/crypto/gc-md5 (License): Likewise.
67565         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67566         * modules/crypto/gc-random (License): Likewise.
67567         * modules/crypto/gc-rijndael (License): Likewise.
67568         * modules/crypto/gc-sha1 (License): Likewise.
67569         * modules/crypto/md2 (License): Likewise.
67570         * modules/crypto/md4 (License): Likewise.
67571
67572 2007-07-30  Jim Meyering  <jim@meyering.net>
67573
67574         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67575         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67576         it has valid stat data.  This bug would cause du not to count the
67577         sizes of inaccessible directories.
67578         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67579         in <http://bugzilla.redhat.com/250077>.
67580
67581 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67582             Bruno Haible  <bruno@clisp.org>
67583
67584         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67585         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67586         #include_next, gives a diagnostic about it, but reports no error in
67587         the exit code.
67588         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67589
67590 2007-07-24  Ben Pfaff  <blp@gnu.org>
67591
67592         Improve name: "count-one-bits" is better than "popcount".
67593         * MODULES.html.sh: Update name.
67594         * lib/popcount.h: Renamed lib/count-one-bits.h.
67595         (popcount): Renamed count_one_bits.
67596         (popcountl): Renamed count_one_bits_l.
67597         (popcountll): Renamed count_one_bits_ll.
67598         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67599         * modules/popcount: Renamed module/count-one-bits.
67600         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67601         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67602
67603 2007-07-23  Ben Pfaff  <blp@gnu.org>
67604
67605         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67606         better code generation, and add U to large constants to avoid
67607         warnings, in non-GCC case.
67608         Suggested by Bruno Haible.
67609
67610 2007-07-23  Ben Pfaff  <blp@gnu.org>
67611
67612         * lib/popcount.h: Use verify_true instead of if...abort.
67613         * modules/popcount: Depend on verify module.
67614         Suggested by Jim Meyering.
67615
67616 2007-07-23  Bruno Haible  <bruno@clisp.org>
67617
67618         * gnulib-tool (func_import): Create a .cvsignore file also when the
67619         directory is not yet in CVS but the toplevel directory is. When
67620         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67621         Reported by Karl Berry.
67622
67623 2007-07-22  Ben Pfaff  <blp@gnu.org>
67624
67625         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67626         case.
67627         Suggested by Eric Blake.
67628
67629 2007-07-22  Ben Pfaff  <blp@gnu.org>
67630
67631         New module: popcount.
67632         * MODULES.html.sh: Add popcount.
67633         * modules/popcount: New file.
67634         * modules/popcount-tests: New file.
67635         * tests/test-popcount.c: New file.
67636         * lib/popcount.h: New file.
67637         * m4/popcount.m4: New file.
67638
67639 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67640
67641         * build-aux/announce-gen: Update to GPLv3.
67642
67643         * build-aux/config.guess: Update from config.
67644
67645 2007-07-21  Bruno Haible  <bruno@clisp.org>
67646
67647         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67648         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67649
67650 2007-07-20  Jim Meyering  <jim@meyering.net>
67651
67652         * check-module: Diagnose a self-dependency.
67653
67654 2007-07-19  Bruno Haible  <bruno@clisp.org>
67655
67656         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67657         empty.
67658         Reported by Eric Blake.
67659
67660 2007-07-18  Bruno Haible  <bruno@clisp.org>
67661
67662         * gnulib-tool: New options --po-base, --po-domain.
67663         (func_usage): Document them.
67664         (pobase, po_domain): New variables.
67665         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67666         DEFAULT_TEXT_DOMAIN.
67667         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67668         (func_import): Consider pobase and po_domain. Create a po/ directory.
67669         (func_create_testdir): Set pobase and po_domain to empty.
67670         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67671         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67672
67673 2007-07-18  Bruno Haible  <bruno@clisp.org>
67674
67675         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67676         EXTRA_DIST augmentation for files in build-aux/.
67677
67678 2007-07-16  Bruno Haible  <bruno@clisp.org>
67679
67680         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67681         * modules/getdelim (License): Likewise.
67682
67683 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67684
67685         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67686         * modules/d-type (License): Likewise.
67687         * modules/extensions (License): Likewise.
67688         * modules/fnmatch (License): Likewise.
67689         * modules/fseeko (License): Likewise.
67690         * modules/getaddrinfo (License): Likewise.
67691         * modules/getline (License): Likewise.
67692         * modules/getlogin_r (License): Likewise.
67693         * modules/getpass (License): Likewise.
67694         * modules/gettimeofday (License): Likewise.
67695         * modules/glob (License): Likewise.
67696         * modules/inet_ntop (License): Likewise.
67697         * modules/malloc (License): Likewise.
67698         * modules/malloca (License): Likewise.
67699         * modules/memmem (License): Likewise.
67700         * modules/mempcpy (License): Likewise.
67701         * modules/memset (License): Likewise.
67702         * modules/minmax (License): Likewise.
67703         * modules/mktime (License): Likewise.
67704         * modules/netinet_in (License): Likewise.
67705         * modules/pathmax (License): Likewise.
67706         * modules/poll (License): Likewise.
67707         * modules/regex (License): Likewise.
67708         * modules/snprintf (License): Likewise.
67709         * modules/stdbool (License): Likewise.
67710         * modules/stdint (License): Likewise.
67711         * modules/stdio (License): Likewise.
67712         * modules/strcase (License): Likewise.
67713         * modules/strcasestr (License): Likewise.
67714         * modules/strdup (License): Likewise.
67715         * modules/string (License): Likewise.
67716         * modules/strndup (License): Likewise.
67717         * modules/strnlen (License): Likewise.
67718         * modules/strpbrk (License): Likewise.
67719         * modules/strptime (License): Likewise.
67720         * modules/strsep (License): Likewise.
67721         * modules/sys_select (License): Likewise.
67722         * modules/sys_socket (License): Likewise.
67723         * modules/sys_stat (License): Likewise.
67724         * modules/sys_time (License): Likewise.
67725         * modules/time (License): Likewise.
67726         * modules/time_r (License): Likewise.
67727         * modules/timegm (License): Likewise.
67728         * modules/unistd (License): Likewise.
67729         * modules/vsnprintf (License): Likewise.
67730         * modules/wctype (License): Likewise.
67731
67732 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67733
67734         * modules/argz (License): LGPLv2+.
67735
67736 2007-07-15  Karl Berry  <karl@gnu.org>
67737
67738         * doc/gnulib.texi: revise node structure per new fdl.texi.
67739
67740 2007-07-14  Bruno Haible  <bruno@clisp.org>
67741
67742         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67743         the output file.
67744         * lib/uniname/uninames.h: Regenerated.
67745
67746 2007-07-14  Karl Berry  <karl@gnu.org>
67747
67748         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67749         omitting sectioning and index commands.
67750
67751 2007-07-13  Bruno Haible  <bruno@clisp.org>
67752
67753         New gnulib-tool option --more-symlinks.
67754         * gnulib-tool (func_usage): Document --more-symlinks.
67755         (do_copyrights): New variable.
67756         Recognize option --more-symlinks.
67757         (func_import): Don't add a copyright notice transform to
67758         sed_transform_lib_file if do_copyrights is empty.
67759
67760 2007-07-13  Bruno Haible  <bruno@clisp.org>
67761
67762         * lib/vasnprintf.c (decimal_point_char): Define also if
67763         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67764         && !NEED_PRINTF_DIRECTIVE_A.
67765         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67766         Gary V. Vaughan <gary@gnu.org>.
67767
67768 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67769
67770         * lib/inttypes_.h: Undo previous change, since it was fixed
67771         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67772
67773 2007-07-13  Bruno Haible  <bruno@clisp.org>
67774
67775         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67776         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67777
67778 2007-07-13  Jim Meyering  <jim@meyering.net>
67779
67780         df: Don't fail for Tru64's "file-on-file mount".
67781         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67782         so we fall through and use statfs instead.  Details here:
67783         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67784         Reported by Albert Chin.
67785
67786 2007-07-13  Bruno Haible  <bruno@clisp.org>
67787
67788         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67789         * modules/configmake (License): Likewise.
67790         * modules/gettext (License): Likewise.
67791         * modules/gettext-h (License): Likewise.
67792         * modules/include_next (License): Likewise.
67793         * modules/link-warning (License): Likewise.
67794         * modules/localcharset (License): Likewise.
67795         * modules/localename (License): Likewise.
67796         * modules/lock (License): Likewise.
67797         * modules/relocatable-lib-lgpl (License): Likewise.
67798         * modules/size_max (License): Likewise.
67799         * modules/vasnprintf (License): Likewise.
67800         * modules/wchar (License): Likewise.
67801         * modules/xsize (License): Likewise.
67802
67803 2007-07-13  Bruno Haible  <bruno@clisp.org>
67804
67805         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67806         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67807
67808 2007-07-12  Bruno Haible  <bruno@clisp.org>
67809
67810         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67811         in the modules files.
67812
67813 2007-07-11  Karl Berry  <karl@gnu.org>
67814
67815         * MODULES.html.sh (func_module): use
67816          sed -e '\|^'"${includefile}"'$|d'
67817          instead of /.../d, to avoid errors on $includefile's containing /.
67818
67819 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67820
67821         * gnulib-tool (func_import): Avoid duplication of --avoid
67822         statements
67823         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67824         names to `_' in variable names.
67825
67826 2007-07-10  Eric Blake  <ebb9@byu.net>
67827
67828         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67829         * NEWS: Document this change.
67830
67831 2007-07-08  Bruno Haible  <bruno@clisp.org>
67832
67833         Update to Unicode 5.0.
67834         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67835         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67836         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67837         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67838         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67839         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67840         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67841         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67842         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67843         U+10A3F, U+1D242..U+1D244.
67844         (nonspacing_table_ind): Update.
67845         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67846         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67847
67848 2007-07-08  Bruno Haible  <bruno@clisp.org>
67849
67850         Update to Unicode 5.0.
67851         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67852         code transform. Extend the name index field of unicode_name_to_code and
67853         unicode_code_to_name from 16 to 24 bits.
67854         * lib/uniname/uniname.c (unicode_character_name,
67855         unicode_name_character): Add the range 0x12xxx to the code transform.
67856         * lib/uniname/uninames.h: Regenerated.
67857         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67858
67859 2007-07-07  Bruno Haible  <bruno@clisp.org>
67860
67861         * modules/wcwidth-tests: New file.
67862         * tests/test-wcwidth.c: New file.
67863
67864         Work around MacOS X wcwidth() bug.
67865         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67866         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67867         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67868         original wcwidth in non-UTF-8 locales.
67869         * modules/wcwidth (Depends-on): Add localcharset, streq,
67870         uniwidth/width.
67871         * doc/functions/wcwidth.texi: Update.
67872
67873 2007-07-07  Bruno Haible  <bruno@clisp.org>
67874
67875         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67876         (wcwidth): New declaration.
67877         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67878         macros.
67879         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67880         here. Prepare for creating <wchar.h> unconditionally.
67881         * modules/wchar (Depends-on): Add link-warning.
67882         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67883         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67884         * lib/wcwidth.h: Remove file.
67885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67886         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67887         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67888         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67889         (Include): Replace wcwidth.h with <wchar.h>.
67890         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67891         * lib/mbchar.h: Don't include wcwidth.h.
67892         * lib/mbswidth.c: Likewise.
67893         * NEWS: Mention the change.
67894
67895 2007-07-07  Bruno Haible  <bruno@clisp.org>
67896
67897         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67898         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67899         definition with an external declaration.
67900         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67901         defined as a function. Remove AC_C_INLINE requirement.
67902         * modules/wcwidth (Files): Add lib/wcwidth.c.
67903         (Makefile.am): Remove redundant statement.
67904
67905 2007-07-07  Bruno Haible  <bruno@clisp.org>
67906
67907         * MODULES.html.sh (Unicode string functions): Add the new modules.
67908
67909         * tests/uniwidth/test-u32-strwidth.c: New file.
67910         * modules/uniwidth/u32-strwidth-tests: New file.
67911
67912         * lib/uniwidth/u32-strwidth.c: New file.
67913         * modules/uniwidth/u32-strwidth: New file.
67914
67915         * tests/uniwidth/test-u16-strwidth.c: New file.
67916         * modules/uniwidth/u16-strwidth-tests: New file.
67917
67918         * lib/uniwidth/u16-strwidth.c: New file.
67919         * modules/uniwidth/u16-strwidth: New file.
67920
67921         * tests/uniwidth/test-u8-strwidth.c: New file.
67922         * modules/uniwidth/u8-strwidth-tests: New file.
67923
67924         * lib/uniwidth/u8-strwidth.c: New file.
67925         * modules/uniwidth/u8-strwidth: New file.
67926
67927         * tests/uniwidth/test-u32-width.c: New file.
67928         * modules/uniwidth/u32-width-tests: New file.
67929
67930         * lib/uniwidth/u32-width.c: New file.
67931         * modules/uniwidth/u32-width: New file.
67932
67933         * tests/uniwidth/test-u16-width.c: New file.
67934         * modules/uniwidth/u16-width-tests: New file.
67935
67936         * lib/uniwidth/u16-width.c: New file.
67937         * modules/uniwidth/u16-width: New file.
67938
67939         * tests/uniwidth/test-u8-width.c: New file.
67940         * modules/uniwidth/u8-width-tests: New file.
67941
67942         * lib/uniwidth/u8-width.c: New file.
67943         * modules/uniwidth/u8-width: New file.
67944
67945         * tests/uniwidth/test-uc_width.c: New file.
67946         * modules/uniwidth/width-tests: New file.
67947
67948         * lib/uniwidth/width.c: New file, from GNU libiconv.
67949         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67950         * modules/uniwidth/width: New file.
67951
67952         * lib/uniwidth.h: New file, from GNU libiconv.
67953         * modules/uniwidth/base: New file.
67954
67955 2007-07-07  Bruno Haible  <bruno@clisp.org>
67956
67957         * lib/uniname.h: New file, from GNU gettext.
67958         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67959         * lib/uniname/uninames.h: New file, from GNU gettext.
67960         * lib/uniname/uniname.c: New file, from GNU gettext.
67961         * tests/uniname/test-uninames.sh: New file.
67962         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67963         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67964         * modules/uniname/base: New file.
67965         * modules/uniname/uniname: New file.
67966         * modules/uniname/uniname-tests: New file.
67967         * MODULES.html.sh (Unicode string functions): Add the new modules.
67968
67969 2007-07-06  Bruno Haible  <bruno@clisp.org>
67970
67971         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67972
67973 2007-07-06  Bruno Haible  <bruno@clisp.org>
67974
67975         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67976         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67977         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67978         include <sys/time.h>.
67979         Reported by Eric Blake.
67980
67981 2007-07-06  Eric Blake  <ebb9@byu.net>
67982
67983         Fix testing canonicalize on cygwin.
67984         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67985         Revert patch from 2007-06-19.
67986         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67987         canonicalize module is also in use.
67988         * tests/test-canonicalize.c: New file.
67989         * tests/test-canonicalize.sh: Likewise.
67990         * modules/canonicalize-tests: Likewise.
67991
67992 2007-07-06  Jim Meyering  <jim@meyering.net>
67993
67994         * lib/getugroups.c (getugroups): Detect getgrent failure.
67995         Adjust comment to reflect reality: this function may return -1.
67996
67997 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67998
67999         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68000         the new TP address.
68001         (usage): Fix typo
68002         (gnulib_mk): New variable.
68003
68004 2007-07-05  Jim Meyering  <jim@meyering.net>
68005
68006         Don't let endgrent clobber errno, no matter how improbable.
68007         * lib/getugroups.c (getugroups): Save and restore errno around
68008         endgrent call.
68009
68010         Close the group DB even when failing with 2^31 or more members.
68011         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68012
68013 2007-07-04  Jim Meyering  <jim@meyering.net>
68014
68015         * lib/getugroups.h: New file.
68016         * lib/getugroups.c: Include "getugroups.h".
68017         Remove uses of "register" keyword.
68018         Move local variable, "cp", down into scope where used.
68019         Give "username" parameter the "const" attribute.
68020         * modules/getugroups (Files): Add lib/getugroups.h
68021
68022 2007-07-04  Karl Berry  <karl@gnu.org>
68023
68024         * MODULES.html.sh (func_all_modules): Complete rename of
68025         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68026
68027 2007-07-02  Bruno Haible  <bruno@clisp.org>
68028
68029         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68030         mode, when inttypes.h comes from gnulib.
68031         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68032
68033 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68034
68035         * NEWS: Mention lgpl module name change.
68036
68037         * modules/lgpl-2.1: Renamed from lgpl.
68038
68039         * NEWS: Mention gpl module name change.
68040
68041         * modules/gpl-3.0: New file, based on gpl-2.0.
68042
68043         * modules/gpl-2.0: Renamed from gpl.
68044
68045         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68046         doc/gpl-2.0.texi.
68047
68048 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68049
68050         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68051         #define __STDC_LIMIT_MACROS temporarily while including
68052         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68053         Problem reported by Joel E. Denny in
68054         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68055
68056 2007-07-01  Bruno Haible  <bruno@clisp.org>
68057
68058         * lib/unistdio.h: New file.
68059         * lib/unistdio/u-asnprintf.h: New file.
68060         * lib/unistdio/u-asprintf.h: New file.
68061         * lib/unistdio/u-printf-args.c: New file.
68062         * lib/unistdio/u-printf-args.h: New file.
68063         * lib/unistdio/u-printf-parse.h: New file.
68064         * lib/unistdio/u-snprintf.h: New file.
68065         * lib/unistdio/u-sprintf.h: New file.
68066         * lib/unistdio/u-vasprintf.h: New file.
68067         * lib/unistdio/u-vsnprintf.h: New file.
68068         * lib/unistdio/u-vsprintf.h: New file.
68069         * lib/unistdio/ulc-asnprintf.c: New file.
68070         * lib/unistdio/ulc-asprintf.c: New file.
68071         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68072         * lib/unistdio/ulc-printf-parse.c: New file.
68073         * lib/unistdio/ulc-snprintf.c: New file.
68074         * lib/unistdio/ulc-sprintf.c: New file.
68075         * lib/unistdio/ulc-vasnprintf.c: New file.
68076         * lib/unistdio/ulc-vasprintf.c: New file.
68077         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
68078         * lib/unistdio/ulc-vsnprintf.c: New file.
68079         * lib/unistdio/ulc-vsprintf.c: New file.
68080         * lib/unistdio/u8-asnprintf.c: New file.
68081         * lib/unistdio/u8-asprintf.c: New file.
68082         * lib/unistdio/u8-printf-parse.c: New file.
68083         * lib/unistdio/u8-snprintf.c: New file.
68084         * lib/unistdio/u8-sprintf.c: New file.
68085         * lib/unistdio/u8-vasnprintf.c: New file.
68086         * lib/unistdio/u8-vasprintf.c: New file.
68087         * lib/unistdio/u8-vsnprintf.c: New file.
68088         * lib/unistdio/u8-vsprintf.c: New file.
68089         * lib/unistdio/u8-u8-asnprintf.c: New file.
68090         * lib/unistdio/u8-u8-asprintf.c: New file.
68091         * lib/unistdio/u8-u8-snprintf.c: New file.
68092         * lib/unistdio/u8-u8-sprintf.c: New file.
68093         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68094         * lib/unistdio/u8-u8-vasprintf.c: New file.
68095         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68096         * lib/unistdio/u8-u8-vsprintf.c: New file.
68097         * lib/unistdio/u16-asnprintf.c: New file.
68098         * lib/unistdio/u16-asprintf.c: New file.
68099         * lib/unistdio/u16-printf-parse.c: New file.
68100         * lib/unistdio/u16-snprintf.c: New file.
68101         * lib/unistdio/u16-sprintf.c: New file.
68102         * lib/unistdio/u16-vasnprintf.c: New file.
68103         * lib/unistdio/u16-vasprintf.c: New file.
68104         * lib/unistdio/u16-vsnprintf.c: New file.
68105         * lib/unistdio/u16-vsprintf.c: New file.
68106         * lib/unistdio/u16-u16-asnprintf.c: New file.
68107         * lib/unistdio/u16-u16-asprintf.c: New file.
68108         * lib/unistdio/u16-u16-snprintf.c: New file.
68109         * lib/unistdio/u16-u16-sprintf.c: New file.
68110         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68111         * lib/unistdio/u16-u16-vasprintf.c: New file.
68112         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68113         * lib/unistdio/u16-u16-vsprintf.c: New file.
68114         * lib/unistdio/u32-asnprintf.c: New file.
68115         * lib/unistdio/u32-asprintf.c: New file.
68116         * lib/unistdio/u32-printf-parse.c: New file.
68117         * lib/unistdio/u32-snprintf.c: New file.
68118         * lib/unistdio/u32-sprintf.c: New file.
68119         * lib/unistdio/u32-vasnprintf.c: New file.
68120         * lib/unistdio/u32-vasprintf.c: New file.
68121         * lib/unistdio/u32-vsnprintf.c: New file.
68122         * lib/unistdio/u32-vsprintf.c: New file.
68123         * lib/unistdio/u32-u32-asnprintf.c: New file.
68124         * lib/unistdio/u32-u32-asprintf.c: New file.
68125         * lib/unistdio/u32-u32-snprintf.c: New file.
68126         * lib/unistdio/u32-u32-sprintf.c: New file.
68127         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68128         * lib/unistdio/u32-u32-vasprintf.c: New file.
68129         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68130         * lib/unistdio/u32-u32-vsprintf.c: New file.
68131         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68132         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68133         * tests/unistdio/test-ulc-printf1.h: New file.
68134         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68135         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68136         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68137         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68138         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68139         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68140         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68141         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68142         * tests/unistdio/test-u8-asnprintf1.c: New file.
68143         * tests/unistdio/test-u8-asnprintf1.h: New file.
68144         * tests/unistdio/test-u8-printf1.h: New file.
68145         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68146         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68147         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68148         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68149         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68150         * tests/unistdio/test-u8-vasprintf1.c: New file.
68151         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68152         * tests/unistdio/test-u8-vsprintf1.c: New file.
68153         * tests/unistdio/test-u16-asnprintf1.c: New file.
68154         * tests/unistdio/test-u16-asnprintf1.h: New file.
68155         * tests/unistdio/test-u16-printf1.h: New file.
68156         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68157         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68158         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68159         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68160         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68161         * tests/unistdio/test-u16-vasprintf1.c: New file.
68162         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68163         * tests/unistdio/test-u16-vsprintf1.c: New file.
68164         * tests/unistdio/test-u32-asnprintf1.c: New file.
68165         * tests/unistdio/test-u32-asnprintf1.h: New file.
68166         * tests/unistdio/test-u32-printf1.h: New file.
68167         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68168         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68169         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68170         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68171         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68172         * tests/unistdio/test-u32-vasprintf1.c: New file.
68173         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68174         * tests/unistdio/test-u32-vsprintf1.c: New file.
68175         * modules/unistdio/base: New file.
68176         * modules/unistdio/u-printf-args: New file.
68177         * modules/unistdio/ulc-asnprintf: New file.
68178         * modules/unistdio/ulc-asprintf: New file.
68179         * modules/unistdio/ulc-fprintf: New file.
68180         * modules/unistdio/ulc-printf-parse: New file.
68181         * modules/unistdio/ulc-snprintf: New file.
68182         * modules/unistdio/ulc-sprintf: New file.
68183         * modules/unistdio/ulc-vasnprintf: New file.
68184         * modules/unistdio/ulc-vasprintf: New file.
68185         * modules/unistdio/ulc-vfprintf: New file.
68186         * modules/unistdio/ulc-vsnprintf: New file.
68187         * modules/unistdio/ulc-vsprintf: New file.
68188         * modules/unistdio/u8-asnprintf: New file.
68189         * modules/unistdio/u8-asprintf: New file.
68190         * modules/unistdio/u8-printf-parse: New file.
68191         * modules/unistdio/u8-snprintf: New file.
68192         * modules/unistdio/u8-sprintf: New file.
68193         * modules/unistdio/u8-vasnprintf: New file.
68194         * modules/unistdio/u8-vasprintf: New file.
68195         * modules/unistdio/u8-vsnprintf: New file.
68196         * modules/unistdio/u8-vsprintf: New file.
68197         * modules/unistdio/u8-u8-asnprintf: New file.
68198         * modules/unistdio/u8-u8-asprintf: New file.
68199         * modules/unistdio/u8-u8-snprintf: New file.
68200         * modules/unistdio/u8-u8-sprintf: New file.
68201         * modules/unistdio/u8-u8-vasnprintf: New file.
68202         * modules/unistdio/u8-u8-vasprintf: New file.
68203         * modules/unistdio/u8-u8-vsnprintf: New file.
68204         * modules/unistdio/u8-u8-vsprintf: New file.
68205         * modules/unistdio/u16-asnprintf: New file.
68206         * modules/unistdio/u16-asprintf: New file.
68207         * modules/unistdio/u16-printf-parse: New file.
68208         * modules/unistdio/u16-snprintf: New file.
68209         * modules/unistdio/u16-sprintf: New file.
68210         * modules/unistdio/u16-vasnprintf: New file.
68211         * modules/unistdio/u16-vasprintf: New file.
68212         * modules/unistdio/u16-vsnprintf: New file.
68213         * modules/unistdio/u16-vsprintf: New file.
68214         * modules/unistdio/u16-u16-asnprintf: New file.
68215         * modules/unistdio/u16-u16-asprintf: New file.
68216         * modules/unistdio/u16-u16-snprintf: New file.
68217         * modules/unistdio/u16-u16-sprintf: New file.
68218         * modules/unistdio/u16-u16-vasnprintf: New file.
68219         * modules/unistdio/u16-u16-vasprintf: New file.
68220         * modules/unistdio/u16-u16-vsnprintf: New file.
68221         * modules/unistdio/u16-u16-vsprintf: New file.
68222         * modules/unistdio/u32-asnprintf: New file.
68223         * modules/unistdio/u32-asprintf: New file.
68224         * modules/unistdio/u32-printf-parse: New file.
68225         * modules/unistdio/u32-snprintf: New file.
68226         * modules/unistdio/u32-sprintf: New file.
68227         * modules/unistdio/u32-vasnprintf: New file.
68228         * modules/unistdio/u32-vasprintf: New file.
68229         * modules/unistdio/u32-vsnprintf: New file.
68230         * modules/unistdio/u32-vsprintf: New file.
68231         * modules/unistdio/u32-u32-asnprintf: New file.
68232         * modules/unistdio/u32-u32-asprintf: New file.
68233         * modules/unistdio/u32-u32-snprintf: New file.
68234         * modules/unistdio/u32-u32-sprintf: New file.
68235         * modules/unistdio/u32-u32-vasnprintf: New file.
68236         * modules/unistdio/u32-u32-vasprintf: New file.
68237         * modules/unistdio/u32-u32-vsnprintf: New file.
68238         * modules/unistdio/u32-u32-vsprintf: New file.
68239         * modules/unistdio/ulc-asnprintf-tests: New file.
68240         * modules/unistdio/ulc-vasnprintf-tests: New file.
68241         * modules/unistdio/ulc-vasprintf-tests: New file.
68242         * modules/unistdio/ulc-vsnprintf-tests: New file.
68243         * modules/unistdio/ulc-vsprintf-tests: New file.
68244         * modules/unistdio/u8-asnprintf-tests: New file.
68245         * modules/unistdio/u8-vasnprintf-tests: New file.
68246         * modules/unistdio/u8-vasprintf-tests: New file.
68247         * modules/unistdio/u8-vsnprintf-tests: New file.
68248         * modules/unistdio/u8-vsprintf-tests: New file.
68249         * modules/unistdio/u16-asnprintf-tests: New file.
68250         * modules/unistdio/u16-vasnprintf-tests: New file.
68251         * modules/unistdio/u16-vasprintf-tests: New file.
68252         * modules/unistdio/u16-vsnprintf-tests: New file.
68253         * modules/unistdio/u16-vsprintf-tests: New file.
68254         * modules/unistdio/u32-asnprintf-tests: New file.
68255         * modules/unistdio/u32-vasnprintf-tests: New file.
68256         * modules/unistdio/u32-vasprintf-tests: New file.
68257         * modules/unistdio/u32-vsnprintf-tests: New file.
68258         * modules/unistdio/u32-vsprintf-tests: New file.
68259         * MODULES.html.sh (Unicode string functions): Add the new modules.
68260
68261 2007-07-01  Bruno Haible  <bruno@clisp.org>
68262
68263         * lib/sprintf.c (sprintf): Limit the available length estimation,
68264         to avoid address wraparound.
68265         * lib/vsprintf.c (vsprintf): Likewise.
68266         * modules/sprintf-posix (Dependencies): Add stdint.
68267         * modules/vsprintf-posix (Dependencies): Likewise.
68268
68269 2007-07-01  Bruno Haible  <bruno@clisp.org>
68270
68271         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68272         Windows PATH as well. Conservative double-quoting. Comments.
68273
68274 2007-07-01  Bruno Haible  <bruno@clisp.org>
68275             Eric Blake  <ebb9@byu.net>
68276             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68277
68278         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68279         empty components in $PATH, denoting '.'.
68280
68281 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68282
68283         * gnulib-tool: Fix indentation.
68284         (func_create_megatestdir): Likewise.
68285         Report by Bruno Haible.
68286
68287 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68288
68289         Sync from Automake.
68290         * build-aux/gnupload: Fix shell portability issues with for loops.
68291         Report by Karl Berry.
68292
68293 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68294
68295         * build-aux/maint.mk (POURL): Use translationproject.org.
68296
68297 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68298             Bruno Haible  <bruno@clisp.org>
68299
68300         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68301         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68302         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68303         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68304         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68305
68306 2007-06-27  Bruno Haible  <bruno@clisp.org>
68307
68308         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68309         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68310
68311 2007-06-26  Karl Berry  <karl@gnu.org>
68312
68313         * MODULES.html.sh: remove xreadlink-with-size.
68314
68315 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68316
68317         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68318         method that I hope also handles the double-include problem noted
68319         by Bruno Haible in
68320         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68321
68322 2007-06-23  Bruno Haible  <bruno@clisp.org>
68323
68324         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68325         Don't let the 'mostlyclean' target fail if the last subdirectory could
68326         not be removed.
68327         Reported by Karl Berry.
68328
68329 2007-06-23  Bruno Haible  <bruno@clisp.org>
68330
68331         * gnulib-tool (echo): Add a speedier workaround for ksh.
68332         * tests/test-echo.sh: Likewise.
68333
68334 2007-06-23  Bruno Haible  <bruno@clisp.org>
68335
68336         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68337         * tests/test-echo.sh: Likewise.
68338
68339 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68340
68341         * gnulib-tool (IFS): Initialize early, so we don't set it to
68342         empty later.
68343         (self_abspathname): Rewrite algorithm to set it, reindent.
68344         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68345         (func_create_megatestdir): Merge some sed scripts.
68346
68347 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68348
68349         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68350         exposed by Sun Studio 11 cc on Solaris 8.
68351
68352 2007-06-22  Bruno Haible  <bruno@clisp.org>
68353
68354         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68355         backslashes.
68356         * tests/test-echo.sh: New file.
68357
68358 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68359
68360         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68361         simplify `sed_replace_build_aux' scripts, they are portable but
68362         echoing them with `echo' is not.
68363         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68364
68365 2007-06-21  Karl Berry  <karl@gnu.org>
68366
68367         * config/srclist.txt: guess we can't handle the licenses via
68368         srclist at the moment.
68369
68370 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68371
68372         * MODULES.html.sh: Add include_next.
68373         * modules/include_next: New file.
68374
68375 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68376
68377         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68378         INCLUDE_NEXT.
68379         (gl_CHECK_NEXT_HEADERS): New macro.
68380         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68381         the obsolescent gl_ABSOLUTE_HEADER.
68382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68383         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68384         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68385         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68386         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68387         * m4/math_h.m4 (gl_MATH_H): Likewise.
68388         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68389         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68390         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68391         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68392         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68393         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68394         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68395         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68396         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68397         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68398         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68399         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68400         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68401         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68402         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68403         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68404         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68405         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68406         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68407         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68408         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68409         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68410         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68411         * lib/float_.h: Likewise.
68412         * lib/inttypes_.h: Likewise.
68413         * lib/math_.h: Likewise.
68414         * lib/search_.h: Likewise.
68415         * lib/signal_.h: Likewise.
68416         * lib/stdint_.h: Likewise.
68417         * lib/stdio_.h: Likewise.
68418         * lib/stdlib_.h: Likewise.
68419         * lib/string_.h: Likewise.
68420         * lib/sys_stat_.h: Likewise.
68421         * lib/sys_time_.h: Likewise.
68422         * lib/time_.h: Likewise.
68423         * lib/unistd_.h: Likewise.
68424         * lib/wchar_.h: Likewise.
68425         * lib/wctype_.h: Likewise.
68426         * lib/dirent_.h: Likewise.
68427         * lib/iconv_.h: Likewise.
68428         * lib/locale_.h: Likewise.
68429         * lib/netinet_in_.h: Likewise.
68430         * lib/sys_select_.h: Likewise.
68431         * lib/sys_socket_.h: Likewise.
68432         * lib/sysexits_.h: Likewise.
68433         * modules/fcntl (Depends-on): Depend on include_next, not
68434         absolute_header.
68435         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68436         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68437         * modules/fchdir: Likewise.
68438         * modules/float: Likewise.
68439         * modules/iconv_open: Likewise.
68440         * modules/inttypes: Likewise.
68441         * modules/locale: Likewise.
68442         * modules/math: Likewise.
68443         * modules/netinet_in: Likewise.
68444         * modules/search: Likewise.
68445         * modules/signal: Likewise.
68446         * modules/stdint: Likewise.
68447         * modules/stdio: Likewise.
68448         * modules/stdlib: Likewise.
68449         * modules/string: Likewise.
68450         * modules/sys_select: Likewise.
68451         * modules/sys_socket: Likewise.
68452         * modules/sys_stat: Likewise.
68453         * modules/sys_time: Likewise.
68454         * modules/sysexits: Likewise.
68455         * modules/time: Likewise.
68456         * modules/unistd: Likewise.
68457         * modules/wchar: Likewise.
68458         * modules/wctype: Likewise.
68459         * modules/sys_stat: Change maintainer to "all".
68460         * modules/unistd: Likewise.
68461
68462 2007-06-20  Karl Berry  <karl@gnu.org>
68463
68464         * config/srclist.txt: track www changes in license files.
68465
68466 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68467
68468         * build-aux/bootstrap: Remove stray dot.
68469         Make sure build_aux settings are honored when linking
68470         gnulib_extra_files.
68471
68472 2007-06-19  Eric Blake  <ebb9@byu.net>
68473
68474         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68475         Allow compilation on cygwin.
68476
68477 2007-06-19  Jim Meyering  <jim@meyering.net>
68478
68479         xreadlink-with-size: Remove module.  No longer used.
68480         Ex-callers now use xreadlink or mreadlink-with-size.
68481         * modules/xreadlink-with-size: Remove module.
68482         * lib/xreadlink-with-size.c: Remove file.
68483         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68484         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68485         just before the function definition *is* accurate.
68486
68487         Eliminate one way canonicalize_filename_mode could exit.
68488         * lib/canonicalize.c (canonicalize_filename_mode):
68489         Use mreadlink_with_size, not xreadlink_with_size.
68490
68491 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68492
68493         Detect porting problems to FreeBSD/arm, which has time_t wider than
68494         long int.  Original problem reported for GNU diff by Xin Li in
68495         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68496         * modules/getdate (Depends-on): Add intprops, verify.
68497         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68498         is an integer type no wider than long int.
68499
68500 2007-06-18  Jim Meyering  <jim@meyering.net>
68501
68502         New module: mreadlink-with-size.
68503         * MODULES.html.sh: Add mreadlink-with-size.
68504         * modules/mreadlink-with-size: New module
68505         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68506         not xreadlink-with-size.
68507         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68508
68509 2007-06-16  Bruno Haible  <bruno@clisp.org>
68510
68511         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68512         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68513         Reported by Gary V. Vaughan <gary@gnu.org>.
68514
68515 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68516
68517         Revamp lchown so that it lives in unistd.h where it belongs.
68518         * lib/lchown.h: Remove.
68519         * lib/dirchownmod.c: Don't include lib/lchown.h.
68520         * lib/fchownat.c: Likewise.
68521         * lib/openat.c: Likewise.
68522         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68523         does not follow symlinks.
68524         (EOPNOTSUPP): Define if not defined.
68525         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68526         is defined to 0.
68527         (lchown): New decl.
68528         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68529         Do not check for lchown decl.
68530         Set REPLACE_LCHOWN.
68531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68532         REPLACE_LCHOWN.
68533         * modules/chown: Make it clear it follows symlinks.
68534         * modules/lchown: Make it clear it doesn't follow symlinks.
68535         (Files): Remove lib/lchown.h
68536         (Depends-on): Add unistd.
68537         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68538         (Include): Include <unistd.h>, not "lchown.h".
68539         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68540         REPLACE_LCHOWN.
68541
68542 2007-06-15  Jim Meyering  <jim@meyering.net>
68543
68544         Change license (GPL to LGPL) of fsusage and dependents.
68545         * modules/fsusage (License): Change to LGPL.
68546         * modules/full-read (License): Likewise.
68547         * modules/full-write (License): Likewise.
68548         * modules/safe-read (License): Likewise.
68549         * modules/safe-write (License): Likewise.
68550
68551 2007-06-14  Ben Pfaff  <blp@gnu.org>
68552
68553         Missing part of allocsa -> malloca transition.
68554         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68555         gl_MALLOCA.
68556
68557 2007-06-12  Bruno Haible  <bruno@clisp.org>
68558
68559         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68560         to ia64, x86_64, i386.
68561         Reported by Eric Blake.
68562
68563 2007-06-12  Bruno Haible  <bruno@clisp.org>
68564
68565         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68566         cross-compiling to x86_64.
68567
68568 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68569
68570         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68571         glitch reported by Ralf Wildenhues in
68572         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68573
68574         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68575         Vin Shelton.
68576
68577 2007-06-11  Bruno Haible  <bruno@clisp.org>
68578
68579         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68580         replacement string.
68581         Reported by Eric Blake.
68582
68583 2007-06-10  Bruno Haible  <bruno@clisp.org>
68584
68585         Prepare vasnprintf code for use with Unicode strings.
68586         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68587         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68588         TYPE_U32_STRING.
68589         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68590         a_u32_string variants.
68591         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68592         * lib/printf-args.c: Don't include config.h and the specification
68593         header if PRINTF_FETCHARGS is already defined.
68594         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68595         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68596         TYPE_U16_STRING, TYPE_U32_STRING.
68597         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68598         u16_directive, u16_directives, u32_directive, u32_directives): New
68599         types.
68600         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68601         New declarations.
68602         * lib/printf-parse.c: Don't include config.h and the specification
68603         header if PRINTF_PARSE is already defined. Eliminate the set of
68604         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68605         them now. Include c-ctype.h.
68606         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68607         directive and CHAR_T_ONLY_ASCII.
68608         * lib/vasnprintf.c: Don't include config.h and the specification header
68609         if VASNPRINTF is already defined.
68610         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68611         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68612         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68613         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68614         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68615         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68616         code accordingly.
68617         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68618         pad_ourselves also in this case, with the 'c' and 's' directives, and
68619         with a different notion of "width".
68620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68621
68622 2007-06-10  Bruno Haible  <bruno@clisp.org>
68623
68624         * modules/unistr/u32-mbsnlen: New file.
68625         * lib/unistr/u32-mbsnlen.c: New file.
68626
68627         * modules/unistr/u16-mbsnlen: New file.
68628         * lib/unistr/u16-mbsnlen.c: New file.
68629
68630         * modules/unistr/u8-mbsnlen: New file.
68631         * lib/unistr/u8-mbsnlen.c: New file.
68632
68633         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68634         declarations.
68635
68636 2007-06-10  Bruno Haible  <bruno@clisp.org>
68637
68638         * lib/string_.h (mbsnlen): New declaration.
68639         * lib/mbsnlen.c: New file.
68640         * m4/mbsnlen.m4: New file.
68641         * modules/mbsnlen: New file.
68642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68643         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68644         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68645
68646 2007-06-10  Bruno Haible  <bruno@clisp.org>
68647
68648         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68649
68650 2007-06-10  Bruno Haible  <bruno@clisp.org>
68651
68652         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68653         * lib/mbuiter.h: Likewise.
68654
68655 2007-06-10  Bruno Haible  <bruno@clisp.org>
68656
68657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68658         declaration.
68659
68660 2007-06-10  Karl Berry  <karl@gnu.org>
68661
68662         * config/srclist.txt: remove gettext entries, Bruno prefers
68663         to update individually.
68664
68665 2007-06-10  Bruno Haible  <bruno@clisp.org>
68666
68667         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68668         'maxlen'. Ensure only length + width bytes are allocated, not
68669         length + 1 + width.
68670
68671 2007-06-09  Bruno Haible  <bruno@clisp.org>
68672
68673         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68674         (CHAR_T): Remove macro.
68675         (VASNPRINTF): Update.
68676
68677 2007-06-09  Bruno Haible  <bruno@clisp.org>
68678
68679         * MODULES.html.sh (Unicode string functions): Add the new modules.
68680
68681         * modules/uniconv/u32-conv-to-enc: New file.
68682         * lib/uniconv/u32-conv-to-enc.c: New file.
68683         * modules/uniconv/u32-conv-to-enc-tests: New file.
68684         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68685
68686         * modules/uniconv/u16-conv-to-enc: New file.
68687         * lib/uniconv/u16-conv-to-enc.c: New file.
68688         * lib/uniconv/u-conv-to-enc.h: New file.
68689         * modules/uniconv/u16-conv-to-enc-tests: New file.
68690         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68691
68692         * modules/uniconv/u8-conv-to-enc: New file.
68693         * lib/uniconv/u8-conv-to-enc.c: New file.
68694         * modules/uniconv/u8-conv-to-enc-tests: New file.
68695         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68696
68697         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68698         u32_conv_to_encoding): New declarations.
68699
68700 2007-06-09  Bruno Haible  <bruno@clisp.org>
68701
68702         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68703
68704 2007-06-09  Bruno Haible  <bruno@clisp.org>
68705
68706         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68707         * modules/malloca: Renamed from modules/allocsa, updated.
68708         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68709         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68710         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68711         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68712         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68713         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68714         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68715         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68716         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68717         * modules/c-strcasestr (Depends-on): Update.
68718         * lib/c-strcasestr.c: Update.
68719         * modules/c-strstr (Depends-on): Update.
68720         * lib/c-strstr.c: Update.
68721         * modules/canonicalize-lgpl (Depends-on): Update.
68722         * lib/canonicalize-lgpl.c: Update.
68723         * modules/clean-temp (Depends-on): Update.
68724         * lib/clean-temp.c: Update.
68725         * modules/csharpcomp (Depends-on): Update.
68726         * lib/csharpcomp.c: Update.
68727         * modules/csharpexec (Depends-on): Update.
68728         * lib/csharpexec.c: Update.
68729         * modules/javacomp (Depends-on): Update.
68730         * lib/javacomp.c: Update.
68731         * modules/javaexec (Depends-on): Update.
68732         * lib/javaexec.c: Update.
68733         * modules/mbscasestr (Depends-on): Update.
68734         * lib/mbscasestr.c: Update.
68735         * modules/mbsstr (Depends-on): Update.
68736         * lib/mbsstr.c: Update.
68737         * modules/setenv (Depends-on): Update.
68738         * lib/setenv.c: Update.
68739         * modules/strcasestr (Depends-on): Update.
68740         * lib/strcasestr.c: Update.
68741         * modules/striconveha (Depends-on): Update.
68742         * lib/striconveha.c: Update.
68743         * modules/relocatable-prog-wrapper (Files): Update.
68744         * lib/relocwrapper.c: Update.
68745         * build-aux/install-reloc: Update.
68746         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68747
68748 2007-06-08  Bruno Haible  <bruno@clisp.org>
68749
68750         Port to uClibc.
68751         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68752         * lib/fpurge.c (fpurge): Likewise.
68753         * lib/freading.c (freading): Likewise.
68754         * lib/fseeko.c (rpl_fseeko): Likewise.
68755         * lib/fseterr.c (fseterr): Likewise.
68756         * lib/fwriting.c (fwriting): Likewise.
68757         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68758
68759 2007-06-08  Bruno Haible  <bruno@clisp.org>
68760
68761         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68762         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68763         * modules/gettext (Files): Add m4/intlmacosx.m4.
68764
68765 2007-06-07  Bruno Haible  <bruno@clisp.org>
68766
68767         * modules/localename-tests: New file.
68768         * tests/test-localename.c: New file.
68769
68770         New module 'localename'.
68771         * lib/localename.h: New file.
68772         * lib/localename.c: New file, from GNU gettext.
68773         * m4/localename.m4: New file.
68774         * modules/localename: New file.
68775
68776 2007-06-07  Bruno Haible  <bruno@clisp.org>
68777
68778         Work around the lack of <wchar.h> on some builds of uClibc.
68779         * doc/headers/wchar.texi: Update.
68780         * lib/wchar_.h: Include <wchar.h> only if it exists.
68781         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68782         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68783         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68784         doesn't exist.
68785         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68786         * modules/mbfile (Depends-on): Add wchar.
68787         * modules/mbiter (Depends-on): Likewise.
68788         * modules/mbuiter (Depends-on): Likewise.
68789         Reported by Simon Josefsson.
68790
68791 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68792
68793         Work around problem reported by Steven M. Schweda in
68794         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68795         Tru64 5.1B with the Compaq compiler environment installed declares
68796         an 'isblank' function but does not define it in the C library.
68797         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68798         * lib/regex_internal.h (isblank): Likewise.
68799         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68800         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68801
68802 2007-06-05  Bruno Haible  <bruno@clisp.org>
68803
68804         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68805         ia64.
68806         * modules/printf-safe: New file.
68807         * modules/fprintf-posix (Depends-on): Add printf-safe.
68808         * modules/printf-posix (Depends-on): Likewise.
68809         * modules/snprintf-posix (Depends-on): Likewise.
68810         * modules/sprintf-posix (Depends-on): Likewise.
68811         * modules/vasnprintf-posix (Depends-on): Likewise.
68812         * modules/vasprintf-posix (Depends-on): Likewise.
68813         * modules/vfprintf-posix (Depends-on): Likewise.
68814         * modules/vprintf-posix (Depends-on): Likewise.
68815         * modules/vsnprintf-posix (Depends-on): Likewise.
68816         * modules/vsprintf-posix (Depends-on): Likewise.
68817         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68818         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68819         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68820         "no" on i386, x86_64, ia64.
68821         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68822         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68823         on i386, x86_64, ia64.
68824         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68825         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68826         on i386, x86_64, ia64.
68827         * tests/test-vasnprintf-posix.c: Include float.h.
68828         (LDBL80_WORDS): New macro.
68829         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68830         on i386, x86_64, ia64.
68831         * tests/test-vasprintf-posix.c: Include float.h.
68832         (LDBL80_WORDS): New macro.
68833         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68834         on i386, x86_64, ia64.
68835         * tests/test-snprintf-posix.c: Include float.h.
68836         * tests/test-sprintf-posix.c: Likewise.
68837         * tests/test-vsnprintf-posix.c: Likewise.
68838         * tests/test-vsprintf-posix.c: Likewise.
68839
68840 2007-06-05  Bruno Haible  <bruno@clisp.org>
68841
68842         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68843         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68844         non-IEEE numbers on i386, x86_64, ia64.
68845         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68846         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68847         * tests/test-isnanl.h: Include float.h.
68848         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68849
68850 2007-06-05  Bruno Haible  <bruno@clisp.org>
68851
68852         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68853         also the %a / %A. Handle the %a / %A code before this extra handling.
68854
68855 2007-06-05  Bruno Haible  <bruno@clisp.org>
68856
68857         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68858         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68859
68860 2007-06-05  Bruno Haible  <bruno@clisp.org>
68861
68862         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68863         typo in variable name.
68864
68865 2007-06-05  Eric Blake  <ebb9@byu.net>
68866
68867         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68868         Reported by Simon Josefsson.
68869
68870 2007-06-04  Bruno Haible  <bruno@clisp.org>
68871
68872         Avoid test failures on some PowerPC platforms.
68873         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68874         Define differently for PowerPC.
68875         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68876         Reported by Gary V. Vaughan <gary@gnu.org>.
68877
68878 2007-06-02  Bruno Haible  <bruno@clisp.org>
68879
68880         Fix test-stdint failure on FreeBSD/ia64.
68881         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68882         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68883         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68884         * doc/headers/stdint.texi: Update.
68885
68886 2007-06-01  Bruno Haible  <bruno@clisp.org>
68887
68888         * tests/test-binary-io.c (main): Pass a third argument to open().
68889         Reported by Gary V. Vaughan <gary@gnu.org>.
68890
68891 2007-06-01  Bruno Haible  <bruno@clisp.org>
68892
68893         * doc/functions/frexpl.texi: Update for mingw.
68894
68895 2007-06-01  Bruno Haible  <bruno@clisp.org>
68896
68897         * tests/test-lseek.c (main): Disable test of errno for invalid third
68898         argument.
68899         * doc/functions/lseek.texi: Update.
68900         Reported by Gary V. Vaughan <gary@gnu.org>.
68901
68902 2007-05-28  Bruno Haible  <bruno@clisp.org>
68903
68904         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68905
68906 2007-05-31  Eric Blake  <ebb9@byu.net>
68907
68908         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68909         cross compiling.
68910
68911 2007-05-30  Eric Blake  <ebb9@byu.net>
68912         and Bruno Haible  <bruno@clisp.org>
68913
68914         Work around mingw test failures exposed by m4-1.4.9b.
68915         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68916         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68917         moment.
68918
68919 2007-05-30  Bruno Haible  <bruno@clisp.org>
68920
68921         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68922         assuming that they are closed. Needed on HP-UX 11.
68923
68924 2007-05-29  Bruno Haible  <bruno@clisp.org>
68925
68926         Fix a problem with #include_next.
68927         * lib/dirent_.h: Split the double-inclusion guard.
68928         * lib/fcntl_.h: Likewise.
68929         * lib/float_.h: Likewise.
68930         * lib/iconv_.h: Likewise.
68931         * lib/inttypes_.h: Likewise.
68932         * lib/locale_.h: Likewise.
68933         * lib/math_.h: Likewise.
68934         * lib/netinet_in_.h: Likewise.
68935         * lib/search_.h: Likewise.
68936         * lib/signal_.h: Likewise.
68937         * lib/stdint_.h: Likewise.
68938         * lib/stdio_.h: Likewise.
68939         * lib/stdlib_.h: Likewise.
68940         * lib/string_.h: Likewise.
68941         * lib/sys_select_.h: Likewise.
68942         * lib/sys_socket_.h: Likewise.
68943         * lib/sys_stat_.h: Likewise.
68944         * lib/sys_time_.h: Likewise.
68945         * lib/sysexits_.h: Likewise.
68946         * lib/time_.h: Likewise.
68947         * lib/unistd_.h: Likewise.
68948         * lib/wchar_.h: Likewise.
68949         * lib/wctype_.h: Likewise.
68950
68951 2007-05-29  Bruno Haible  <bruno@clisp.org>
68952
68953         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68954         for the moment.
68955
68956 2007-05-29  Bruno Haible  <bruno@clisp.org>
68957
68958         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68959         invocation.
68960         Reported by Eric Blake.
68961
68962 2007-05-29  Bruno Haible  <bruno@clisp.org>
68963
68964         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68965         compiling case.
68966
68967 2007-05-29  Eric Blake  <ebb9@byu.net>
68968             Bruno Haible  <bruno@clisp.org>
68969
68970         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68971         cross compiles.
68972
68973 2007-05-28  Eric Blake  <ebb9@byu.net>
68974
68975         * modules/closein-tests (test_closein_LDADD): Support test on
68976         cygwin with libtool.
68977
68978 2007-05-28  Bruno Haible  <bruno@clisp.org>
68979
68980         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68981         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68982         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68983         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68984         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68985         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68986         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68987         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68988         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68989
68990 2007-05-28  Eric Blake  <ebb9@byu.net>
68991
68992         Unconditionally include <config.h> in unit tests.
68993         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68994         * tests/test-allocsa.c, tests/test-arcfour.c,
68995         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68996         tests/test-array_list.c, tests/test-array_oset.c,
68997         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68998         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68999         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69000         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69001         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69002         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69003         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69004         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69005         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69006         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69007         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69008         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69009         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69010         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69011         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69012         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69013         test-md5.c, test-memmem.c, test-printf-posix.c,
69014         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69015         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69016         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69017         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69018         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69019         test-vasnprintf-posix2.c, test-vasnprintf.c,
69020         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69021         test-vfprintf-posix.c, test-vprintf-posix.c,
69022         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69023         test-xvasprintf.c: Likewise.
69024
69025 2007-05-28  Bruno Haible  <bruno@clisp.org>
69026
69027         * gnulib-tool (func_import): Remember the --with-tests command-line
69028         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69029         Reported by Eric Blake.
69030
69031 2007-05-28  Bruno Haible  <bruno@clisp.org>
69032
69033         * modules/ftell-tests: New file.
69034         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69035         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69036
69037         * lib/ftell.c: New file.
69038         * modules/ftell: New file.
69039         * m4/ftell.m4: New file.
69040         * doc/functions/ftell.texi: Update.
69041         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69042         REPLACE_FTELL.
69043         * lib/stdio_.h (rpl_ftell): New declaration.
69044         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69045         REPLACE_FTELL.
69046
69047 2007-05-28  Eric Blake  <ebb9@byu.net>
69048
69049         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69050
69051 2007-05-28  Bruno Haible  <bruno@clisp.org>
69052
69053         * modules/fseek-tests: New file.
69054         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69055         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69056
69057         * lib/fseek.c: New file.
69058         * modules/fseek: New file.
69059         * m4/fseek.m4: New file.
69060         * doc/functions/fseek.texi: Update.
69061         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69062         REPLACE_FSEEK.
69063         * lib/stdio_.h (rpl_fseek): New declaration.
69064         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69065         REPLACE_FSEEK.
69066
69067 2007-05-28  Bruno Haible  <bruno@clisp.org>
69068
69069         * lib/stdio_.h (fflush): More comments.
69070
69071 2007-05-28  Bruno Haible  <bruno@clisp.org>
69072
69073         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69074         runtime test.
69075
69076 2007-05-28  Eric Blake  <ebb9@byu.net>
69077
69078         Improve lseek module.
69079         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
69080         * lib/unistd_.h (lseek): Scale back link warning message.
69081         * tests/test-lseek.c: Beef up test.
69082         * tests/test-lseek.sh: Exercise more facets of lseek.
69083         Reported by Bruno Haible.
69084
69085 2007-05-28  Bruno Haible  <bruno@clisp.org>
69086
69087         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69088         to define.
69089
69090 2007-05-27  Bruno Haible  <bruno@clisp.org>
69091
69092         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69093
69094 2007-05-27  Bruno Haible  <bruno@clisp.org>
69095
69096         * modules/openmp: New file.
69097         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69098         Noah Misch.
69099
69100 2007-05-26  Bruno Haible  <bruno@clisp.org>
69101
69102         * modules/chdir-long (Depends-on): Add fchdir.
69103         * modules/chdir-safer (Depends-on): Likewise.
69104         * modules/fts (Depends-on): Likewise.
69105         * modules/fts-lgpl (Depends-on): Likewise.
69106         * modules/openat (Depends-on): Likewise.
69107         * modules/savewd (Depends-on): Likewise.
69108
69109 2007-05-24  Eric Blake  <ebb9@byu.net>
69110
69111         Fix lseek on mingw.
69112         * modules/lseek: New module.
69113         * m4/lseek.m4: New file.
69114         * lib/lseek.c: New file.
69115         * modules/lseek-tests: New file.
69116         * tests/test-lseek.c: New file.
69117         * tests/test-lseek.sh: New file.
69118         * MODULES.html.sh: Document lseek module.
69119         * modules/fflush (Depends-on): Add lseek, fseeko.
69120         * modules/fseeko (Depends-on): Likewise.
69121         * modules/ftello (Depends-on): Likewise.
69122         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69123         broken.
69124         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69125         broken.
69126         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69127         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69128         * lib/ftello.c (rpl_ftello): Likewise.
69129         * tests/test-fseeko.c (main): Test this.
69130         * tests/test-fseeko.sh: Likewise.
69131         * tests/test-ftello.c (main): Likewise.
69132         * tests/test-ftello.sh: Likewise.
69133         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69134         implies replacing fseek.
69135         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69136         HAVE_FTELLO.
69137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69138         * modules/unistd (Makefile.am): Likewise.
69139         * lib/unistd_.h (lseek): Declare a replacement.
69140         * doc/functions/lseek.texi (lseek): Document this fix.
69141         * doc/functions/fseek.texi (fseek): Likewise.
69142         * doc/functions/ftell.texi (ftell): Likewise.
69143
69144 2007-05-24  Bruno Haible  <bruno@clisp.org>
69145
69146         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69147         in the printed representation of a NaN.
69148         * tests/test-vasprintf-posix.c (test_function): Likewise.
69149         * tests/test-snprintf-posix.h (test_function): Likewise.
69150         * tests/test-sprintf-posix.h (test_function): Likewise.
69151         Reported by Eric Blake.
69152
69153 2007-05-23  Eric Blake  <ebb9@byu.net>
69154
69155         Fix fseeko/ftello on cygwin 1.5.24.
69156         * doc/functions/fseeko.texi (fseeko): Document the fix.
69157         * doc/functions/ftello.texi (ftello): Document the fix.
69158         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69159         * doc/functions/stdout.text (stdout): New file.
69160         * doc/functions/stderr.text (stderr): New file.
69161         * doc/gnulib.texi (Function Substitutes): Use new files.
69162         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69163         prior to 1.7.0.
69164         * tests/test-ftello.c (main): Likewise for ftello.
69165         * tests/test-fseeko.sh: New file.
69166         * tests/test-ftello.sh: New file.
69167         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69168         with seekable stdin.
69169         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69170         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69171         (gl_REPLACE_FSEEKO): New macro.
69172         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69173         * modules/fseeko (Files): Distribute fseeko.c.
69174         * modules/ftello (Files): Distribute ftello.c.
69175         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69176         mode.
69177         * lib/ftello.c (rpl_ftello): New file.
69178         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69179         fseeko, ftello.
69180         (gl_STDIN_LARGE_OFFSET): New macro.
69181         * modules/stdio (Makefile.am): Perform the replacement.
69182         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69183
69184 2007-05-23  Bruno Haible  <bruno@clisp.org>
69185
69186         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69187         GNULIB_POSIXCHECK is defined.
69188
69189 2007-05-21  Bruno Haible  <bruno@clisp.org>
69190
69191         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69192         Check also the output for NaN arguments. When cross-compiling, guess
69193         no on IRIX.
69194         * lib/vasnprintf.c: Update comments.
69195         * tests/test-vasnprintf-posix.c (strisnan): New function.
69196         (test_function): Use it.
69197         * tests/test-vasprintf-posix.c (strisnan): New function.
69198         (test_function): Use it.
69199         * tests/test-snprintf-posix.h (strisnan): New function.
69200         (test_function): Use it.
69201         * tests/test-sprintf-posix.h (strisnan): New function.
69202         (test_function): Use it.
69203         Reported by Eric Blake.
69204
69205 2007-05-20  Bruno Haible  <bruno@clisp.org>
69206
69207         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69208         numbers that fails on BeOS.
69209         * doc/functions/frexpl.texi: Update.
69210
69211 2007-05-20  Jim Meyering  <jim@meyering.net>
69212
69213         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69214         forced upon us by glibc-2.6.
69215
69216 2007-05-20  Bruno Haible  <bruno@clisp.org>
69217
69218         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69219         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69220         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69221         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69222         NEED_PRINTF_INFINITE.
69223         (is_infinitel): New function.
69224         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69225         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69226         gl_PREREQ_VASNPRINTF_INFINITE.
69227         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69228         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69229         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69230         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69231         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69232         gl_PREREQ_VASNPRINTF_INFINITE.
69233         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69234         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69235         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69236         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69237         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69238         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69239         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69240         * doc/functions/fprintf.texi: Update.
69241         * doc/functions/printf.texi: Update.
69242         * doc/functions/snprintf.texi: Update.
69243         * doc/functions/sprintf.texi: Update.
69244         * doc/functions/vfprintf.texi: Update.
69245         * doc/functions/vprintf.texi: Update.
69246         * doc/functions/vsnprintf.texi: Update.
69247         * doc/functions/vsprintf.texi: Update.
69248
69249 2007-05-20  Bruno Haible  <bruno@clisp.org>
69250
69251         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69252         was not found in libc.
69253         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69254
69255 2007-05-20  Bruno Haible  <bruno@clisp.org>
69256
69257         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69258         printed as "-nan" instead of "nan".
69259         * tests/test-vasprintf-posix.c (test_function): Likewise.
69260         * tests/test-snprintf-posix.h (test_function): Likewise.
69261         * tests/test-sprintf-posix.h (test_function): Likewise.
69262         Needed for HP-UX 11.
69263
69264 2007-05-20  Jim Meyering  <jim@meyering.net>
69265
69266         Fix buggy test for the fchownat-deref bug.
69267         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69268         symlink required for the run-test.  Without it, this test would
69269         always declare that fchownat doesn't work, and client code would
69270         unnecessarily use the replacement function with fixed libc.
69271         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69272         Reported by Greg Schafer.
69273
69274 2007-05-19  Bruno Haible  <bruno@clisp.org>
69275
69276         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69277         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69278         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69279         Needed for IRIX 6.5 and Solaris 2.5.1.
69280
69281 2007-05-19  Bruno Haible  <bruno@clisp.org>
69282
69283         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69284         (test_function): Skip tests involving -0.0 on platforms where
69285         -0.0 = 0.0.
69286         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69287         (test_function): Skip tests involving -0.0 on platforms where
69288         -0.0 = 0.0.
69289         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69290         (test_function): Skip tests involving -0.0 on platforms where
69291         -0.0 = 0.0.
69292         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69293         (test_function): Skip tests involving -0.0 on platforms where
69294         -0.0 = 0.0.
69295         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69296         tests.
69297         * tests/test-printf-posix.h (test_function): Likewise.
69298         * tests/test-printf-posix.output: Remove all -0.0 related results.
69299         Needed for IRIX 6.5.
69300
69301 2007-05-19  Bruno Haible  <bruno@clisp.org>
69302
69303         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69304         printed as "nan0x7fffffff" instead of "nan".
69305         * tests/test-vasprintf-posix.c (test_function): Likewise.
69306         * tests/test-snprintf-posix.h (test_function): Likewise.
69307         * tests/test-sprintf-posix.h (test_function): Likewise.
69308         * tests/test-fprintf-posix.h (NaN): Remove macro.
69309         (test_function): Remove all NaN related tests.
69310         * tests/test-printf-posix.h (NaN): Remove macro.
69311         (test_function): Remove all NaN related tests.
69312         * tests/test-printf-posix.output: Remove all NaN related results.
69313         Needed for IRIX 6.5.
69314
69315 2007-05-19  Bruno Haible  <bruno@clisp.org>
69316
69317         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69318         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69319
69320 2007-05-19  Bruno Haible  <bruno@clisp.org>
69321
69322         * lib/float_.h: New file.
69323         * m4/float_h.m4: New file.
69324         * modules/float: New file.
69325         * modules/isnanl (Dependencies): Add float.
69326         * modules/isnanl-nolibm (Dependencies): Likewise.
69327         * modules/mathl (Dependencies): Likewise.
69328         * modules/printf-frexpl (Dependencies): Likewise.
69329         * modules/signbit (Dependencies): Likewise.
69330         * modules/vasnprintf (Dependencies): Likewise.
69331         * doc/headers/float.texi: Update.
69332
69333 2007-05-19  Jim Meyering  <jim@meyering.net>
69334
69335         * lib/utimens.c (gl_futimens): Rename from futimens,
69336         now that glibc-2.6 declares futimens.
69337         * lib/utimens.h: Likewise.
69338
69339 2007-05-19  Bruno Haible  <bruno@clisp.org>
69340
69341         Avoid test failures on mingw.
69342         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69343         * tests/test-printf-posix.sh: Likewise.
69344         * tests/test-vfprintf-posix.sh: Likewise.
69345         * tests/test-vprintf-posix.sh: Likewise.
69346
69347 2007-05-19  Bruno Haible  <bruno@clisp.org>
69348
69349         Fix *printf result for NaN, Inf, -0.0 on mingw.
69350         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69351         * lib/vasnprintf.c: Include math.h and isnan.h.
69352         (is_infinite_or_zero): New function.
69353         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69354         values in the %f, %F, %e, %E, %g, %G directives.
69355         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69356         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69357         gl_PRINTF_INFINITE and test its result. Invoke
69358         gl_PREREQ_VASNPRINTF_INFINITE.
69359         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69360         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69361         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69362         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69363         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69364         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69365         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69366         * doc/functions/fprintf.texi: Update.
69367         * doc/functions/printf.texi: Update.
69368         * doc/functions/snprintf.texi: Update.
69369         * doc/functions/sprintf.texi: Update.
69370         * doc/functions/vfprintf.texi: Update.
69371         * doc/functions/vprintf.texi: Update.
69372         * doc/functions/vsnprintf.texi: Update.
69373         * doc/functions/vsprintf.texi: Update.
69374
69375 2007-05-19  Bruno Haible  <bruno@clisp.org>
69376
69377         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69378         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69379         Instead of multiplying with 10^k, set extra_zeroes to k.
69380         (scale10_round_long_double): Remove function.
69381
69382 2007-05-18  Bruno Haible  <bruno@clisp.org>
69383
69384         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69385         introduced on 2007-05-06.
69386
69387 2007-05-18  Bruno Haible  <bruno@clisp.org>
69388
69389         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69390         %g directives.
69391         * tests/test-vasprintf-posix.c (test_function): Likewise.
69392         * tests/test-snprintf-posix.h (test_function): Likewise.
69393         * tests/test-sprintf-posix.h (test_function): Likewise.
69394
69395 2007-05-18  Bruno Haible  <bruno@clisp.org>
69396
69397         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69398         (strmatch): New function.
69399         (test_function): Test the %f directive on numbers of various exponents.
69400         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69401         (strmatch): New function.
69402         (test_function): Test the %f directive on numbers of various exponents.
69403         * tests/test-snprintf-posix.h (strmatch): New function.
69404         (test_function): Test the %f directive on numbers of various exponents.
69405         * tests/test-sprintf-posix.h (strmatch): New function.
69406         (test_function): Test the %f directive on numbers of various exponents.
69407         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69408         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69409         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69410         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69411
69412 2007-05-18  Bruno Haible  <bruno@clisp.org>
69413
69414         Add support for 'long double' number output.
69415         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69416         * lib/vasnprintf.c: Include math.h and float+.h.
69417         (mp_limb_t): New type.
69418         (GMP_LIMB_BITS): New macro.
69419         (mp_twolimb_t): New type.
69420         (GMP_TWOLIMB_BITS): New macro.
69421         (mpn_t): New type.
69422         (multiply, divide, convert_to_decimal, decode_long_double,
69423         scale10_round_long_double, scale10_round_decimal_long_double,
69424         floorlog10l): New functions.
69425         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69426         for the %f, %F, %e, %E, %g, %G directives.
69427         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69428         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69429         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69430         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69431         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69432         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69433         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69434         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69435         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69436         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69437         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69438         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69439         * modules/snprintf-posix (Depends-on): Likewise.
69440         * modules/sprintf-posix (Depends-on): Likewise.
69441         * modules/vasnprintf-posix (Depends-on): Likewise.
69442         * modules/vasprintf-posix (Depends-on): Likewise.
69443         * modules/vfprintf-posix (Depends-on): Likewise.
69444         * modules/vsnprintf-posix (Depends-on): Likewise.
69445         * modules/vsprintf-posix (Depends-on): Likewise.
69446         * modules/vasnprintf (Files): Add lib/float+.h.
69447         * doc/functions/fprintf.texi: Update.
69448         * doc/functions/printf.texi: Update.
69449         * doc/functions/snprintf.texi: Update.
69450         * doc/functions/sprintf.texi: Update.
69451         * doc/functions/vfprintf.texi: Update.
69452         * doc/functions/vprintf.texi: Update.
69453         * doc/functions/vsnprintf.texi: Update.
69454         * doc/functions/vsprintf.texi: Update.
69455
69456 2007-05-18  Bruno Haible  <bruno@clisp.org>
69457
69458         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69459
69460 2007-05-18  Bruno Haible  <bruno@clisp.org>
69461
69462         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69463         for printing 64-bit integers. Needed for mingw.
69464
69465 2007-05-18  Bruno Haible  <bruno@clisp.org>
69466
69467         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69468         gl_FUNC_FREXPL_WORKS.
69469         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69470
69471 2007-05-18  Bruno Haible  <bruno@clisp.org>
69472
69473         * modules/frexpl-nolibm-tests: New file.
69474
69475         * modules/frexpl-nolibm: New file.
69476         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69477
69478 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69479
69480         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69481         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69482         GCC 4.2, which otherwise issues a lot of warnings.
69483         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69484         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69485         Likewise.
69486         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69487         * modules/iconv_open (iconv.h): Likewise.
69488         * modules/locale (locale.h): Likewise.
69489         * modules/netinet_in (netinet/in.h): Likewise.
69490         * modules/sys_select (sys_select.h): Likewise.
69491         * modules/sys_socket (sys/socket.h): Likewise.
69492         * modules/sys_stat (sys/stat.h): Likewise.
69493         * modules/sysexits (sysexits.h): Likewise.
69494         * modules/unistd (unistd.h): Likewise.
69495
69496 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69497
69498         * modules/closein-tests (Makefile.am): Distribute
69499         `test-closein.sh'.
69500
69501 2007-05-17  Bruno Haible  <bruno@clisp.org>
69502
69503         * tests/test-printf-posix.output: Renamed from
69504         tests/test-fprintf-posix.out.
69505         * modules/fprintf-posix-tests: Update.
69506         * modules/printf-posix-tests: Update.
69507         * modules/vfprintf-posix-tests: Update.
69508         * modules/vprintf-posix-tests: Update.
69509         * tests/test-fprintf-posix.sh: Update.
69510         * tests/test-printf-posix.sh: Update.
69511         * tests/test-vfprintf-posix.sh: Update.
69512         * tests/test-vprintf-posix.sh: Update.
69513         Reported by Ralf Wildenhues.
69514
69515 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69516
69517         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69518         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69519         GCC 4.2, which otherwise issues a lot of warnings.
69520         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69521         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69522         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69523         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69524         it should no longer be needed.
69525         * lib/string_.h: Likewise.
69526         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69527         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69528         * modules/inttypes (inttypes.h): Likewise.
69529         * modules/math (math.h): Likewise.
69530         * modules/search (search.h): Likewise.
69531         * modules/signal (signal.h): Likewise.
69532         * modules/stdint (stdint.h): Likewise.
69533         * modules/stdio (stdio.h): Likewise.
69534         * modules/stdlib (stdlib.h): Likewise.
69535         * modules/string (string.h): Likewise.
69536         * modules/sys_time (sys/time.h): Likewise.
69537         * modules/time (time.h): Likewise.
69538         * modules/wchar (wchar.h): Likewise.
69539         * modules/wctype (wtype.h): Likewise.
69540
69541 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69542
69543         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69544
69545 2007-05-13  Bruno Haible  <bruno@clisp.org>
69546
69547         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69548         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69549         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69550         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69551         (gl_PREREQ_STRTOK_R): Don't require it here.
69552
69553 2007-05-13  Bruno Haible  <bruno@clisp.org>
69554
69555         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69556         when used in C++ mode.
69557
69558 2007-05-12  Bruno Haible  <bruno@clisp.org>
69559
69560         * lib/linebuffer.h: Tweak doc.
69561         * lib/linebuffer.c: Likewise.
69562
69563 2007-05-12  James Youngman  <jay@gnu.org>
69564
69565         * lib/linebuffer.c (readlinebuffer_delim): New function,
69566         like readlinebuffer, but use a caller-specified delimiter.
69567         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69568         as the delimiter.
69569         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69570
69571 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69572
69573         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69574         * modules/openat (Files): Remove openat-die.c.
69575         (Depends-on): Add openat-die.
69576         * modules/openat-die: New module.
69577
69578 2007-05-06  Bruno Haible  <bruno@clisp.org>
69579
69580         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69581         Update with info about Cygwin.
69582         * doc/functions/fprintf.texi: Update.
69583         * doc/functions/printf.texi: Update.
69584         * doc/functions/snprintf.texi: Update.
69585         * doc/functions/sprintf.texi: Update.
69586         * doc/functions/vfprintf.texi: Update.
69587         * doc/functions/vprintf.texi: Update.
69588         * doc/functions/vsnprintf.texi: Update.
69589         * doc/functions/vsprintf.texi: Update.
69590         Reported by Eric Blake.
69591
69592 2007-05-06  Bruno Haible  <bruno@clisp.org>
69593
69594         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69595         padding ourselves for the floating-point directives.
69596         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69597         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69598         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69599         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69600         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69601         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69602         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69603         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69604         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69605         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69606         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69607         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69608         * tests/test-snprintf-posix.h (test_function): Also check the width
69609         and some flags in the %f directive.
69610         * tests/test-sprintf-posix.h (test_function): Likewise.
69611         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69612         * tests/test-vasprintf-posix.c (test_function): Likewise.
69613         * doc/functions/fprintf.texi: Update.
69614         * doc/functions/printf.texi: Update.
69615         * doc/functions/snprintf.texi: Update.
69616         * doc/functions/sprintf.texi: Update.
69617         * doc/functions/vfprintf.texi: Update.
69618         * doc/functions/vprintf.texi: Update.
69619         * doc/functions/vsnprintf.texi: Update.
69620         * doc/functions/vsprintf.texi: Update.
69621
69622 2007-05-06  Bruno Haible  <bruno@clisp.org>
69623
69624         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69625         pass the ' flag character to sprintf or snprintf.
69626         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69627         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69628         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69629         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69630         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69631         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69632         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69633         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69634         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69635         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69636         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69637         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69638         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69639         flag.
69640         * tests/test-sprintf-posix.h (test_function): Likewise.
69641         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69642         * tests/test-vasprintf-posix.c (test_function): Likewise.
69643         * doc/functions/fprintf.texi: Update.
69644         * doc/functions/printf.texi: Update.
69645         * doc/functions/snprintf.texi: Update.
69646         * doc/functions/sprintf.texi: Update.
69647         * doc/functions/vfprintf.texi: Update.
69648         * doc/functions/vprintf.texi: Update.
69649         * doc/functions/vsnprintf.texi: Update.
69650         * doc/functions/vsprintf.texi: Update.
69651
69652 2007-05-01  Bruno Haible  <bruno@clisp.org>
69653
69654         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69655
69656 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69657
69658         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69659         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69660
69661 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69662
69663         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69664         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69665         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69666
69667 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69668
69669         * lib/argp-help.c (struct hol_entry): New member `ord'.
69670         (HOL_ENTRY_PTRCMP): Use ord for comparison
69671         (hol_sort): Initialize ord.
69672
69673 2007-05-01  Bruno Haible  <bruno@clisp.org>
69674
69675         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69676         Reported by Eric Blake.
69677         * doc/gnulib.texi (Function Substitutes): Update.
69678
69679 2007-05-01  Bruno Haible  <bruno@clisp.org>
69680
69681         * doc/functions.texi: Remove file, now redundant through
69682         doc/functions/*.texi.
69683
69684 2007-05-01  Bruno Haible  <bruno@clisp.org>
69685
69686         * modules/argp (Depends-on): Add sleep.
69687
69688 2007-05-01  Bruno Haible  <bruno@clisp.org>
69689
69690         * modules/sleep-tests: New file.
69691         * tests/test-sleep.c: New file.
69692
69693         * modules/sleep: New file.
69694         * lib/sleep.c: New file.
69695         * m4/sleep.m4: New file.
69696         * lib/unistd_.h (sleep): New declaration.
69697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69698         HAVE_SLEEP.
69699         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69700         * doc/functions/sleep.texi: Document the sleep module.
69701
69702 2007-05-01  Bruno Haible  <bruno@clisp.org>
69703
69704         * lib/sigprocmask.h: Remove file.
69705         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69706         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69707         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69708         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69709         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69710         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69711         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69712         HAVE_SIGSET_T as a shell variable.
69713         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69714         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69715         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69716         (Depends-on): Add signal. Remove verify.
69717         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69718         (Include): Mention <signal.h> instead of sigprocmask.h.
69719         * NEWS: Mention the change.
69720         * lib/fatal-signal.c: Don't include sigprocmask.h.
69721
69722 2007-05-01  Bruno Haible  <bruno@clisp.org>
69723
69724         * modules/signal: New file.
69725         * lib/signal_.h: New file.
69726         * m4/signal_h.m4: New file.
69727
69728 2007-05-01  Bruno Haible  <bruno@clisp.org>
69729
69730         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69731         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69732         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69733         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69734
69735 2007-05-01  Bruno Haible  <bruno@clisp.org>
69736
69737         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69738         configure time.
69739         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69740         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69741         * modules/sys_stat (Makefile.am): Substitute their values into
69742         sys/stat.h.
69743
69744 2007-05-01  Bruno Haible  <bruno@clisp.org>
69745
69746         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69747         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69748         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69749
69750 2007-05-01  Bruno Haible  <bruno@clisp.org>
69751
69752         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69753         'assert' module here.
69754
69755 2007-05-01  Bruno Haible  <bruno@clisp.org>
69756
69757         * doc/functions/*.texi: New files.
69758         * doc/functions/google-ranking.txt: New file.
69759         * doc/gnulib.texi (Function Substitutes): New chapter.
69760         (ctime, inet_ntoa): Remove sections.
69761         * doc/ctime.texi: Remove file.
69762         * doc/inet_ntoa.texi: Remove file.
69763         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69764         dependencies.
69765         (%.info): New rule, specifying a --reference-limit.
69766
69767 2007-05-01  Bruno Haible  <bruno@clisp.org>
69768
69769         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69770
69771 2007-05-01  Bruno Haible  <bruno@clisp.org>
69772
69773         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69774         the portability of 'mkdir' to mingw systems.
69775
69776 2007-05-01  Bruno Haible  <bruno@clisp.org>
69777
69778         * doc/headers/google-ranking.txt: New file.
69779
69780 2007-04-30  Eric Blake  <ebb9@byu.net>
69781
69782         Prefer fseeko to fseek.
69783         * modules/getpass (Depends-on): Add fseeko.
69784         * lib/getpass.c (getpass): Use fseeko, not fseek.
69785
69786 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69787
69788         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69789         assumes the sorting is stable, while most qsort implementations
69790         are not.  Use argument addresses to ensure they never compare as
69791         equal.
69792
69793         * tests/test-argp-2.sh (usage-indent test): Fix output
69794         (func_compare): Restore diff options
69795         * tests/test-argp.c: Restore #include "progname.h"
69796
69797 2007-04-29  Bruno Haible  <bruno@clisp.org>
69798
69799         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69800         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69801         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69802         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69803         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69804         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69805         (TESTS, check_PROGRAMS): Add test-snprintf.
69806         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69807         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69808         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69809         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69810         assertions that fail on HP-UX, OSF/1, or IRIX.
69811         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69812
69813 2007-04-29  Bruno Haible  <bruno@clisp.org>
69814
69815         * MODULES.html.sh (posix_functions): Remove 'contents'.
69816
69817 2007-04-29  Karl Berry  <karl@gnu.org>
69818
69819         * config/srclist.txt (gendocs_template_min): new entry.
69820
69821 2007-04-29  Bruno Haible  <bruno@clisp.org>
69822
69823         Work around fpurge bug on BSD systems.
69824         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69825         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69826         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69827         fpurge to rpl_fpurge if the system already has this function.
69828         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69829         the case where the system already has this function. Correct invariants
69830         on BSD systems.
69831         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69832         BSD systems.
69833
69834 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69835
69836         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69837         proposed by Sven Verdoolaege.
69838
69839         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69840         options.
69841         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69842         (usage and help tests): Update
69843
69844 2007-04-29  Bruno Haible  <bruno@clisp.org>
69845
69846         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69847         Print more information in case of failure. Disable a test on BeOS.
69848
69849 2007-04-29  Bruno Haible  <bruno@clisp.org>
69850
69851         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69852         This helps debugging on systems on which no gdb is available.
69853
69854 2007-04-29  Bruno Haible  <bruno@clisp.org>
69855
69856         * lib/freading.h: Improve comments.
69857         * lib/fwriting.h: Likewise.
69858         * tests/test-freading.c (main): Don't check freading immediately after
69859         repositioning. Needed for glibc.
69860
69861 2007-04-29  Bruno Haible  <bruno@clisp.org>
69862
69863         * lib/freading.c (freading): Trivial simplification.
69864
69865 2007-04-28  Bruno Haible  <bruno@clisp.org>
69866
69867         * tests/test-fwriting.c (main): Also test the interaction between
69868         fflush and fwriting.
69869         * modules/fwriting-tests (Depends-on): Add fflush.
69870
69871         * tests/test-freading.c (main): Also test the interaction between
69872         fflush and freading.
69873         * modules/freading-tests (Depends-on): Add fflush.
69874
69875 2007-04-28  Bruno Haible  <bruno@clisp.org>
69876
69877         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69878         fseeko and ftello.
69879         Suggested by Eric Blake.
69880
69881 2007-04-28  Jim Meyering  <jim@meyering.net>
69882
69883         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69884         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69885         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69886
69887 2007-04-27  Eric Blake  <ebb9@byu.net>
69888
69889         * doc/headers/assert.texi (assert.h): Document assert module use.
69890
69891 2007-04-27  Bruno Haible  <bruno@clisp.org>
69892
69893         * doc/headers/*.texi: New files.
69894         * doc/gnulib.texi (Header File Substitutes): New chapter.
69895         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69896         dependencies.
69897         (standards.info ,standards.html, standards.dvi): Update dependencies.
69898         (mostlyclean, clean): New targets.
69899
69900 2007-04-27  Bruno Haible  <bruno@clisp.org>
69901
69902         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69903         * modules/sysexits (Files, Makefile.am): Update.
69904
69905         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69906         * modules/sys_socket (Files, Makefile.am): Update.
69907
69908         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69909         * modules/sys_stat (Files, Makefile.am): Update.
69910
69911 2007-04-27  Eric Blake  <ebb9@byu.net>
69912
69913         * lib/freading.h: Improve comments.
69914         * lib/fwriting.h: Likewise.
69915         * lib/fflush.c: Likewise.
69916
69917         Fix closein for mingw.
69918         * modules/closein-tests: Add tests for closein.
69919         * tests/test-closein.c: New file.
69920         * tests/test-closein.sh: Likewise.
69921         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69922         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69923
69924 2007-04-27  Bruno Haible  <bruno@clisp.org>
69925
69926         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69927         version is < 6.
69928         * lib/math_.h [__DECC]: Likewise.
69929         * lib/stdio_.h [__DECC]: Likewise.
69930         * lib/stdlib_.h [__DECC]: Likewise.
69931         * lib/string_.h [__DECC]: Likewise.
69932         * lib/time_.h [__DECC]: Likewise.
69933         * lib/wchar_.h [__DECC]: Likewise.
69934         * lib/wctype_.h [__DECC]: Likewise.
69935
69936 2007-04-27  Bruno Haible  <bruno@clisp.org>
69937
69938         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69939
69940 2007-04-27  Bruno Haible  <bruno@clisp.org>
69941
69942         * lib/fflush.c: Add comments.
69943         * modules/fpurge-tests (Depends-on): Add fflush.
69944         * modules/freadable-tests (Depends-on): Likewise.
69945         * modules/fwritable-tests (Depends-on): Likewise.
69946
69947 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69948
69949         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69950         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69951         Report by Bruno Haible <bruno@clisp.org>.
69952
69953 2007-04-26  Eric Blake  <ebb9@byu.net>
69954
69955         Fix fflush on mingw.
69956         * modules/fflush (Depends-on): Add freading.
69957         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69958         but unread data.
69959
69960 2007-04-26  Eric Blake  <ebb9@byu.net>
69961         and Bruno Haible  <bruno@clisp.org>
69962
69963         Implement freading and fwriting.
69964         * lib/freading.c: New file.
69965         * lib/freading.h: Likewise.
69966         * m4/freading.m4: Likewise.
69967         * modules/freading: Likewise.
69968         * modules/freading-tests: Likewise.
69969         * tests/test-freading.c: Likewise.
69970         * lib/fwriting.c: New file.
69971         * lib/fwriting.h: Likewise.
69972         * m4/fwriting.m4: Likewise.
69973         * modules/fwriting: Likewise.
69974         * modules/fwriting-tests: Likewise.
69975         * tests/test-fwriting.c: Likewise.
69976         * MODULES.html.sh (File stream based Input/Output): Mention them.
69977
69978 2007-04-26  Bruno Haible  <bruno@clisp.org>
69979
69980         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69981         'long' when we assume it.
69982         Suggested by Eric Blake.
69983
69984 2007-04-26  Bruno Haible  <bruno@clisp.org>
69985
69986         Ensure fseeko, ftello are declared on glibc systems.
69987         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69988         * modules/fseeko (configure.ac-early): Likewise.
69989         * modules/ftello (configure.ac-early): Likewise.
69990         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69991         AC_FUNC_FSEEKO for this.
69992         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69993         (gl_CHECK_FSEEKO): Remove macro.
69994
69995 2007-04-26  Bruno Haible  <bruno@clisp.org>
69996
69997         * tests/test-fflush.c (main): Also check the ftell result after
69998         fflush and fseek/fseeko.
69999         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70000         file descriptor position cache in the stream.
70001         * lib/fseeko.c (rpl_fseeko): Likewise.
70002
70003 2007-04-26  Bruno Haible  <bruno@clisp.org>
70004
70005         * modules/fflush-tests (Depends-on): Add fseeko.
70006
70007 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70008             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70009
70010         * lib/argz_.h: ensure error_t definition is obtained in same
70011         mechanism system argz.h would have.
70012         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70013         argz facilities are known bad.  Err on the side of caution if
70014         cross-compiling.
70015
70016 2007-04-25  Eric Blake  <ebb9@byu.net>
70017
70018         * lib/fpurge.c (includes): Use stdlib.h for free.
70019         * tests/test-fflush.c (main): Also test fflush-fseeko.
70020
70021 2007-04-25  Bruno Haible  <bruno@clisp.org>
70022
70023         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70024         * lib/fseeko.c: New file.
70025         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70026         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70027         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70028         gl_FUNC_FSEEKO.
70029         (gl_FUNC_FSEEKO): Invoke it.
70030         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70031         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70032         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70033
70034 2007-04-25  Bruno Haible  <bruno@clisp.org>
70035
70036         * modules/fflush (Depends-on): Add ftello.
70037
70038 2007-04-25  Bruno Haible  <bruno@clisp.org>
70039
70040         * modules/ftello-tests: New file.
70041         * tests/test-ftello.c: New file.
70042
70043         * modules/ftello: New file.
70044         * m4/ftello.m4: New file.
70045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70046         HAVE_FTELLO.
70047         * lib/stdio_.h (ftello): New declaration.
70048         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70049         HAVE_FTELLO.
70050
70051 2007-04-25  Bruno Haible  <bruno@clisp.org>
70052
70053         * modules/fseeko-tests: New file.
70054         * tests/test-fseeko.c: New file.
70055
70056         * modules/fseeko: New file.
70057         * m4/fseeko.m4: New file.
70058         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70059         HAVE_FSEEKO.
70060         * lib/stdio_.h (fseeko): New declaration.
70061         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70062         HAVE_FSEEKO.
70063
70064 2007-04-25  Bruno Haible  <bruno@clisp.org>
70065
70066         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70067
70068 2007-04-25  Bruno Haible  <bruno@clisp.org>
70069
70070         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70071         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70072         * tests/test-unistd.c: Likewise.
70073         * tests/test-fcntl.c: Likewise.
70074
70075 2007-04-23  Eric Blake  <ebb9@byu.net>
70076
70077         * lib/fflush.c: Fix missing include.
70078         Reported by Bruno Haible.
70079
70080 2007-04-23  Bruno Haible  <bruno@clisp.org>
70081
70082         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70083         Reported by Eric Blake.
70084
70085 2007-04-23  Bruno Haible  <bruno@clisp.org>
70086
70087         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70088
70089 2007-04-23  Bruno Haible  <bruno@clisp.org>
70090
70091         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70092
70093 2007-04-23  Bruno Haible  <bruno@clisp.org>
70094
70095         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70096         Needed on HP-UX 11.
70097
70098 2007-04-16  Eric Blake  <ebb9@byu.net>
70099
70100         Make fflush rely on fpurge.
70101         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70102         open coding all variants.
70103         * modules/fflush (Depends-on): Add fpurge and unistd.
70104         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70105         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70106
70107         Fix --with-tests compilation on cygwin.
70108         * modules/argmatch-tests (Makefile.am): List gnulib library first
70109         in LDADD.
70110         * modules/argp-tests (Makefile.am): Likewise.
70111         * modules/array-list-tests (Makefile.am): Likewise.
70112         * modules/array-oset-tests (Makefile.am): Likewise.
70113         * modules/avltree-list-tests (Makefile.am): Likewise.
70114         * modules/avltree-oset-tests (Makefile.am): Likewise.
70115         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70116         * modules/carray-list-tests (Makefile.am): Likewise.
70117         * modules/dirname-tests (Makefile.am): Likewise.
70118         * modules/frexp-tests (Makefile.am): Likewise.
70119         * modules/isnanl-tests (Makefile.am): Likewise.
70120         * modules/linked-list-tests (Makefile.am): Likewise.
70121         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70122         * modules/lock-tests (Makefile.am): Likewise.
70123         * modules/rbtree-list-tests (Makefile.am): Likewise.
70124         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70125         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70126         * modules/tls-tests (Makefile.am): Likewise.
70127         * modules/tsearch-tests (Makefile.am): Likewise.
70128         * modules/xvasprintf-tests (Makefile.am): Likewise.
70129
70130         Fix fpurge for cygwin.
70131         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70132         value.
70133         * modules/fpurge-tests (Depends-on): Clean up trash.
70134
70135 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70136
70137         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70138
70139         * m4/autobuild.m4: Re-indent.
70140
70141 2007-04-13  Bruno Haible  <bruno@clisp.org>
70142
70143         * modules/fpurge-tests: New file.
70144         * tests/test-fpurge.c: New file.
70145
70146         * modules/fpurge: New file.
70147         * lib/fpurge.h: New file.
70148         * lib/fpurge.c: New file.
70149         * m4/fpurge.m4: New file.
70150
70151 2007-04-13  Bruno Haible  <bruno@clisp.org>
70152
70153         * modules/fbufmode-tests: New file.
70154         * tests/test-fbufmode.c: New file.
70155
70156         * modules/fbufmode: New file.
70157         * lib/fbufmode.h: New file.
70158         * lib/fbufmode.c: New file.
70159         * m4/fbufmode.m4: New file.
70160
70161 2007-04-13  Bruno Haible  <bruno@clisp.org>
70162
70163         * modules/fwritable-tests: New file.
70164         * tests/test-fwritable.c: New file.
70165
70166         * modules/fwritable: New file.
70167         * lib/fwritable.h: New file.
70168         * lib/fwritable.c: New file.
70169         * m4/fwritable.m4: New file.
70170
70171 2007-04-13  Bruno Haible  <bruno@clisp.org>
70172
70173         * modules/freadable-tests: New file.
70174         * tests/test-freadable.c: New file.
70175
70176         * modules/freadable: New file.
70177         * lib/freadable.h: New file.
70178         * lib/freadable.c: New file.
70179         * m4/freadable.m4: New file.
70180
70181 2007-04-13  Bruno Haible  <bruno@clisp.org>
70182
70183         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70184         MOSTLYCLEANFILES.
70185
70186 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70187
70188         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70189         gzip bootstrap.conf to avoid dragging in i18n machinery.
70190         (gnulib_tool_option): Use it.
70191
70192 2007-04-13  Bruno Haible  <bruno@clisp.org>
70193
70194         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70195         %F directives.
70196         * tests/test-vasprintf-posix.c (test_function): Likewise.
70197         * tests/test-snprintf-posix.h (test_function): Likewise.
70198         * tests/test-sprintf-posix.h (test_function): Likewise.
70199         * tests/test-fprintf-posix.h (test_function): Likewise.
70200         * tests/test-printf-posix.h (test_function): Likewise.
70201         * tests/test-fprintf-posix.out: Likewise.
70202
70203 2007-04-13  Bruno Haible  <bruno@clisp.org>
70204
70205         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70206         * modules/tls-tests (configure.ac): Likewise.
70207         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70208
70209 2007-04-13  Bruno Haible  <bruno@clisp.org>
70210
70211         * lib/tls.c (glthread_tls_get): Fix return type.
70212         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70213
70214 2007-04-12  Eric Blake  <ebb9@byu.net>
70215
70216         * modules/gettime (Depends-on): Remove gettime.
70217         Reported by Dmitry V. Levin.
70218
70219 2007-04-12  Bruno Haible  <bruno@clisp.org>
70220
70221         * modules/fflush (Include): Mention <stdio.h>.
70222         * modules/strtoimax (Include): Mention <inttypes.h>.
70223         * modules/strtoumax (Include): Likewise.
70224
70225 2007-04-12  Eric Blake  <ebb9@byu.net>
70226
70227         * .cvsignore: New file.
70228         * .gitignore: Likewise.
70229
70230 2007-04-12  Bruno Haible  <bruno@clisp.org>
70231
70232         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70233         not before, since $(LDADD) often contains libgnu.a.
70234         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70235         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70236         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70237         Needed on Cygwin.
70238
70239 2007-04-12  Eric Blake  <ebb9@byu.net>
70240
70241         Work around glibc's failure to flush stdin on fclose.
70242         * lib/closein.c (close_stdin): Flush stdin before closing.
70243
70244         Work around glibc's failure to reset seekable stdin on exit.
70245         * modules/closein: New module.
70246         * lib/closein.c: New file.
70247         * lib/closein.h: Likewise.
70248         * m4/closein.m4: Likewise.
70249         * MODULES.html.sh (File stream based Input/Output): Document it.
70250
70251 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70252
70253         * gnulib-tool: Rename generated 'autobuild' script to
70254         'do-autobuild' in --create-megatestdir output.
70255
70256         * doc/gnulib.texi (Build robot for gnulib): Fix.
70257
70258 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70259
70260         * modules/sysexits (Depends-on): Add absolute-header.
70261
70262 2007-04-12  Eric Blake  <ebb9@byu.net>
70263
70264         No need to preserve errno on success.
70265         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70266         Reported by Bruno Haible.
70267
70268 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70269
70270         * MODULES.html.sh (Support for maintaining and releasing
70271         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70272
70273 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70274
70275         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70276
70277 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70278
70279         * modules/autobuild: New module.
70280
70281         * m4/autobuild.m4: New file.
70282
70283 2007-04-11  Bruno Haible  <bruno@clisp.org>
70284
70285         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70286         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70287         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70288         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70289         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70290         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70291         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70292         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70293         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70294         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70295         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70296         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70297         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70298         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70299         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70300         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70301         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70302         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70303         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70304         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70305         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70306         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70307         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70308         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70309         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70310         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70311         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70312         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70313         Reported by Eric Blake.
70314
70315 2007-04-11  Bruno Haible  <bruno@clisp.org>
70316
70317         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70318
70319 2007-04-10  Bruno Haible  <bruno@clisp.org>
70320
70321         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70322         for NaN and Infinity. Needed on FreeBSD 6.1.
70323         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70324         regarding results for "%010a" of Infinity and NaN.
70325         * tests/test-vasprintf-posix.c (test_function): Likewise.
70326         * tests/test-snprintf-posix.h (test_function): Likewise.
70327         * tests/test-sprintf-posix.h (test_function): Likewise.
70328         * tests/test-fprintf-posix.h (test_function): Likewise.
70329         * tests/test-printf-posix.h (test_function): Likewise.
70330         * tests/test-fprintf-posix.out: Likewise.
70331
70332 2007-04-10  Bruno Haible  <bruno@clisp.org>
70333
70334         * modules/locale-tests: New file.
70335         * tests/test-locale.c: New file.
70336
70337         * modules/locale: New file.
70338         * lib/locale_.h: New file.
70339         * m4/locale_h.m4: New file.
70340
70341 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70342             Bruno Haible  <bruno@clisp.org>
70343
70344         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70345         be determined, test for availability of the copysignf, copysign,
70346         copysignl functions.
70347         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70348         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70349         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70350
70351 2007-04-09  Eric Blake  <ebb9@byu.net>
70352
70353         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70354         * modules/stdio (Makefile.am): Support fflush.
70355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70356         * modules/fflush: New file.
70357         * lib/fflush.c: Likewise.
70358         * m4/fflush.m4: Likewise.
70359         * modules/fflush-tests: New test.
70360         * tests/test-fflush.c: Likewise.
70361         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70362
70363 2007-04-06  Bruno Haible  <bruno@clisp.org>
70364
70365         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70366         (VASNPRINTF): Use signbit for faster determination whether to print a
70367         minus sign.
70368         * modules/vasnprintf (Files): Remove lib/float+.h.
70369         * modules/fprintf-posix (Depends-on): Add signbit.
70370         * modules/snprintf-posix (Depends-on): Likewise.
70371         * modules/sprintf-posix (Depends-on): Likewise.
70372         * modules/vasnprintf-posix (Depends-on): Likewise.
70373         * modules/vasprintf-posix (Depends-on): Likewise.
70374         * modules/vfprintf-posix (Depends-on): Likewise.
70375         * modules/vsnprintf-posix (Depends-on): Likewise.
70376         * modules/vsprintf-posix (Depends-on): Likewise.
70377
70378 2007-04-06  Bruno Haible  <bruno@clisp.org>
70379
70380         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70381         * tests/test-frexpl.c (main): Likewise.
70382         * tests/test-ldexpl.c (main): Likewise.
70383         * modules/frexp-tests (Depends-on): Add signbit.
70384         * modules/frexpl-tests (Depdends-on): Likewise.
70385         * modules/ldexpl-tests (Depdends-on): Likewise.
70386
70387 2007-04-06  Bruno Haible  <bruno@clisp.org>
70388
70389         * modules/signbit-tests: New file.
70390         * tests/test-signbit.c: New file.
70391
70392         * modules/signbit: New file.
70393         * lib/signbitf.c: New file.
70394         * lib/signbitd.c: New file.
70395         * lib/signbitl.c: New file.
70396         * m4/signbit.m4: New file.
70397         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70398         (signbit): New macro.
70399         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70400         REPLACE_SIGNBIT.
70401         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70402         REPLACE_FREXPL into math.h.
70403
70404 2007-04-06  Bruno Haible  <bruno@clisp.org>
70405
70406         * modules/isnanf-nolibm-tests: New file.
70407         * tests/test-isnanf.c: New file.
70408
70409         * modules/isnanf-nolibm: New file.
70410         * lib/isnanf.h: New file.
70411         * lib/isnanf.c: New file.
70412         * lib/isnan.c: Consider the USE_FLOAT macro.
70413         * m4/isnanf.m4: New file.
70414
70415 2007-04-06  Bruno Haible  <bruno@clisp.org>
70416
70417         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70418         (Link): New section.
70419
70420         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70421
70422 2007-04-06  Bruno Haible  <bruno@clisp.org>
70423
70424         Assume the 'long double' type.
70425         * m4/longdouble.m4: Remove file.
70426         * config/srclist.txt: Don't mention longdouble.m4.
70427         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70428         * lib/float+.h: Likewise.
70429         * lib/frexp.c: Likewise.
70430         * lib/printf-args.h: Likewise.
70431         * lib/printf-args.c: Likewise.
70432         * lib/printf-frexp.c: Likewise.
70433         * lib/printf-parse.c: Likewise.
70434         * lib/vasnprintf.c: Likewise.
70435         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70436         * m4/intl.m4: Likewise.
70437         * m4/isnanl.m4: Likewise.
70438         * m4/printf.m4: Likewise.
70439         * m4/printf-frexpl.m4: Likewise.
70440         * m4/vasnprintf.m4: Likewise.
70441         * modules/allocsa (Files): Remove m4/longdouble.m4.
70442         * modules/gettext (Files): Likewise.
70443         * modules/relocatable-prog-wrapper (Files): Likewise.
70444         * modules/vasnprintf (Files): Likewise.
70445         * modules/isnanl (Files): Likewise.
70446         (Include): Simplify.
70447         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70448         (Include): Simplify.
70449         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70450         (Include): Simplify.
70451         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70452         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70453         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70454         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70455         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70456         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70457         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70458         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70459         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70460         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70461         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70462         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70463         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70464         * tests/test-isnanl.c: Likewise.
70465         * tests/test-snprintf-posix.h: Likewise.
70466         * tests/test-sprintf-posix.h: Likewise.
70467         * tests/test-vasnprintf-posix.c: Likewise.
70468         * tests/test-vasnprintf-posix2.c: Likewise.
70469         * tests/test-vasprintf-posix.c: Likewise.
70470
70471 2007-04-06  Bruno Haible  <bruno@clisp.org>
70472
70473         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70474         * lib/math_.h [__DECC]: Include the overridden include file through
70475         #include_next, outside the double-inclusion guard.
70476         * lib/stdio_.h [__DECC]: Likewise.
70477         * lib/stdlib_.h [__DECC]: Likewise.
70478         * lib/string_.h [__DECC]: Likewise.
70479         * lib/time_.h [__DECC]: Likewise.
70480         * lib/wchar_.h [__DECC]: Likewise.
70481         * lib/wctype_.h [__DECC]: Likewise.
70482         * lib/inttypes_.h [__DECC]: Likewise.
70483         Reported by Albert Chin <china@thewrittenword.com> in
70484         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70485
70486 2007-04-04  Eric Blake  <ebb9@byu.net>
70487
70488         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70489         1.5.x.
70490
70491 2007-04-04  Bruno Haible  <bruno@clisp.org>
70492
70493         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70494         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70495
70496 2007-04-04  Bruno Haible  <bruno@clisp.org>
70497
70498         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70499         results for "%010a" of Infinity and NaN.
70500         * tests/test-vasprintf-posix.c (test_function): Likewise.
70501         * tests/test-snprintf-posix.h (test_function): Likewise.
70502         * tests/test-sprintf-posix.h (test_function): Likewise.
70503         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70504         * tests/test-printf-posix.h (test_function): Likewise.
70505         * tests/test-fprintf-posix.out: Update.
70506         Needed for FreeBSD 6.1.
70507
70508 2007-04-04  Bruno Haible  <bruno@clisp.org>
70509
70510         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70511         directly used by the gnulib modules nor by gnulib-tool.
70512
70513 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70514
70515         * DEPENDENCIES: Give overall description of version dependency
70516         desirability.  Use more-typical names for apps.
70517         Add shell, coreutils, diffutils, grep, tar, gzip.
70518
70519 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70520
70521         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70522
70523 2007-04-04  Karl Berry  <karl@gnu.org>
70524
70525         * MODULES.html.sh (func_module): missing '.
70526
70527 2007-04-03  Bruno Haible  <bruno@clisp.org>
70528
70529         * modules/argmatch-tests (Makefile.am): New variable
70530         test_argmatch_LDADD.
70531         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70532         * modules/array-list-tests (Makefile.am): New variable
70533         test_array_list_LDADD.
70534         * modules/array-oset-tests (Makefile.am): New variable
70535         test_array_oset_LDADD.
70536         * modules/avltree-list-tests (Makefile.am): New variable
70537         test_avltree_list_LDADD.
70538         * modules/avltree-oset-tests (Makefile.am): New variable
70539         test_avltree_oset_LDADD.
70540         * modules/avltreehash-list-tests (Makefile.am): New variable
70541         test_avltreehash_list_LDADD.
70542         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70543         test_canonicalize_lgpl_LDADD.
70544         * modules/carray-list-tests (Makefile.am): New variable
70545         test_carray_list_LDADD.
70546         * modules/dirname-tests (Makefile.am): New variable
70547         test_dirname_LDADD.
70548         * modules/linked-list-tests (Makefile.am): New variable
70549         test_linked_list_LDADD.
70550         * modules/linkedhash-list-tests (Makefile.am): New variable
70551         test_linkedhash_list_LDADD.
70552         * modules/rbtree-list-tests (Makefile.am): New variable
70553         test_rbtree_list_LDADD.
70554         * modules/rbtree-oset-tests (Makefile.am): New variable
70555         test_rbtree_oset_LDADD.
70556         * modules/rbtreehash-list-tests (Makefile.am): New variable
70557         test_rbtreehash_list_LDADD.
70558         * modules/xvasprintf-tests (Makefile.am): New variable
70559         test_xvasprintf_LDADD.
70560         Reported by Eric Blake.
70561
70562 2007-04-03  Eric Blake  <ebb9@byu.net>
70563
70564         * DEPENDENCIES: Weaken m4 requirements.
70565
70566 2007-04-03  Bruno Haible  <bruno@clisp.org>
70567
70568         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70569         * modules/isnanl-tests (configure.ac): Likewise.
70570
70571 2007-04-03  Ben Pfaff  <blp@gnu.org>
70572
70573         * modules/iconv_open: Add $(srcdir)/ to source directory
70574         references in Makefile fragments that call gperf, to fix VPATH
70575         builds.
70576
70577 2007-04-03  Bruno Haible  <bruno@clisp.org>
70578
70579         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70580         * lib/ldexpl.c: Undo last change.
70581
70582 2007-04-03  Bruno Haible  <bruno@clisp.org>
70583
70584         * modules/printf-frexpl (Depends-on): Undo last change.
70585         (Files): Add m4/ldexpl.m4.
70586
70587 2007-04-03  Bruno Haible  <bruno@clisp.org>
70588
70589         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70590         * modules/isnanl (Link): New section.
70591
70592         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70593         * modules/frexp (Link): New section.
70594
70595         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70596         * modules/frexpl (Link): New section.
70597
70598         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70599         * modules/ldexpl (Link): New section.
70600
70601 2007-04-03  Bruno Haible  <bruno@clisp.org>
70602
70603         * modules/TEMPLATE-EXTENDED: New file.
70604         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70605
70606 2007-04-03  Bruno Haible  <bruno@clisp.org>
70607
70608         * DEPENDENCIES: New file.
70609         Suggested by Simon Josefsson.
70610
70611 2007-04-03  Bruno Haible  <bruno@clisp.org>
70612
70613         * doc/gnulib.texi: Escape @.
70614
70615 2007-04-03  James Youngman  <jay@gnu.org>
70616         and Paul Eggert  <eggert@cs.ucla.edu>
70617
70618         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70619         birthtime on all systems that have birthtime, not just those which
70620         use st_birthtimensec rather than st_birthtim.  Putting zero in
70621         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70622         that the birth time is not available for files on an NFS mount.
70623
70624 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70625
70626         * modules/memxor: Move back from crypto/, suggested by Bruno.
70627         * modules/crypto/hmac-sha1: Fix memxor dependency.
70628
70629         * modules/crypto/gc: Moved from ../.
70630
70631 2007-04-02  Eric Blake  <ebb9@byu.net>
70632
70633         * lib/ldexpl.c (includes): Avoid libm.
70634
70635         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70636
70637 2007-04-02  Bruno Haible  <bruno@clisp.org>
70638
70639         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70640         on IRIX.
70641
70642 2007-04-02  Bruno Haible  <bruno@clisp.org>
70643
70644         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70645         x86 or x86_64 platforms running MacOS X.
70646         Reported by Ryan Schmidt <@ryandesign.com>.
70647
70648 2007-04-02  Bruno Haible  <bruno@clisp.org>
70649
70650         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70651         i386.
70652
70653 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70654
70655         * modules/crypto/arcfour: Moved from ../.
70656         * modules/crypto/arcfour-tests: Moved from ../.
70657         * modules/crypto/arctwo: Moved from ../.
70658         * modules/crypto/arctwo-tests: Moved from ../.
70659         * modules/crypto/des: Moved from ../.
70660         * modules/crypto/des-tests: Moved from ../.
70661         * modules/crypto/gc-arcfour: Moved from ../.
70662         * modules/crypto/gc-arcfour-tests: Moved from ../.
70663         * modules/crypto/gc-arctwo: Moved from ../.
70664         * modules/crypto/gc-arctwo-tests: Moved from ../.
70665         * modules/crypto/gc-des: Moved from ../.
70666         * modules/crypto/gc-des-tests: Moved from ../.
70667         * modules/crypto/gc-hmac-md5: Moved from ../.
70668         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70669         * modules/crypto/gc-hmac-sha1: Moved from ../.
70670         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70671         * modules/crypto/gc-md2: Moved from ../.
70672         * modules/crypto/gc-md2-tests: Moved from ../.
70673         * modules/crypto/gc-md4: Moved from ../.
70674         * modules/crypto/gc-md4-tests: Moved from ../.
70675         * modules/crypto/gc-md5: Moved from ../.
70676         * modules/crypto/gc-md5-tests: Moved from ../.
70677         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70678         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70679         * modules/crypto/gc-random: Moved from ../.
70680         * modules/crypto/gc-rijndael: Moved from ../.
70681         * modules/crypto/gc-rijndael-tests: Moved from ../.
70682         * modules/crypto/gc-sha1: Moved from ../.
70683         * modules/crypto/gc-sha1-tests: Moved from ../.
70684         * modules/crypto/gc-tests: Moved from ../.
70685         * modules/crypto/hmac-md5: Moved from ../.
70686         * modules/crypto/hmac-md5-tests: Moved from ../.
70687         * modules/crypto/hmac-sha1: Moved from ../.
70688         * modules/crypto/hmac-sha1-tests: Moved from ../.
70689         * modules/crypto/md2: Moved from ../.
70690         * modules/crypto/md2-tests: Moved from ../.
70691         * modules/crypto/md4: Moved from ../.
70692         * modules/crypto/md4-tests: Moved from ../.
70693         * modules/crypto/md5: Moved from ../.
70694         * modules/crypto/md5-tests: Moved from ../.
70695         * modules/crypto/memxor: Moved from ../.
70696         * modules/crypto/rijndael: Moved from ../.
70697         * modules/crypto/rijndael-tests: Moved from ../.
70698         * modules/crypto/sha1: Moved from ../.
70699
70700 2007-03-30  James Youngman  <jay@gnu.org>
70701
70702         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70703         rename() to change the ctime of a file (because ctime is unaffected
70704         by rename on jfs2 on AIX 5.1).
70705         (main): Start by doing cleanup, in case a previous run failed leaving
70706         test files behind.
70707
70708 2007-03-31  Bruno Haible  <bruno@clisp.org>
70709
70710         Support old proprietary implementations of iconv.
70711         * modules/iconv_open: New file.
70712         * lib/iconv_.h: New file.
70713         * m4/iconv_h.m4: New file.
70714         * lib/iconv_open.c: New file.
70715         * lib/iconv_open-aix.gperf: New file.
70716         * lib/iconv_open-hpux.gperf: New file.
70717         * lib/iconv_open-irix.gperf: New file.
70718         * lib/iconv_open-osf.gperf: New file.
70719         * m4/iconv_open.m4: New file.
70720         * modules/linebreak (Depends-on): Add iconv_open.
70721         * modules/striconv (Depends-on): Likewise.
70722         * modules/striconveh (Depends-on): Likewise.
70723         * modules/unicodeio (Depends-on): Likewise.
70724         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70725         (iconv_t)(-1).
70726         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70727         conversion if cd is (iconv_t)(-1).
70728         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70729         is not possible.
70730
70731 2007-03-31  Bruno Haible  <bruno@clisp.org>
70732
70733         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70734         work on Solaris either. Protect also second use of "autodetect_jp".
70735
70736 2007-03-31  Bruno Haible  <bruno@clisp.org>
70737
70738         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70739         the function is not present.
70740
70741 2007-03-31  Bruno Haible  <bruno@clisp.org>
70742
70743         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70744         the function is not present.
70745
70746 2007-03-31  Bruno Haible  <bruno@clisp.org>
70747
70748         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70749         a bug in HP-UX iconv_open().
70750
70751 2007-03-31  Bruno Haible  <bruno@clisp.org>
70752
70753         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70754         (Mathematics <math.h>): New section, add fpieee.
70755         (Input/output <stdio.h>): Add fseterr.
70756         (Mathematics <math.h>): New section, add printf-frexp.
70757         (Container data structures): Add sublist.
70758         (Core language properties): Add fpucw, inline.
70759         (Functions for greatest-width integer types <inttypes.h>): Add
70760         imaxabs, imaxdiv, inttypes.
70761         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70762         isnanl-nolibm, ldexp.
70763         (Mathematics <math.h>): New section, add printf-frexpl.
70764         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70765         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70766         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70767         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70768         (Unicode string functions): Add unistr/u*-mbtoucr.
70769         (Java): Add javacomp-script, javaexec-script.
70770         (C#): Add csharpcomp-script, csharpexec-script.
70771         (Support for building libraries and executables): Add havelib,
70772         relocatable-*.
70773         (Support for maintaining and releasing projects): Renamed from
70774         'Support for maintaining and release projects'. Add announce-gen.
70775
70776 2007-03-31  Bruno Haible  <bruno@clisp.org>
70777
70778         * README: Talk primarily about git.
70779         (git and CVS): Renamed from CVS.
70780         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70781         gnulib is available through git.
70782         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70783
70784 2007-03-30  Bruno Haible  <bruno@clisp.org>
70785
70786         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70787         * lib/poll_.h: Likewise.
70788         * lib/stat_.h: Likewise.
70789         * lib/sys_time_.h: Likewise.
70790         * lib/sysexit_.h: Likewise.
70791         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70792         * lib/stdbool_.h: Likewise.
70793         * lib/byteswap_.h: Add double-inclusion guard.
70794
70795 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70796
70797         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70798
70799 2007-03-30  Karl Berry  <karl@gnu.org>
70800
70801         * config/srclist-update: double space after USA in the license
70802         substitution, since that's how it's usually (?) written.
70803
70804 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70805
70806         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70807         reported by Bruno Haible.
70808
70809 2007-03-29  Bruno Haible  <bruno@clisp.org>
70810
70811         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70812         a bug in AIX iconv().
70813
70814 2007-03-29  Bruno Haible  <bruno@clisp.org>
70815
70816         * modules/ldexpl-tests: New file.
70817         * tests/test-ldexpl.c: New file.
70818
70819 2007-03-29  Bruno Haible  <bruno@clisp.org>
70820
70821         * lib/ldexpl.c: Include fpucw.h.
70822         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70823         multiplication.
70824         * modules/ldexpl (Depends-on): Add fpucw.
70825
70826 2007-03-29  Bruno Haible  <bruno@clisp.org>
70827
70828         * modules/ldexpl: New file.
70829         * m4/ldexpl.m4: New file.
70830         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70831         set.
70832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70833         REPLACE_LDEXPL.
70834         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70835         REPLACE_LDEXPL.
70836         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70837         gl_FUNC_LDEXPL_WORKS.
70838         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70839         * modules/mathl (Files): Remove lib/ldexpl.c.
70840         (Depends-on): Add ldexpl.
70841
70842 2007-03-29  Bruno Haible  <bruno@clisp.org>
70843
70844         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70845
70846 2007-03-29  Bruno Haible  <bruno@clisp.org>
70847
70848         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70849         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70850         and possibly also HP-UX.
70851         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70852         work on AIX, IRIX, HP-UX, OSF/1.
70853         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70854         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70855         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70856         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70857         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70858         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70859
70860 2007-03-29  Bruno Haible  <bruno@clisp.org>
70861
70862         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70863
70864 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70865
70866         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70867         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70868
70869 2007-03-29  Eric Blake  <ebb9@byu.net>
70870
70871         * lib/acl-internal.h: Remove redundant include.
70872         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70873         Cygwin when a file is locked.
70874
70875 2007-03-29  Bruno Haible  <bruno@clisp.org>
70876
70877         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70878         file.
70879         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70880
70881 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70882
70883         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70884         try to remove a parent directory if the child couldn't be removed
70885         (except for the first rmdir, which could fail because the child
70886         doesn't exist).  Problem reported by Jeff Blaine in
70887         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70888
70889 2007-03-28  Bruno Haible  <bruno@clisp.org>
70890
70891         * lib/striconveh.c (utf8conv_carefully): New function.
70892         (mem_cd_iconveh_internal): Invoke it.
70893
70894 2007-03-28  Bruno Haible  <bruno@clisp.org>
70895
70896         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70897         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70898         input.
70899         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70900         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70901         unistr/u8-uctomb.
70902
70903 2007-03-28  Bruno Haible  <bruno@clisp.org>
70904
70905         * modules/unistr/u8-mbtoucr: New file.
70906         * lib/unistr/u8-mbtoucr.c: New file.
70907         * modules/unistr/u16-mbtoucr: New file.
70908         * lib/unistr/u16-mbtoucr.c: New file.
70909         * modules/unistr/u16-mbtoucr: New file.
70910         * lib/unistr/u16-mbtoucr.c: New file.
70911         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70912
70913 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70914             Bruno Haible  <bruno@clisp.org>
70915
70916         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70917         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70918         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70919
70920         * m4/stdio_h.m4: Add stubs for vasprintf too.
70921
70922         * modules/stdio: Support vasprintf in sed command.
70923
70924         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70925         vasprintf.h.  Add stdio module indicator.
70926
70927         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70928         vasprintf.h.
70929
70930         * lib/vasprintf.h: File removed.
70931
70932         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70933         * lib/vasprintf.c: Ditto.
70934         * lib/xvasprintf.c: Ditto.
70935         * tests/test-vasprintf-posix.c: Ditto.
70936         * tests/test-vasprintf.c: Ditto.
70937
70938 2007-03-27  Bruno Haible  <bruno@clisp.org>
70939
70940         Make vasnprintf multithread-safe.
70941         * lib/vasnprintf.c (decimal_point_char): New function.
70942         (VASNPRINTF): Use it.
70943         Suggested by Simon Josefsson.
70944
70945 2007-03-27  Eric Blake  <ebb9@byu.net>
70946
70947         Support sub-second birthtime on cygwin.
70948         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70949         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70950         (get_stat_birthtime): Also work with st_birthtim.
70951
70952 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70953
70954         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70955         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70956         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70957         (get_stat_birthtime_ns): Simplify compile-time tests.
70958         (get_stat_birthtime): Change the API to look like
70959         get_stat_mtime etc., except return a negative tv_nsec on error.
70960         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70961         Don't check for "spare" fields.
70962         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70963         or for struct stat.st_birthtime, as these tests aren't used.
70964         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70965
70966 2007-03-27  Bruno Haible  <bruno@clisp.org>
70967
70968         * lib/stat-time.h: Include <sys/stat.h>.
70969
70970 2007-03-27  James Youngman  <jay@gnu.org>
70971
70972         * lib/stat-time.h (get_stat_birthtime): New function for
70973           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70974         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70975           and its variants.
70976         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70977         * modules/stat-time-test: New file.
70978         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70979
70980 2007-03-26  Bruno Haible  <bruno@clisp.org>
70981
70982         Better support of signalling NaNs.
70983         * lib/atanl.c: Include isnanl.h.
70984         (atanl): Perform test for NaN at the beginning of the function and
70985         through a call to isnanl.
70986         * lib/cosl.c: Include isnanl.h.
70987         (cosl): Perform test for NaN at the beginning of the function and
70988         through a call to isnanl.
70989         * lib/ldexpl.c: Include isnanl.h.
70990         (ldexpl): Perform test for NaN through a call to isnanl.
70991         * lib/logl.c: Include isnanl.h.
70992         (logl): Perform test for NaN at the beginning of the function and
70993         through a call to isnanl.
70994         * lib/sinl.c: Include isnanl.h.
70995         (sinl): Perform test for NaN at the beginning of the function and
70996         through a call to isnanl.
70997         * lib/sqrtl.c: Include isnanl.h.
70998         (sqrtl): Perform test for NaN at the beginning of the function and
70999         through a call to isnanl.
71000         * lib/tanl.c: Include isnanl.h.
71001         (tanl): Perform test for NaN at the beginning of the function and
71002         through a call to isnanl.
71003         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71004         * modules/mathl (Depends-on): Add isnanl.
71005
71006 2007-03-26  Eric Blake  <ebb9@byu.net>
71007
71008         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71009         regression in logic sense of previous patch.
71010
71011 2007-03-26  Bruno Haible  <bruno@clisp.org>
71012
71013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71014         unportable shell command "if ! ...".
71015         Reported by Ralf Wildenhues.
71016
71017 2007-03-25  Bruno Haible  <bruno@clisp.org>
71018
71019         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71020         <sysexits.h> file, and only add EX_CONFIG.
71021         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71022         absolute file name and whether it is sufficient. Substitute also
71023         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71024         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71025         ABSOLUTE_SYSEXITS_H into sysexits.h.
71026
71027 2007-03-25  Bruno Haible  <bruno@clisp.org>
71028
71029         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71030         hints is NULL.
71031
71032 2007-03-25  Bruno Haible  <bruno@clisp.org>
71033
71034         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71035         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71036
71037 2007-03-25  Bruno Haible  <bruno@clisp.org>
71038
71039         * lib/vasnprintf.c: Include langinfo.h.
71040         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71041         multithread-safe.
71042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71043         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71044         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71045         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71046         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71047         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71048         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71049         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71050         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71051         Reported by Simon Josefsson.
71052
71053 2007-03-25  Bruno Haible  <bruno@clisp.org>
71054
71055         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71056         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71057         * modules/vasnprintf (Depends-on): Add stdint.
71058
71059 2007-03-25  Bruno Haible  <bruno@clisp.org>
71060
71061         * modules/fpieee: New file.
71062         * m4/fpieee.m4: New file.
71063         * modules/isnan-nolibm (Depends-on): Add fpieee.
71064         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71065         * modules/isnanl (Depends-on): Add fpieee.
71066
71067 2007-03-25  Bruno Haible  <bruno@clisp.org>
71068
71069         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71070
71071 2007-03-25  Bruno Haible  <bruno@clisp.org>
71072
71073         Avoid test failures on IRIX 6.5.
71074         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71075         (main): Use it.
71076         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71077         macros.
71078         (main): Use them.
71079
71080 2007-03-25  Bruno Haible  <bruno@clisp.org>
71081
71082         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71083         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71084         exists but doesn't work.
71085         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71086         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71088         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71089         math.h.
71090
71091 2007-03-25  Bruno Haible  <bruno@clisp.org>
71092
71093         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71094         returns inf. Needed on IRIX 6.5.
71095
71096 2007-03-25  Bruno Haible  <bruno@clisp.org>
71097
71098         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71099         (main): Use isnanl instead of x != x idiom.
71100         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71101
71102         * tests/test-frexp.c: Include isnan.h.
71103         (main): Use isnan instead of x != x idiom.
71104         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71105
71106 2007-03-25  Bruno Haible  <bruno@clisp.org>
71107
71108         * tests/test-frexp.c (NaN): New function/macro.
71109         (main): Use it instead of 0.0 / 0.0.
71110         * tests/test-isnan.c (NaN): New function/macro.
71111         (main): Use it instead of 0.0 / 0.0.
71112         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71113         (test_function): Use it instead of 0.0 / 0.0.
71114         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71115         (test_function): Use it instead of 0.0 / 0.0.
71116         * tests/test-snprintf-posix.h (NaN): New function/macro.
71117         (test_function): Use it instead of 0.0 / 0.0.
71118         * tests/test-sprintf-posix.h (NaN): New function/macro.
71119         (test_function): Use it instead of 0.0 / 0.0.
71120         * tests/test-fprintf-posix.h (NaN): New function/macro.
71121         (test_function): Use it instead of 0.0 / 0.0.
71122         * tests/test-printf-posix.h (NaN): New function/macro.
71123         (test_function): Use it instead of 0.0 / 0.0.
71124
71125         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71126
71127 2007-03-25  Bruno Haible  <bruno@clisp.org>
71128
71129         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71130
71131 2007-03-25  Bruno Haible  <bruno@clisp.org>
71132
71133         * lib/regexec.c (merge_state_with_log): Make static.
71134
71135 2007-03-25  Bruno Haible  <bruno@clisp.org>
71136
71137         * lib/trigl.c (kernel_rem_pio2): Make static.
71138
71139 2007-03-25  Bruno Haible  <bruno@clisp.org>
71140
71141         * lib/sincosl.c (sincosl_table): Make static.
71142
71143 2007-03-25  Bruno Haible  <bruno@clisp.org>
71144
71145         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71146         if the compiler does not support C99.
71147
71148 2007-03-25  Bruno Haible  <bruno@clisp.org>
71149
71150         * modules/time (Makefile.am): Ensure all rule action lines start with a
71151         tab.
71152
71153 2007-03-24  Bruno Haible  <bruno@clisp.org>
71154
71155         * modules/tsearch-tests: New file.
71156         * tests/test-tsearch.sh: New file.
71157         * tests/test-tsearch.c: New file, mostly copied from glibc.
71158
71159         * modules/search-tests: New file.
71160         * tests/test-search.c: New file.
71161
71162         * modules/search: New file.
71163         * lib/search_.h: New file, incorporating lib/tsearch.h.
71164         * m4/search_h.m4: New file.
71165         * lib/tsearch.h: Remove file.
71166         * lib/tsearch.c: Include search.h instead of tsearch.h.
71167         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71168         HAVE_TSEARCH.
71169         * modules/tsearch (Files): Remove lib/tsearch.h.
71170         (Depends-on): Add search.
71171         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71172         (Include): Change tsearch.h into search.h.
71173
71174 2007-03-24  Bruno Haible  <bruno@clisp.org>
71175
71176         * modules/fpucw: New file.
71177         * lib/fpucw.h: New file.
71178         * lib/frexp.c: Include fpucw.h.
71179         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71180         (FUNC): Use them.
71181         * lib/printf-frexp.c: Include fpucw.h.
71182         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71183         (FUNC): Use them.
71184         * lib/vasnprintf.c: Include fpucw.h.
71185         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71186         'long double' calculations.
71187         * tests/test-frexpl.c: Include fpucw.h.
71188         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71189         * tests/test-printf-frexpl.c: Include fpucw.h.
71190         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71191         * modules/frexpl (Depends-on): Add fpucw.
71192         * modules/printf-frexpl (Depends-on): Likewise.
71193         * modules/fprintf-posix (Depends-on): Likewise.
71194         * modules/snprintf-posix (Depends-on): Likewise.
71195         * modules/sprintf-posix (Depends-on): Likewise.
71196         * modules/vasnprintf-posix (Depends-on): Likewise.
71197         * modules/vasprintf-posix (Depends-on): Likewise.
71198         * modules/vfprintf-posix (Depends-on): Likewise.
71199         * modules/vsnprintf-posix (Depends-on): Likewise.
71200         * modules/vsprintf-posix (Depends-on): Likewise.
71201         * modules/frexpl-tests (Depends-on): Likewise.
71202         * modules/printf-frexpl-tests (Depends-on): Likewise.
71203
71204 2007-03-24  Bruno Haible  <bruno@clisp.org>
71205
71206         * lib/float+.h: New file.
71207         * lib/isnan.c: Include float+.h.
71208         (SIZE): New macro.
71209         (FUNC): Compare only SIZE bytes of the value.
71210         * lib/vasnprintf.c: Include float+.h.
71211         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71212         SIZEOF_LDBL or SIZEOF_DBL bytes.
71213         * modules/isnan-nolibm (Files): Add lib/float+.h.
71214         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71215         * modules/isnanl (Files): Add lib/float+.h.
71216         * modules/vasnprintf (Files): Add lib/float+.h.
71217
71218 2007-03-24  Bruno Haible  <bruno@clisp.org>
71219
71220         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71221         include isnanl-nolibm.h.
71222
71223 2007-03-24  Bruno Haible  <bruno@clisp.org>
71224
71225         * tests/test-read-file.c (main): Don't produce spurious output for
71226         expected situations. Make the test fail if it encountered unexpected
71227         results.
71228
71229 2007-03-24  Bruno Haible  <bruno@clisp.org>
71230
71231         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71232         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71233
71234 2007-03-24  Bruno Haible  <bruno@clisp.org>
71235
71236         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71237
71238 2007-03-24  Bruno Haible  <bruno@clisp.org>
71239
71240         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71241         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71242
71243         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71244         * modules/utf8-ucs4: Turn into a symbolic link to module
71245         unistr/u8-mbtouc.
71246
71247         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71248         utf8-ucs4-unsafe.
71249         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71250         unistr/u8-mbtouc-unsafe.
71251
71252         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71253         * modules/utf16-ucs4: Turn into a symbolic link to module
71254         unistr/u16-mbtouc.
71255
71256         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71257         utf16-ucs4-unsafe.
71258         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71259         unistr/u16-mbtouc-unsafe.
71260
71261         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71262         * modules/ucs4-utf8: Turn into a symbolic link to module
71263         unistr/u8-ubtomb.
71264
71265         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71266         * modules/ucs4-utf16: Turn into a symbolic link to module
71267         unistr/u16-ubtomb.
71268
71269 2007-03-24  Bruno Haible  <bruno@clisp.org>
71270
71271         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71272         Enable the function only if HAVE_INLINE.
71273         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71274         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71275         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71276         Enable the function only if HAVE_INLINE.
71277         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71278         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71279         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71280         Enable the function only if HAVE_INLINE.
71281         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71282         Enable the function only if HAVE_INLINE.
71283         * modules/utf8-ucs4: Update.
71284         * modules/utf8-ucs4-unsafe: Update.
71285         * modules/utf16-ucs4: Update.
71286         * modules/utf16-ucs4-unsafe: Update.
71287         * modules/ucs4-utf8: Update.
71288         * modules/ucs4-utf16: Update.
71289
71290 2007-03-24  Bruno Haible  <bruno@clisp.org>
71291
71292         * lib/utf8-ucs4.h: Remove file.
71293         * lib/utf8-ucs4-unsafe.h: Remove file.
71294         * lib/utf16-ucs4.h: Remove file.
71295         * lib/utf16-ucs4-unsafe.h: Remove file.
71296         * lib/ucs4-utf8.h: Remove file.
71297         * lib/ucs4-utf16.h: Remove file.
71298         * lib/unistr.h: Include their previous contents.
71299         * m4/utf-ucs4.m4: Remove file.
71300         * m4/ucs4-utf.m4: Remove file.
71301         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71302         (Depends-on): Add unistr/base.
71303         (configure.ac): Remove gl_UTF_UCS4.
71304         (Makefile.am): Update.
71305         (Include): Change to unistr.h.
71306         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71307         (Depends-on): Add unistr/base.
71308         (configure.ac): Remove gl_UTF_UCS4.
71309         (Makefile.am): Update.
71310         (Include): Change to unistr.h.
71311         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71312         (Depends-on): Add unistr/base.
71313         (configure.ac): Remove gl_UTF_UCS4.
71314         (Makefile.am): Update.
71315         (Include): Change to unistr.h.
71316         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71317         (Depends-on): Add unistr/base.
71318         (configure.ac): Remove gl_UTF_UCS4.
71319         (Makefile.am): Update.
71320         (Include): Change to unistr.h.
71321         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71322         (Depends-on): Add unistr/base.
71323         (configure.ac): Remove gl_UCS4_UTF.
71324         (Makefile.am): Update.
71325         (Include): Change to unistr.h.
71326         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71327         (Depends-on): Add unistr/base.
71328         (configure.ac): Remove gl_UCS4_UTF.
71329         (Makefile.am): Update.
71330         (Include): Change to unistr.h.
71331         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71332         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71333         utf8-ucs4-unsafe.h.
71334         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71335         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71336         utf16-ucs4-unsafe.h.
71337         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71338         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71339         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71340         * lib/unistr/u8-strchr.c: Likewise.
71341         * lib/unistr/u8-strrchr.c: Likewise.
71342         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71343         * lib/unistr/u16-strchr.c: Likewise.
71344         * lib/unistr/u16-strrchr.c: Likewise.
71345         * lib/striconveh.c: Update.
71346         * lib/linebreak.c: Update.
71347
71348 2007-03-24  Bruno Haible  <bruno@clisp.org>
71349
71350         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71351         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71352
71353 2007-03-22  Bruno Haible  <bruno@clisp.org>
71354
71355         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71356
71357 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71358
71359         * MODULES.html.sh (File system functions): New module write-any-file.
71360         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71361         * m4/write-any-file.m4: New files.
71362
71363 2007-03-23  Eric Blake  <ebb9@byu.net>
71364
71365         * gnulib-tool: Rearrange space-tab sequences, since some editors
71366         like to eat them.
71367
71368 2007-03-23  Eric Blake  <ebb9@byu.net>
71369
71370         * lib/version-etc.c (version_etc_va): Update license wording to
71371         be more concise.  Recommended by Richard Stallman.
71372
71373 2007-03-22  Bruno Haible  <bruno@clisp.org>
71374
71375         * lib/poll.c (MSG_PEEK): New fallback definition.
71376
71377 2007-03-22  Bruno Haible  <bruno@clisp.org>
71378
71379         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71380         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71381         (main): Update.
71382         Fixes a compilation error on BeOS.
71383
71384 2007-03-22  Bruno Haible  <bruno@clisp.org>
71385
71386         * modules/frexpl-tests: New file.
71387         * tests/test-frexpl.c: New file.
71388
71389         * modules/frexpl: New file.
71390         * m4/frexpl.m4: New file.
71391         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71392         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71394         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71395         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71396         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71397
71398 2007-03-22  Bruno Haible  <bruno@clisp.org>
71399
71400         * lib/frexpl.c: Share code with lib/frexp.c.
71401         * modules/mathl (Files): Add lib/frexp.c.
71402         (Depends-on): Add isnanl-nolibm.
71403
71404 2007-03-22  Bruno Haible  <bruno@clisp.org>
71405
71406         * modules/printf-frexp (Files): Add m4/frexp.m4.
71407         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71408         only if the found frexp function actually works.
71409
71410 2007-03-22  Bruno Haible  <bruno@clisp.org>
71411
71412         * lib/frexp.c: Remove older implementation that uses divisions.
71413
71414 2007-03-21  Bruno Haible  <bruno@clisp.org>
71415
71416         * modules/frexp-tests: New file.
71417         * tests/test-frexp.c: New file.
71418
71419         * modules/frexp: New file.
71420         * lib/frexp.c: New file.
71421         * m4/frexp.m4: New file.
71422         * lib/math_.h (frexp): New declaration.
71423         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71424         REPLACE_FREXP.
71425         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71426
71427 2007-03-21  Bruno Haible  <bruno@clisp.org>
71428
71429         * modules/isnanl-tests: New file.
71430         * tests/test-isnanl.c: New file.
71431
71432         * modules/isnanl: New file.
71433         * lib/isnanl.h: New file.
71434         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71435         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71436         gl_FUNC_ISNANL_WORKS.
71437         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71438         New macros.
71439
71440 2007-03-21  Bruno Haible  <bruno@clisp.org>
71441
71442         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71443         lib/isnanl.h.
71444         (Include): Update.
71445         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71446         * lib/vasnprintf.c: Update.
71447         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71448         tests/test-isnanl.h, remove tests/test-isnanl.c.
71449         (Makefile.am): Update.
71450         * tests/test-isnanl-nolibm.c: New file.
71451         * tests/test-isnanl.h: New file.
71452         * tests/test-isnanl.c: Remove file.
71453
71454 2007-03-21  Jim Meyering  <jim@meyering.net>
71455
71456         When trying to open ".", treat ESTALE like EACCES.
71457         * lib/savewd.c (savewd_save): Resort to forking not just upon
71458         failure with EACCES, but also when errno is ESTALE.
71459
71460 2007-03-20  Bruno Haible  <bruno@clisp.org>
71461
71462         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71463         Needed on AIX 5.1. Reported by Matthew Woehlke.
71464
71465 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71466
71467         Suggestions by Bruno Haible:
71468         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71469         our own.
71470         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71471         * modules/acl (Depends-on): Add gettext.
71472
71473 2007-03-19  Bruno Haible  <bruno@clisp.org>
71474
71475         * modules/iconvme: Remove file.
71476         * lib/iconvme.h: Remove file.
71477         * lib/iconvme.c: Remove file.
71478         * m4/iconvme.m4: Remove file.
71479
71480 2007-03-19  Bruno Haible  <bruno@clisp.org>
71481
71482         * doc/relocatable-maint.texi: Break long shell script line.
71483         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71484
71485 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71486
71487         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71488         handle file_has_acl.
71489         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71490         * lib/acl.c: Move header inclusions and related macro defns into
71491         lib/acl-internal.h.
71492         (S_ISLNK): Remove defn, since that's now done for us.
71493         (file_has_acl): Move to lib/file-has-acl.c.
71494         Call acl_trivial if available.  This is the crucial part of the fix.
71495         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71496         shared within the library.  Rewrite a bit, partly to make it compatible
71497         with the GNU coding style.
71498         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71499         Remove unnecessary double-quotes.
71500         Don't test for acl_to_text; the build will catch that.
71501         Replace acl_entries if it doesn't exist and it is needed.
71502         Check for -lsec and acl_trivial (as used on Solaris 10).
71503         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71504         lib/file-has-acl.c.
71505         (Depends-on): Add sys_stat, for S_ISLNK.
71506
71507 2007-03-19  Ben Pfaff  <blp@gnu.org>
71508
71509         * doc/gnulib.texi: Fix typos.
71510         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71511
71512 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71513
71514         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71515         If size is zero here, buf must be zero.
71516
71517 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71518
71519         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71520         <bruno@clisp.org>.
71521
71522 2007-03-18  Bruno Haible  <bruno@clisp.org>
71523
71524         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71525         Suggested by Eric Blake.
71526
71527 2007-03-18  Ben Pfaff  <blp@gnu.org>
71528
71529         * doc/relocatable.texi: Recommend using as prefix a directory
71530         that does not exist and will never be created.  Based on
71531         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71532         and others.
71533
71534 2007-03-17  Bruno Haible  <bruno@clisp.org>
71535
71536         * lib/fchownat.c: Include lchown.h.
71537
71538 2007-03-17  Bruno Haible  <bruno@clisp.org>
71539
71540         Fix endless loop when the given allocated size was > INT_MAX.
71541         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71542         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71543         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71544         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71545         * lib/sprintf.c (sprintf): Likewise.
71546
71547 2007-03-17  Bruno Haible  <bruno@clisp.org>
71548
71549         * tests/test-argp-2.sh (func_compare): Output a context diff.
71550
71551 2007-03-17  Bruno Haible  <bruno@clisp.org>
71552
71553         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71554         locale's decimal-point character.
71555
71556 2007-03-17  Bruno Haible  <bruno@clisp.org>
71557
71558         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71559         before comparing it. Needed because on some platforms (e.g. x86) a
71560         'long double' occupies less bytes than sizeof (long double).
71561
71562 2007-03-17  Bruno Haible  <bruno@clisp.org>
71563
71564         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71565         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71566         * tests/test-getaddrinfo.c (simple): Likewise.
71567         * tests/test-read-file.c (main): Likewise.
71568
71569 2007-03-17  Bruno Haible  <bruno@clisp.org>
71570
71571         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71572
71573 2007-03-17  Bruno Haible  <bruno@clisp.org>
71574
71575         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71576         unused variable.
71577
71578 2007-03-17  Bruno Haible  <bruno@clisp.org>
71579
71580         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71581         * tests/test-c-strncasecmp.c: Likewise.
71582
71583 2007-03-17  Bruno Haible  <bruno@clisp.org>
71584
71585         * modules/stdlib (Depends-on): Add unistd.
71586         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71587         Needed for MacOS X 10.3.
71588
71589 2007-03-17  Bruno Haible  <bruno@clisp.org>
71590
71591         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71592
71593 2007-03-17  Bruno Haible  <bruno@clisp.org>
71594
71595         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71596
71597 2007-03-17  Bruno Haible  <bruno@clisp.org>
71598
71599         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71600         to reflect files copied from gnulib (with or without modifications).
71601         Suggested by Jim Meyering.
71602
71603 2007-03-17  Eric Blake  <ebb9@byu.net>
71604
71605         * NEWS: Document stdlib change from 2007-02-18.
71606
71607 2007-03-17  Jim Meyering  <jim@meyering.net>
71608
71609         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71610         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71611         someone uses a name containing shell meta-characters.
71612         Reported by Alfred M. Szmidt.
71613
71614         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71615
71616 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71617
71618         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71619         and copy gettext configuration files only if configure.ac contains
71620         a use of AM_GNU_GETTEXT_VERSION.
71621
71622 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71623
71624         * build-aux/bootstrap (gnulib_name): New variable.
71625         (gnulib_tool_options): Use it.
71626
71627 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71628
71629         * tests/test-des.c: Use new namespace.
71630
71631 2007-03-15  Bruno Haible  <bruno@clisp.org>
71632
71633         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71634         Reported by James Youngman <jay@gnu.org>.
71635
71636 2007-03-15  Bruno Haible  <bruno@clisp.org>
71637
71638         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71639         declared prototype. Needed with cc on OSF/1 5.1.
71640
71641 2007-03-15  Bruno Haible  <bruno@clisp.org>
71642
71643         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71644         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71645         (struct gl_list_implementation): Add dispose_fn argument to the
71646         'create_empty', 'create' methods.
71647         (struct gl_list_impl_base): Add field 'dispose_fn'.
71648         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71649         argument.
71650         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71651         dispose_fn argument.
71652         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71653         dispose_fn on the dropped values.
71654         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71655         dispose_fn argument.
71656         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71657         dropped values.
71658         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71659         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71660         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71661         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71662         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71663         argument.
71664         (gl_tree_list_free): Call dispose_fn on the dropped values.
71665         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71666         the dropped values.
71667         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71668         Add dispose_fn argument.
71669         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71670         Call dispose_fn on the dropped values.
71671         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71672         Add dispose_fn argument.
71673         (gl_sublist_create): Initialize the 'dispose_fn' field.
71674         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71675         * tests/test-array_list.c (main): Update.
71676         * tests/test-carray_list.c (main): Update.
71677         * tests/test-avltree_list.c (main): Update.
71678         * tests/test-rbtree_list.c (main): Update.
71679         * tests/test-avltreehash_list.c (main): Update.
71680         * tests/test-rbtreehash_list.c (main): Update.
71681         * tests/test-linked_list.c (main): Update.
71682         * tests/test-linkedhash_list.c (main): Update.
71683         * tests/test-array_oset.c (main): Update.
71684
71685 2007-03-15  Bruno Haible  <bruno@clisp.org>
71686
71687         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71688         (gl_oset_create_empty): Add dispose_fn argument.
71689         (struct gl_oset_implementation): Add dispose_fn argument to
71690         'create_empty' method.
71691         (struct gl_oset_impl_base): Add dispose_fn field.
71692         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71693         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71694         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71695         values.
71696         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71697         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71698         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71699         dropped value.
71700         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71701         dropped value.
71702         * tests/test-array_oset.c (main): Update.
71703         * tests/test-avltree_oset.c (main): Update.
71704         * tests/test-rbtree_oset.c (main): Update.
71705         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71706
71707 2007-03-13  Bruno Haible  <bruno@clisp.org>
71708
71709         * tests/test-stdbool.c (i): Update after last patch.
71710
71711 2007-03-12  Bruno Haible  <bruno@clisp.org>
71712
71713         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71714         the iswprint macro. Needed on Solaris 2.5.1.
71715
71716 2007-03-12  Bruno Haible  <bruno@clisp.org>
71717
71718         * tests/test-printf-frexp.c (main): Declare x as volatile.
71719
71720 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71721
71722         * doc/gnulib.texi (Build robot for gnulib): New section.
71723
71724 2007-03-12  Jim Meyering  <jim@meyering.net>
71725
71726         * build-aux/bootstrap: New file.
71727         * build-aux/bootstrap.conf: New file, from coreutils.
71728
71729 2007-03-11  Bruno Haible  <bruno@clisp.org>
71730
71731         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71732
71733 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71734
71735         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71736         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71737         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71738
71739 2007-03-11  Bruno Haible  <bruno@clisp.org>
71740
71741         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71742         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71743
71744 2007-03-11  Bruno Haible  <bruno@clisp.org>
71745
71746         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71747         formula. Needed for SunPRO C 5.0.
71748
71749 2007-03-11  Bruno Haible  <bruno@clisp.org>
71750
71751         * modules/long-options (Depends-on): Add getopt.
71752
71753 2007-03-11  Bruno Haible  <bruno@clisp.org>
71754
71755         * modules/modechange (Depends-on): Add stdbool.
71756
71757 2007-03-11  Bruno Haible  <bruno@clisp.org>
71758
71759         * modules/i-ring (Depends-on): Add stdbool.
71760
71761 2007-03-11  Bruno Haible  <bruno@clisp.org>
71762
71763         * modules/gc-des (Depends-on): Add stdbool.
71764
71765 2007-03-11  Bruno Haible  <bruno@clisp.org>
71766
71767         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71768
71769 2007-03-11  Bruno Haible  <bruno@clisp.org>
71770
71771         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71772
71773 2007-03-11  Bruno Haible  <bruno@clisp.org>
71774
71775         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71776
71777 2007-03-11  Bruno Haible  <bruno@clisp.org>
71778
71779         * lib/vasnprintf.c (sprintf): Undefine.
71780
71781 2007-03-11  Bruno Haible  <bruno@clisp.org>
71782
71783         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71784         initializers in SunPRO C and Compaq C compilers.
71785
71786 2007-03-11  Bruno Haible  <bruno@clisp.org>
71787
71788         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71789         decrementing code ANSI C compliant.
71790
71791 2007-03-11  Bruno Haible  <bruno@clisp.org>
71792
71793         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71794         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71795
71796 2007-03-11  Bruno Haible  <bruno@clisp.org>
71797
71798         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71799         <stdbool.h> substitute doesn't pass.
71800
71801 2007-03-11  Bruno Haible  <bruno@clisp.org>
71802
71803         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71804
71805 2007-03-11  Bruno Haible  <bruno@clisp.org>
71806
71807         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71808         script, for submission to autobuild.josefsson.org.
71809
71810 2007-03-10  Bruno Haible  <bruno@clisp.org>
71811
71812         * modules/canonicalize-lgpl-tests: New file.
71813         * tests/test-canonicalize-lgpl.sh: New file.
71814         * tests/test-canonicalize-lgpl.c: New file.
71815
71816         * modules/c-strcase-tests: New file.
71817         * tests/test-c-strcase.sh: New file.
71818         * tests/test-c-strcasecmp.c: New file.
71819         * tests/test-c-strncasecmp.c: New file.
71820
71821         * modules/atexit-tests: New file.
71822         * tests/test-atexit.sh: New file.
71823         * tests/test-atexit.c: New file.
71824
71825 2007-03-10  Bruno Haible  <bruno@clisp.org>
71826
71827         * tests/test-binary-io.sh: Use temporary filenames that are not so
71828         likely to clash with those of other tests (in a parallel make).
71829         * tests/test-binary-io.c: Likewise.
71830
71831 2007-03-10  Bruno Haible  <bruno@clisp.org>
71832
71833         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71834         fallback; use #error instead.
71835         Suggested by Simon Josefsson.
71836
71837 2007-03-10  Bruno Haible  <bruno@clisp.org>
71838
71839         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71840         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71841         first and the last.
71842
71843 2007-03-10  Bruno Haible  <bruno@clisp.org>
71844
71845         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71846
71847 2007-03-10  Bruno Haible  <bruno@clisp.org>
71848
71849         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71850         "make distcheck".
71851         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71852         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71853         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71854
71855 2007-03-10  Bruno Haible  <bruno@clisp.org>
71856
71857         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71858         variable.
71859         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71860         variable.
71861
71862 2007-03-09  Eric Blake  <ebb9@byu.net>
71863         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71864
71865         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71866         types are not being provided by gnulib.
71867         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71868         types are supported.
71869
71870 2007-03-10  Bruno Haible  <bruno@clisp.org>
71871
71872         * lib/stdio_.h (__attribute__): New macro.
71873         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71874         vsprintf): Specify __attribute__ __format__ for GCC.
71875         Suggested by Eric Blake.
71876
71877 2007-03-09  Bruno Haible  <bruno@clisp.org>
71878
71879         * modules/printf-posix-tests: New file.
71880         * tests/test-printf-posix.sh: New file.
71881         * tests/test-printf-posix.c: New file.
71882
71883         * modules/printf-posix: New file.
71884         * lib/printf.c: New file.
71885         * m4/printf-posix-rpl.m4: New file.
71886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71887         REPLACE_PRINTF.
71888         * lib/stdio_.h (printf): New declaration.
71889         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71890         ____strfmon____): New macros.
71891         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71892         REPLACE_PRINTF.
71893
71894 2007-03-09  Bruno Haible  <bruno@clisp.org>
71895
71896         * tests/test-vasnprintf-posix2.sh: New file.
71897         * tests/test-vasnprintf-posix2.c: New file.
71898         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71899         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71900         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71901
71902         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71903         a locale dependent decimal point, rather than always '.'.
71904
71905 2007-03-09  Eric Blake  <ebb9@byu.net>
71906
71907         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71908         spite of platforms like Tandem/NSK that define it to -1.
71909
71910 2007-03-08  Bruno Haible  <bruno@clisp.org>
71911
71912         * modules/vprintf-posix-tests: New file.
71913         * tests/test-vprintf-posix.sh: New file.
71914         * tests/test-vprintf-posix.c: New file.
71915         * tests/test-printf-posix.h: New file.
71916
71917         * modules/vprintf-posix: New file.
71918         * lib/vprintf.c: New file.
71919         * m4/vprintf-posix.m4: New file.
71920         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71921         REPLACE_VPRINTF.
71922         * lib/stdio_.h (vprintf): New declaration.
71923         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71924         REPLACE_VPRINTF.
71925
71926 2007-03-08  Bruno Haible  <bruno@clisp.org>
71927
71928         * modules/fprintf-posix-tests: New file.
71929         * tests/test-fprintf-posix.sh: New file.
71930         * tests/test-fprintf-posix.c: New file.
71931
71932         * modules/fprintf-posix: New file.
71933         * lib/fprintf.c: New file.
71934         * m4/fprintf-posix.m4: New file.
71935         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71936         REPLACE_FPRINTF.
71937         * lib/stdio_.h (fprintf): New declaration.
71938         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71939         REPLACE_FPRINTF.
71940
71941 2007-03-08  Bruno Haible  <bruno@clisp.org>
71942
71943         * modules/vfprintf-posix-tests: New file.
71944         * tests/test-vfprintf-posix.sh: New file.
71945         * tests/test-vfprintf-posix.c: New file.
71946         * tests/test-fprintf-posix.h: New file.
71947         * tests/test-fprintf-posix.out: New file.
71948
71949         * modules/vfprintf-posix: New file.
71950         * lib/vfprintf.c: New file.
71951         * m4/vfprintf-posix.m4: New file.
71952         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71953         REPLACE_VFPRINTF.
71954         * lib/stdio_.h (vfprintf): New declaration.
71955         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71956         REPLACE_VFPRINTF.
71957
71958 2007-03-08  Bruno Haible  <bruno@clisp.org>
71959
71960         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71961
71962 2007-03-08  Bruno Haible  <bruno@clisp.org>
71963
71964         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71965         instead of 'expr' invocations.
71966         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71967         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71968         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71969         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71970         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71971         Suggested by Paul Eggert.
71972
71973 2007-03-08  Bruno Haible  <bruno@clisp.org>
71974
71975         * modules/fseterr-tests: New file.
71976         * tests/test-fseterr.c: New file.
71977
71978         * modules/fseterr: New file.
71979         * lib/fseterr.h: New file.
71980         * lib/fseterr.c: New file.
71981
71982 2007-03-08  Bruno Haible  <bruno@clisp.org>
71983
71984         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71985         * lib/getopt_.h: Likewise.
71986         * lib/mbswidth.h: Likewise.
71987         * lib/setenv.h: Likewise.
71988         * lib/vasnprintf.h: Likewise.
71989         * lib/vasprintf.h: Likewise.
71990         * lib/verror.h: Likewise.
71991         * lib/xsetenv.h: Likewise.
71992         * lib/xvasprintf.h: Likewise.
71993
71994 2007-03-08  Jim Meyering  <jim@meyering.net>
71995
71996         * users.txt: Add parted.
71997
71998         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71999
72000 2007-03-07  Bruno Haible  <bruno@clisp.org>
72001
72002         * m4/printf.m4: Make the shell script snippets copy&pastable.
72003
72004 2007-03-02  Bruno Haible  <bruno@clisp.org>
72005
72006         * lib/netinet_in_.h: New file.
72007         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72008         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72009         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72010         (Depends-on): Add absolute-header.
72011         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72012         into netinet/in.h.
72013
72014 2007-03-03  Bruno Haible  <bruno@clisp.org>
72015
72016         * lib/sys_select_.h: New file.
72017         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72018         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72019         * modules/sys_select (Files): Add lib/sys_select_.h.
72020         (Depends-on): Add absolute-header.
72021         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72022         into sys/select.h.
72023
72024 2007-03-02  Bruno Haible  <bruno@clisp.org>
72025
72026         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72027         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72028         values.
72029         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72030         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72031         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72032         * modules/sys_socket (Depends-on): Add absolute-header.
72033         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72034         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72035         (Include): Remove requirement of inclusion of <sys/types.h>.
72036
72037 2007-03-02  Bruno Haible  <bruno@clisp.org>
72038
72039         * lib/byteswap_.h (bswap_32): Fix formula.
72040
72041 2007-03-06  Bruno Haible  <bruno@clisp.org>
72042
72043         * modules/sprintf-posix-tests: New file.
72044         * tests/test-sprintf-posix.c: New file.
72045
72046         * modules/sprintf-posix: New file.
72047         * lib/sprintf.c: New file.
72048         * m4/sprintf-posix.m4: New file.
72049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72050         REPLACE_SPRINTF.
72051         * lib/stdio_.h (sprintf): New declaration.
72052         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72053         REPLACE_SPRINTF.
72054
72055 2007-03-06  Bruno Haible  <bruno@clisp.org>
72056
72057         * modules/vsprintf-posix-tests: New file.
72058         * tests/test-vsprintf-posix.c: New file.
72059         * tests/test-sprintf-posix.h: New file.
72060
72061         * modules/vsprintf-posix: New file.
72062         * lib/vsprintf.c: New file.
72063         * m4/vsprintf-posix.m4: New file.
72064         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72065         REPLACE_VSPRINTF.
72066         * lib/stdio_.h (vsprintf): New declaration.
72067         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72068         REPLACE_VSPRINTF.
72069
72070 2007-03-06  Bruno Haible  <bruno@clisp.org>
72071
72072         * modules/vsnprintf (Depend-on): Remove minmax.
72073
72074 2007-03-06  Bruno Haible  <bruno@clisp.org>
72075
72076         * modules/snprintf-posix-tests: New file.
72077         * tests/test-snprintf-posix.c: New file.
72078
72079         * modules/snprintf-posix: New file.
72080         * m4/snprintf-posix.m4: New file.
72081         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
72082         gl_FUNC_SNPRINTF.
72083         (gl_FUNC_SNPRINTF): Invoke it.
72084         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72085         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72086         is set.
72087         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72088
72089 2007-03-06  Bruno Haible  <bruno@clisp.org>
72090
72091         * modules/vsnprintf-posix-tests: New file.
72092         * tests/test-vsnprintf-posix.c: New file.
72093         * tests/test-snprintf-posix.h: New file.
72094
72095         * modules/vsnprintf-posix: New file.
72096         * m4/vsnprintf-posix.m4: New file.
72097         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72098         gl_FUNC_VSNPRINTF.
72099         (gl_FUNC_VSNPRINTF): Invoke it.
72100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72101         * lib/stdio_.h (vsnprintf): Define as a replacement if
72102         REPLACE_VSNPRINTF is set.
72103         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72104
72105 2007-03-06  Bruno Haible  <bruno@clisp.org>
72106
72107         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72108         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72109
72110 2007-03-06  Bruno Haible  <bruno@clisp.org>
72111
72112         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72113         (asinl): Declare also if HAVE_DECL_ASINL is set.
72114         (atanl): Declare also if HAVE_DECL_ATANL is set.
72115         (ceill): Declare also if HAVE_DECL_CEILL is set.
72116         (cosl): Declare also if HAVE_DECL_COSL is set.
72117         (expl): Declare also if HAVE_DECL_EXPL is set.
72118         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72119         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72120         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72121         (logl): Declare also if HAVE_DECL_LOGL is set.
72122         (sinl): Declare also if HAVE_DECL_SINL is set.
72123         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72124         (tanl): Declare also if HAVE_DECL_TANL is set.
72125         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72126         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72127         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72128         declaration of frexpl, ldexpl.
72129         * modules/printf-frexpl (Depends-on): Add math.
72130         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72131
72132 2007-03-05  Bruno Haible  <bruno@clisp.org>
72133
72134         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72135         frexpl and ldexpl are declared.
72136         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72137
72138 2007-03-05  Bruno Haible  <bruno@clisp.org>
72139
72140         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72141         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72142
72143 2007-03-05  Bruno Haible  <bruno@clisp.org>
72144
72145         * lib/stdio_.h: Include <stddef.h>.
72146
72147 2007-03-05  Bruno Haible  <bruno@clisp.org>
72148
72149         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72150
72151 2007-03-05  Bruno Haible  <bruno@clisp.org>
72152
72153         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72154         NetBSD 4, from Ralf Wildenhues.
72155
72156 2007-03-04  Bruno Haible  <bruno@clisp.org>
72157
72158         * lib/vasprintf.h: Update #if logic for the case when the functions
72159         exist but are overridden.
72160
72161 2007-03-04  Bruno Haible  <bruno@clisp.org>
72162
72163         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72164         implementations: glibc-2.4 and MacOS X 10.3.
72165         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72166         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72167         * tests/test-vasprintf-posix.c (test_function): Likewise.
72168
72169 2007-03-04  Bruno Haible  <bruno@clisp.org>
72170
72171         * modules/vasprintf-posix-tests: New file.
72172         * tests/test-vasprintf-posix.c: New file.
72173
72174         * modules/vasprintf-posix: New file.
72175         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72176         defined.
72177         * m4/vasprintf-posix.m4: New file.
72178         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72179         gl_FUNC_VASPRINTF.
72180         (gl_FUNC_VASPRINTF): Invoke it.
72181         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72182         here.
72183         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72184
72185 2007-03-04  Bruno Haible  <bruno@clisp.org>
72186
72187         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72188         REPLACE_GETTIMEOFDAY.
72189         * modules/sys_time (Makefile.am): Likewise.
72190         * m4/sys_time_h.m4: Likewise.
72191         * m4/gettimeofday.m4: Likewise.
72192
72193 2007-03-04  Bruno Haible  <bruno@clisp.org>
72194
72195         * modules/vasnprintf-posix-tests: New file.
72196         * tests/test-vasnprintf-posix.c: New file.
72197
72198         * modules/vasnprintf-posix: New file.
72199         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72200         printf-frexpl.h.
72201         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72202         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72203         REPLACE_VASNPRINTF is defined.
72204         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72205         gl_FUNC_VASNPRINTF.
72206         (gl_FUNC_VASNPRINTF): Invoke it.
72207         * m4/vasnprintf-posix.m4: New file.
72208         * m4/printf.m4: New file.
72209
72210 2007-03-04  Bruno Haible  <bruno@clisp.org>
72211
72212         Compile progreloc.c only if --enable-relocatable is specified.
72213         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72214         if --enable-relocatable was specified.
72215         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72216         lib_SOURCES.
72217
72218 2007-03-04  Jim Meyering  <jim@meyering.net>
72219
72220         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72221         Use it consistently, rather than enumerating errno constants.
72222
72223 2007-03-04  Bruno Haible  <bruno@clisp.org>
72224
72225         * modules/xvasprintf-tests: New file.
72226         * tests/test-xvasprintf.c: New file.
72227
72228         * modules/vasprintf-tests: New file.
72229         * tests/test-vasprintf.c: New file.
72230
72231         * modules/vasnprintf-tests: New file.
72232         * tests/test-vasnprintf.c: New file.
72233
72234         * modules/vsnprintf-tests: New file.
72235         * tests/test-vsnprintf.c: New file.
72236
72237         * modules/snprintf-tests: New file.
72238         * tests/test-snprintf.c: New file.
72239
72240 2007-03-04  Bruno Haible  <bruno@clisp.org>
72241
72242         Compile relocatable.c only if --enable-relocatable is specified.
72243         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72244         gl_RELOCATABLE_LIBRARY.
72245         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72246         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72247         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72248         gl_RELOCATABLE_LIBRARY.
72249         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72250         (Makefile.am): Remove lib_SOURCES.
72251         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72252         gl_RELOCATABLE_LIBRARY.
72253         (Makefile.am): Remove lib_SOURCES.
72254         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72255         always.
72256         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72257         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72258
72259 2007-03-04  Bruno Haible  <bruno@clisp.org>
72260
72261         * modules/argmatch-tests: New file.
72262         * tests/test-argmatch.c: New file.
72263
72264         * tests/test-allocsa.c (main): Halve the number of loop runs.
72265
72266         * modules/alloca-opt-tests: New file.
72267         * tests/test-alloca-opt.c: New file.
72268
72269 2007-03-04  Jim Meyering  <jim@meyering.net>
72270
72271         Work around difference between Linux ACLs and Solaris 10 ZFS.
72272         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72273         for EINVAL.
72274
72275 2007-03-03  Bruno Haible  <bruno@clisp.org>
72276
72277         * modules/relocatable-prog (Depends-on): Add back progreloc's
72278         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72279
72280 2007-03-03  Bruno Haible  <bruno@clisp.org>
72281
72282         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72283         * modules/relocatable-lib: New file.
72284
72285 2007-03-03  Bruno Haible  <bruno@clisp.org>
72286
72287         * modules/relocatable-prog: Renamed from modules/relocatable.
72288         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72289
72290 2007-03-03  Bruno Haible  <bruno@clisp.org>
72291
72292         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72293         m4/relocatable-lib.m4.
72294         (Depends-on): Remove 'relocatable'.
72295         (configure.ac): Add gl_RELOCATABLE_NOP.
72296
72297 2007-03-03  Bruno Haible  <bruno@clisp.org>
72298
72299         * modules/relocatable-prog-wrapper: New file.
72300         * modules/relocatable (Depends-on): Add it. Remove all other
72301         dependencies except progname.
72302         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72303
72304         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72305         (gl_FUNC_STRERROR): Nop.
72306         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72307
72308         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72309         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72310
72311         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72312         (gl_FUNC_READLINK): Update.
72313
72314         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72315
72316 2007-03-03  Bruno Haible  <bruno@clisp.org>
72317
72318         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72319         * modules/xreadlink (Depends-on): Add unistd.
72320         * modules/xreadlink-with-size (Depends-on): Likewise.
72321
72322 2007-03-03  Bruno Haible  <bruno@clisp.org>
72323
72324         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72325         extracted from gt_FUNC_SETENV.
72326         (gt_FUNC_SETENV): Remove macro.
72327         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72328         remove gt_FUNC_SETENV.
72329
72330 2007-03-03  Bruno Haible  <bruno@clisp.org>
72331
72332         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72333         ENABLE_RELOCATABLE here.
72334         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72335
72336 2007-03-03  Bruno Haible  <bruno@clisp.org>
72337
72338         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72339         * tests/test-rbtreehash_list.c: Include progname.h.
72340         (main): Call set_program_name.
72341
72342         * modules/rbtree-oset-tests (Depends-on): Add progname.
72343         * tests/test-rbtree_oset.c: Include progname.h.
72344         (main): Call set_program_name.
72345
72346         * modules/rbtree-list-tests (Depends-on): Add progname.
72347         * tests/test-rbtree_list.c: Include progname.h.
72348         (main): Call set_program_name.
72349
72350         * modules/linked-list-tests (Depends-on): Add progname.
72351         * tests/test-linked_list.c: Include progname.h.
72352         (main): Call set_program_name.
72353
72354 2007-03-03  Bruno Haible  <bruno@clisp.org>
72355
72356         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72357         All uses of __restrict changed to _Restrict_.
72358         * lib/glob_.h (__restrict): Remove macro.
72359
72360 2007-03-02  Bruno Haible  <bruno@clisp.org>
72361
72362         * modules/gettext (configure.ac): Require gettext infrastructure
72363         from version 0.16.1.
72364
72365 2007-03-02  Bruno Haible  <bruno@clisp.org>
72366
72367         * modules/linkedhash-list-tests (Depends-on): Add progname.
72368         * tests/test-linkedhash_list.c: Include progname.h.
72369         (main): Call set_program_name.
72370
72371         * modules/carray-list-tests (Depends-on): Add progname.
72372         * tests/test-carray_list.c: Include progname.h.
72373         (main): Call set_program_name.
72374
72375         * modules/avltreehash-list-tests (Depends-on): Add progname.
72376         * tests/test-avltreehash_list.c: Include progname.h.
72377         (main): Call set_program_name.
72378
72379         * modules/avltree-oset-tests (Depends-on): Add progname.
72380         * tests/test-avltree_oset.c: Include progname.h.
72381         (main): Call set_program_name.
72382
72383         * modules/avltree-list-tests (Depends-on): Add progname.
72384         * tests/test-avltree_list.c: Include progname.h.
72385         (main): Call set_program_name.
72386
72387         * modules/array-oset-tests (Depends-on): Add progname.
72388         * tests/test-array_oset.c: Include progname.h.
72389         (main): Call set_program_name.
72390
72391         * modules/array-list-tests (Depends-on): Add progname.
72392         * tests/test-array_list.c: Include progname.h.
72393         (main): Call set_program_name.
72394
72395         * modules/argp-tests (Depends-on): Add progname.
72396         * tests/test-argp.c: Include argp.h first. Include progname.h.
72397         (main): Call set_program_name.
72398
72399 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72400
72401         * doc/gnulib-tool.texi (Initial import): Reword description of
72402         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72403         limited effect even if defined after the first system include.
72404
72405 2007-03-01  Bruno Haible  <bruno@clisp.org>
72406
72407         * build-aux/config.libpath: Update to libtool-1.5.22.
72408         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72409
72410 2007-03-01  Bruno Haible  <bruno@clisp.org>
72411
72412         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72413         foo_CFLAGS.
72414         Reported by Ralf Wildenhues.
72415
72416 2007-03-01  Bruno Haible  <bruno@clisp.org>
72417
72418         * build-aux/install-reloc: Remove object files left over by some
72419         compilers.
72420         Reported by Ralf Wildenhues.
72421
72422 2007-03-01  Bruno Haible  <bruno@clisp.org>
72423
72424         * build-aux/install-reloc: Break long lines.
72425
72426 2007-03-01  Bruno Haible  <bruno@clisp.org>
72427
72428         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72429         Reported by Ralf Wildenhues.
72430
72431 2007-03-01  Bruno Haible  <bruno@clisp.org>
72432
72433         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72434         include ordering constraints.
72435
72436 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72437
72438         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72439         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72440         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72441         as another example.
72442         * lib/time_.h: Fix misspelling.
72443         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72444         Require gl_HEADER_TIME_H_DEFAULTS.
72445         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72446         * m4/time_r.m4 (gl_TIME_R): Likewise.
72447         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72448
72449 2007-03-01  Bruno Haible  <bruno@clisp.org>
72450
72451         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72452         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72453
72454 2007-03-01  Jim Meyering  <jim@meyering.net>
72455
72456         * modules/xreadlink (Maintainer): Add my name.
72457         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72458
72459 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72460             Bruno Haible  <bruno@clisp.org>
72461
72462         * build-aux/install-reloc: Compile also c-ctype.c.
72463         * build-aux/relocatable.sh.in: New file.
72464         * doc/relocatable.texi: New file.
72465         * doc/relocatable-maint.texi: New file.
72466         * doc/gnulib.texi: Include relocatable-maint.texi.
72467         * lib/progreloc.c: Include unistd.h unconditionally.
72468         * lib/relocwrapper.c: Include unistd.h unconditionally.
72469         Include c-ctype.h.
72470         (add_dotbin): Use c_tolower.
72471         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72472         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72473         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72474         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72475         to m4/relocatable-lib.m4.
72476         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72477         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72478         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72479         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72480         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72481         * modules/relocatable: New file.
72482         * modules/relocatable-lib: New file.
72483         * modules/relocatable-script: New file.
72484
72485 2007-02-28  Bruno Haible  <bruno@clisp.org>
72486
72487         Import --enable-relocatable infrastructure.
72488         * build-aux/config.libpath: New file, from GNU gettext.
72489         * build-aux/install-reloc: New file, from GNU gettext.
72490         * build-aux/reloc-ldflags: New file, from GNU gettext.
72491         * lib/relocatable.h: New file, from GNU gettext.
72492         * lib/relocatable.c: New file, from GNU gettext.
72493         * lib/relocwrapper.c: New file, from GNU gettext.
72494         * m4/relocatable.m4: New file, from GNU gettext.
72495
72496 2007-02-28  Bruno Haible  <bruno@clisp.org>
72497
72498         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72499
72500         * modules/xreadlink: New file, from GNU gettext with modifications.
72501         * lib/xreadlink.c: New file, from GNU gettext.
72502         * lib/xreadlink.h: Add comments.
72503         (xreadlink): New declaration.
72504
72505         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72506         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72507         lib/xreadlink-with-size.c.
72508         (configure.ac): Remove gl_XREADLINK invocation.
72509         (Makefile.am): Augment lib_SOURCES.
72510         * m4/xreadlink.m4: Remove file.
72511         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72512         (xreadlink_with_size): Renamed from xreadink.
72513         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72514         * modules/canonicalize (Depends-on): Replace xreadlink with
72515         xreadlink-with-size.
72516         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72517
72518 2007-02-25  Jim Meyering  <jim@meyering.net>
72519
72520         * build-aux/announce-gen: When complaining about excess arguments,
72521         list them.
72522
72523 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72524
72525         * README: Document signed integer overflow situation more
72526         accurately.
72527
72528 2007-02-25  Bruno Haible  <bruno@clisp.org>
72529
72530         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72531         'a' or 'A' conversion.
72532
72533 2007-02-25  Bruno Haible  <bruno@clisp.org>
72534
72535         * modules/filename: Renamed from modules/pathname.
72536         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72537         lib/concatpath.c with lib/concat-filename.c.
72538         (Makefile.am): Update.
72539         (Include): Replace pathname.h with filename.h.
72540         * lib/filename.h: Renamed from lib/pathname.h.
72541         (concatenated_filename): Renamed from concatenated_pathname.
72542         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72543         (concatenated_filename): Renamed from concatenated_pathname.
72544         * lib/findprog.c: Include filename.h instead of pathname.h.
72545         (find_in_path): Update.
72546         * lib/javacomp.c: Include filename.h instead of pathname.h.
72547         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72548         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72549         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72550         is_oldgcj_14_13_usable, is_javac_usable): Update.
72551         * lib/javaexec.c: Include filename.h instead of pathname.h.
72552         (execute_java_class): Update.
72553         * modules/findprog: Update.
72554         * modules/javacomp: Update.
72555         * modules/javaexec: Update.
72556         * MODULES.html.sh (File system functions): Add 'filename', remove
72557         'pathname'.
72558
72559 2007-02-25  Bruno Haible  <bruno@clisp.org>
72560
72561         * modules/printf-frexpl-tests: New file.
72562         * tests/test-printf-frexpl.c: New file.
72563
72564         * modules/printf-frexpl: New file.
72565         * lib/printf-frexpl.h: New file.
72566         * lib/printf-frexpl.c: New file.
72567         * m4/printf-frexpl.m4: New file.
72568
72569 2007-02-25  Bruno Haible  <bruno@clisp.org>
72570
72571         * modules/printf-frexp-tests: New file.
72572         * tests/test-printf-frexp.c: New file.
72573
72574         * modules/printf-frexp: New file.
72575         * lib/printf-frexp.h: New file.
72576         * lib/printf-frexp.c: New file.
72577         * m4/printf-frexp.m4: New file.
72578
72579 2007-02-25  Bruno Haible  <bruno@clisp.org>
72580
72581         Assume automake >= 1.10 for the tests.
72582         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72583         * modules/arctwo-tests: Likewise.
72584         * modules/argp-tests: Likewise.
72585         * modules/avltree-list-tests: Likewise.
72586         * modules/avltree-oset-tests: Likewise.
72587         * modules/avltreehash-list-tests: Likewise.
72588         * modules/carray-list-tests: Likewise.
72589         * modules/crc-tests: Likewise.
72590         * modules/des-tests: Likewise.
72591         * modules/gc-arcfour-tests: Likewise.
72592         * modules/gc-arctwo-tests: Likewise.
72593         * modules/gc-des-tests: Likewise.
72594         * modules/gc-hmac-md5-tests: Likewise.
72595         * modules/gc-hmac-sha1-tests: Likewise.
72596         * modules/gc-md2-tests: Likewise.
72597         * modules/gc-md4-tests: Likewise.
72598         * modules/gc-md5-tests: Likewise.
72599         * modules/gc-pbkdf2-sha1-tests: Likewise.
72600         * modules/gc-rijndael-tests: Likewise.
72601         * modules/gc-sha1-tests: Likewise.
72602         * modules/gc-tests: Likewise.
72603         * modules/getaddrinfo-tests: Likewise.
72604         * modules/hmac-md5-tests: Likewise.
72605         * modules/hmac-sha1-tests: Likewise.
72606         * modules/linked-list-tests: Likewise.
72607         * modules/linkedhash-list-tests: Likewise.
72608         * modules/lock-tests: Likewise.
72609         * modules/md2-tests: Likewise.
72610         * modules/md4-tests: Likewise.
72611         * modules/md5-tests: Likewise.
72612         * modules/rbtree-list-tests: Likewise.
72613         * modules/rbtree-oset-tests: Likewise.
72614         * modules/rbtreehash-list-tests: Likewise.
72615         * modules/read-file-tests: Likewise.
72616         * modules/rijndael-tests: Likewise.
72617         * modules/stdint-tests: Likewise.
72618         * modules/tls-tests: Likewise.
72619
72620 2007-02-24  Bruno Haible  <bruno@clisp.org>
72621
72622         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72623         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72624         function; instead check whether isnan with a double argument links.
72625         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72626         function; instead check whether isnan with a 'long double' argument
72627         links.
72628         Reported by Eric Blake <ebb9@byu.net>.
72629
72630 2007-02-24  Bruno Haible  <bruno@clisp.org>
72631
72632         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72633         defined.
72634         * lib/isnanl.c: Remove all code. Just include isnan.c.
72635         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72636
72637 2007-02-25  Jim Meyering  <jim@meyering.net>
72638
72639         Avoid conflicting types for 'unsetenv' on FreeBSD.
72640         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72641         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72642         in stdlib.h.
72643
72644 2007-02-24  Bruno Haible  <bruno@clisp.org>
72645
72646         * modules/isnanl-nolibm-tests: New file.
72647         * tests/test-isnanl.c: New file.
72648
72649         * modules/isnanl-nolibm: New file.
72650         * lib/isnanl.h: New file.
72651         * lib/isnanl.c: New file.
72652         * m4/isnanl.m4: New file.
72653
72654 2007-02-24  Bruno Haible  <bruno@clisp.org>
72655
72656         * modules/isnan-nolibm-tests: New file.
72657         * tests/test-isnan.c: New file.
72658
72659         * modules/isnan-nolibm: New file.
72660         * lib/isnan.h: New file.
72661         * lib/isnan.c: New file.
72662         * m4/isnan.m4: New file.
72663
72664 2007-02-24  Bruno Haible  <bruno@clisp.org>
72665
72666         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72667         assume that an exponent fits in 20 bits.
72668
72669 2007-02-24  Jim Meyering  <jim@meyering.net>
72670
72671         * m4/regex.m4: Update the description of the configure-time option,
72672         --without-included-regex, to state accurately what the defaults are,
72673         and perhaps to give people an idea why using this option is risky.
72674
72675 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72676
72677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72678         loops on small arguments.  This attempts to avoid the problem
72679         Bruno Haible reported for AIX 4.3.2 in
72680         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72681
72682 2007-02-23  Bruno Haible  <bruno@clisp.org>
72683
72684         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72685         Needed for help2man.
72686
72687 2007-02-23  Karl Berry  <karl@gnu.org>
72688
72689         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72690         exists, foo.h should be cvs-ignored, not committed.
72691
72692 2007-02-23  Eric Blake  <ebb9@byu.net>
72693
72694         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72695         * lib/stat-time.h (includes): Likewise.
72696         * lib/utimecmp.c (includes): Likewise.
72697         * lib/utimens.h (includes): Likewise.
72698         * lib/getdate.y (includes): Also include "timespec.h" for use
72699         internal to the module.
72700         * modules/utimens (Depends-on): Revert yesterday's patch.
72701         * modules/nanosleep (Depends-on): Add missing dependency.
72702
72703 2007-02-22  Bruno Haible  <bruno@clisp.org>
72704
72705         * lib/glob.c: Don't include getlogin_r.h.
72706
72707 2007-02-22  Jim Meyering  <jim@meyering.net>
72708
72709         * modules/utimens (Depends-on): Add timespec, required for
72710         utimens.h's inclusion of timespec.h.
72711
72712 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72713
72714         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72715         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72716         Schwab in
72717         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72718         I'll try to think of a better way to fix the Solaris problem.
72719
72720         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72721         like glibc; on Solaris 10, it fails with errno == EINVAL.
72722         POSIX says the behavior is unspecified if the first argument is NULL,
72723         so play it safe and never pass NULL to the system getcwd.
72724
72725 2007-02-21  Jim Meyering  <jim@meyering.net>
72726
72727         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72728         of gettimeofday.  It would conflict with the one now always
72729         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72730         an IRIX 6.5 build failure.
72731
72732 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72733
72734         Minor fixups to port to Solaris 10 with Sun C 5.8.
72735         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72736         * modules/getcwd (Depends-on): Add dirfd.
72737         * lib/putenv.c (putenv): #undef it.
72738         (rpl_putenv): New decl.
72739         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72740
72741 2007-02-20  Bruno Haible  <bruno@clisp.org>
72742
72743         * modules/stdio-tests: New file.
72744         * tests/test-stdio.c: New file.
72745
72746         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72747         (Depends-on): Add stdio.
72748         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72749         (Include): Use <stdio.h> instead of vsnprintf.h.
72750         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72751         HAVE_DECL_VSNPRINTF.
72752         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72753
72754         * modules/snprintf (Files): Remove lib/snprintf.h.
72755         (Depends-on): Add stdio.
72756         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72757         (Include): Use <stdio.h> instead of snprintf.h.
72758         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72759         HAVE_DECL_SNPRINTF.
72760         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72761         * lib/getaddrinfo.c: Likewise.
72762
72763         * modules/stdio: New file.
72764         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72765         * lib/snprintf.h: Remove file.
72766         * lib/vsnprintf.h: Remove file.
72767         * lib/.cppi-disable: Remove snprintf.h.
72768         * m4/stdio_h.m4: New file.
72769         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72770
72771 2007-02-20  Jim Meyering  <jim@meyering.net>
72772
72773         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72774         used by e.g., mingw.  From Bruno Haible.
72775
72776 2007-02-19  Bruno Haible  <bruno@clisp.org>
72777
72778         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72779         warnings.
72780         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72781
72782 2007-02-19  Bruno Haible  <bruno@clisp.org>
72783
72784         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72785         from mingw users.
72786
72787 2007-02-19  Bruno Haible  <bruno@clisp.org>
72788
72789         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72790         warnings.
72791         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72792
72793 2007-02-19  Jim Meyering  <jim@meyering.net>
72794
72795         Don't use FD after a successful "fdopendir (fd)".
72796         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72797         Reset it by calling dirfd on the just-obtained DIR*.
72798
72799         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72800         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72801
72802 2007-02-18  Bruno Haible  <bruno@clisp.org>
72803
72804         * lib/readlink.c: Include <unistd.h>.
72805         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72806         HAVE_READLINK.
72807         * modules/readlink (Depends-on): Add unistd.
72808         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72809         (Include): Add <unistd.h>.
72810
72811         * lib/getlogin_r.h: Remove file.
72812         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72813         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72814         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72815         HAVE_DECL_GETLOGIN_R.
72816         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72817         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72818         (Include): Use <unistd.h> instead of getlogin_r.h.
72819
72820         * lib/getcwd.h: Remove file.
72821         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72822         * lib/xgetcwd.c: Likewise.
72823         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72824         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72825         * modules/getcwd (Files): Remove lib/getcwd.h.
72826         (Depends-on): Add unistd.
72827         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72828         (Include): Use <unistd.h> instad of getcwd.h.
72829
72830         * lib/ftruncate.c: Include <unistd.h> first.
72831         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72832         Set HAVE_FTRUNCATE.
72833         * modules/ftruncate (Depends-on): Add unistd.
72834         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72835
72836         * lib/fchdir.c: Include <unistd.h> first.
72837         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72838         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72839         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72840         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72841         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72842
72843         * lib/dup2.c: Include <unistd.h> first.
72844         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72845         HAVE_DUP2.
72846         * modules/dup2 (Depends-on): Add unistd.
72847         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72848
72849         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72850         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72851         REPLACE_CHOWN. Don't define chown as a macro here.
72852         * modules/chown (Depends-on): Add unistd.
72853         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72854
72855         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72856         Add definition for GL_LINK_WARNING.
72857         (chown, dup2): New declarations.
72858         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72859         link warning.
72860         (ftruncate): New declaration.
72861         (getcwd): New declaration, taken from old getcwd.h.
72862         (getlogin_r): New declaration, taken from old getlogin_r.h.
72863         (readlink): New declaration.
72864         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72865         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72866         (gl_PREREQ_UNISTD): Remove macro.
72867         (gl_UNISTD_MODULE_INDICATOR): New macro.
72868         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72869         many new variables. Don't set UNISTD_H.
72870         * modules/unistd (Description): Change.
72871         (Depends-on): Add link-warning.
72872         (configure.ac): Update.
72873         (Makefile.am): Create unistd.h always. Substitute many new variables
72874         into it.
72875
72876 2007-02-18  Bruno Haible  <bruno@clisp.org>
72877
72878         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72879         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72880         HAVE_GETSUBOPT.
72881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72882         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72883         * lib/getsubopt.h: Remove file.
72884         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72885         (Depends-on): Add stdlib.
72886         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72887         (Includes): Use <stdlib.h> instead of getsubopt.h.
72888         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72889         Set HAVE_GETSUBOPT.
72890         * lib/getsubopt.c: Don't include getsubopt.h.
72891
72892 2007-02-18  Bruno Haible  <bruno@clisp.org>
72893
72894         * modules/fchdir (Depends-on): Add dup2.
72895
72896 2007-02-18  Bruno Haible  <bruno@clisp.org>
72897
72898         * lib/stdlib_.h: Handle glibc's special invocation convention
72899         specially.
72900
72901 2007-02-18  Bruno Haible  <bruno@clisp.org>
72902
72903         * modules/stdlib-tests: New file.
72904         * tests/test-stdlib.c: New file.
72905
72906         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72907         (Depends-on): Add stdlib.
72908         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72909         (Includes): Use <stdlib.h> instead of mkstemp.h.
72910         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72911         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72912         * lib/mkstemp.c: Don't include mkstemp.h.
72913         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72914         * lib/stdlib--.h: Don't include mkstemp.h.
72915
72916         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72917         (Depends-on): Add stdlib.
72918         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72919         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72920         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72921         HAVE_MKDTEMP.
72922         * lib/mkdtemp.c: Don't include mkdtemp.h.
72923         * lib/clean-temp.c: Don't include mkdtemp.h.
72924
72925         * modules/exit (Files): Remove lib/exit.h.
72926         (Depends-on): Add stdlib.
72927         (Makefile.am): Remove lib_SOURCES.
72928         (Include): Use <stdlib.h> instead of exit.h.
72929         * lib/argmatch.c: Don't include exit.h.
72930         * lib/execute.c: Likewise.
72931         * lib/pagealign_alloc.c: Likewise.
72932         * lib/pipe.c: Likewise.
72933         * lib/wait-process.c: Likewise.
72934         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72935         * lib/exitfail.c: Likewise.
72936         * lib/savewd.c: Likewise.
72937         * lib/xsetenv.c: Likewise.
72938
72939         * modules/stdlib: New file.
72940         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72941         and extra comments about mkstemp().
72942         * lib/exit.h: Remove file.
72943         * lib/mkdtemp.h: Remove file.
72944         * lib/mkstemp.h: Remove file.
72945         * m4/stdlib_h.m4: New file.
72946         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72947
72948 2007-02-18  Bruno Haible  <bruno@clisp.org>
72949
72950         * modules/math-tests: New file.
72951         * tests/test-math.c: New file.
72952
72953         * modules/math: New file.
72954         * modules/mathl (Files): Remove lib/mathl.h.
72955         (Depends-on): Add math.
72956         (Makefile.am): Don't mention mathl.h.
72957         (Include): Use <math.h> instead of mathl.h.
72958         * lib/math_.h: New file.
72959         * lib/mathl.h: Remove file.
72960         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72961         mathl.h.
72962         * lib/asinl.c: Likewise.
72963         * lib/atanl.c: Likewise.
72964         * lib/ceill.c: Likewise.
72965         * lib/cosl.c: Likewise.
72966         * lib/expl.c: Likewise.
72967         * lib/floorl.c: Likewise.
72968         * lib/frexpl.c: Likewise.
72969         * lib/ldexpl.c: Likewise.
72970         * lib/logl.c: Likewise.
72971         * lib/sincosl.c: Likewise.
72972         * lib/sinl.c: Likewise.
72973         * lib/sqrtl.c: Likewise.
72974         * lib/tanl.c: Likewise.
72975         * lib/trigl.c: Likewise.
72976         * m4/math_h.m4: New file.
72977         * MODULES.html.sh (Mathematics): Add math.
72978
72979 2007-02-17  Bruno Haible  <bruno@clisp.org>
72980
72981         * modules/wctype-tests: New file.
72982         * tests/test-wctype.c: New file.
72983
72984         * modules/wchar-tests: New file.
72985         * tests/test-wchar.c: New file.
72986
72987         * modules/unistd-tests: New file.
72988         * tests/test-unistd.c: New file.
72989
72990         * modules/time-tests: New file.
72991         * tests/test-time.c: New file.
72992
72993         * modules/sysexits-tests: New file.
72994         * tests/test-sysexits.c: New file.
72995
72996         * modules/sys_time-tests: New file.
72997         * tests/test-sys_time.c: New file.
72998
72999         * modules/sys_stat-tests: New file.
73000         * tests/test-sys_stat.c: New file.
73001
73002         * modules/sys_socket-tests: New file.
73003         * tests/test-sys_socket.c: New file.
73004
73005         * modules/sys_select-tests: New file.
73006         * tests/test-sys_select.c: New file.
73007
73008         * modules/string-tests: New file.
73009         * tests/test-string.c: New file.
73010
73011         * modules/stdbool-tests: New file.
73012         * tests/test-stdbool.c: New file.
73013
73014         * modules/netinet_in-tests: New file.
73015         * tests/test-netinet_in.c: New file.
73016
73017         * modules/inttypes-tests: New file.
73018         * tests/test-inttypes.c: New file.
73019
73020         * modules/fcntl-tests: New file.
73021         * tests/test-fcntl.c: New file.
73022
73023         * modules/byteswap-tests: New file.
73024         * tests/test-byteswap.c: New file.
73025
73026         * modules/arpa_inet-tests: New file.
73027         * tests/test-arpa_inet.c: New file.
73028
73029 2007-02-17  Bruno Haible  <bruno@clisp.org>
73030
73031         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73032         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73033         if the corresponding module is not enabled. Emit link warnings if
73034         the function is used nevertheless.
73035         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73036         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73037         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73038         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73039         * modules/inttypes (Depends-on): Add link-warning.
73040         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73041         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73042         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73043         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73044         * modules/imaxdiv (configure.ac): Likewise.
73045         * modules/strtoimax (configure.ac): Likewise.
73046         * modules/strtoumax (configure.ac): Likewise.
73047
73048 2007-02-17  Bruno Haible  <bruno@clisp.org>
73049
73050         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73051         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73052         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73053         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73054
73055 2007-02-17  Bruno Haible  <bruno@clisp.org>
73056
73057         * modules/link-warning: New file.
73058         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73059         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73060         * modules/string (Depends-on): Add link-warning.
73061         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73062         string.h.
73063         * MODULES.html.sh (Support for building libraries and executables): Add
73064         link-warning.
73065
73066 2007-02-17  Bruno Haible  <bruno@clisp.org>
73067
73068         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73069         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73070         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73071         long lines.
73072
73073 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73074             Bruno Haible  <bruno@clisp.org>
73075
73076         * modules/tmpfile: New file.
73077         * lib/tmpfile.c: New file.
73078         * m4/tmpfile.m4: New file.
73079         * MODULES.html.sh (func_all_modules): New section "Input/output".
73080
73081 2007-02-15  Bruno Haible  <bruno@clisp.org>
73082
73083         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73084         (supports_delete_on_close): New function.
73085         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73086
73087 2007-02-14  Bruno Haible  <bruno@clisp.org>
73088
73089         * modules/mbspcasecmp-tests: New file.
73090         * tests/test-mbspcasecmp.sh: New file.
73091         * tests/test-mbspcasecmp.c: New file.
73092
73093         New module mbspcasecmp.
73094         * modules/mbspcasecmp: New file.
73095         * lib/mbspcasecmp.c: New file.
73096         * lib/string_.h (strncasecmp): Change warning message.
73097         (mbspcasecmp): New declaration.
73098         * m4/mbspcasecmp.m4: New file.
73099         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73100         GNULIB_MBSPCASECMP.
73101         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73102         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73103
73104 2007-02-14  Bruno Haible  <bruno@clisp.org>
73105
73106         * modules/mbsncasecmp-tests: New file.
73107         * tests/test-mbsncasecmp.sh: New file.
73108         * tests/test-mbsncasecmp.c: New file.
73109
73110         New module mbsncasecmp.
73111         * modules/mbsncasecmp: New file.
73112         * lib/mbsncasecmp.c: New file.
73113         * lib/string_.h (mbsncasecmp): New declaration.
73114         * m4/mbsncasecmp.m4: New file.
73115         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73116         GNULIB_MBSNCASECMP.
73117         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73118         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73119
73120 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73121
73122         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73123         Verify that it doesn't overlap with our flags.
73124         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73125         do not have the desired effect in multibyte locales; instead, use
73126         mbscasecmp.
73127         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73128         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73129         we don't require GNU fnmatch ourselves (if our users require it, they
73130         should do so explicitly).
73131
73132         Fix regex code so it doesn't rely on strcasecmp.
73133         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73134         Otherwise, include gnulib's langinfo.h.
73135         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73136         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73137         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73138         * modules/regex (FILES): Remove m4/codeset.m4.
73139         (Depends-on): Add localcharset.  Remove strcase.
73140
73141 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73142
73143         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73144         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73145
73146 2007-02-13  Bruno Haible  <bruno@clisp.org>
73147
73148         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73150
73151 2007-02-12  Bruno Haible  <bruno@clisp.org>
73152
73153         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73154         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73155         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73156         time warning rather than a link error.
73157
73158 2007-02-12  Bruno Haible  <bruno@clisp.org>
73159
73160         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73161         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73162         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73163
73164 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73165
73166         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73167         args, not 2.
73168
73169 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73170
73171         New module 'time', so that apps can include <time.h> as per
73172         POSIX and GNU instead of separate include files like time_r.h
73173         and timegm.h.  This implementation tries out a simpler approach
73174         for replacing decls in standard include files (as compared to
73175         the string module), somewhat as an experiment.
73176
73177         * config/srclist.txt: Comment out mktime.c for now.
73178         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73179         since it doesn't apply any more.  Use generic wording instead.
73180         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73181         'time'.
73182         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73183         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73184         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73185         Don't include <sys/types.h>; no longer needed since we assume C89.
73186         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73187         * lib/strftime.c: Likewise.
73188         * lib/time_r.c: Likewise.
73189         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73190         * lib/nanosleep.c: Include <time.h> first, to check interface.
73191         * lib/strptime.c: Likewise.
73192         * lib/time_r.c: Likewise.
73193         * lib/timegm.c: Likewise.
73194         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73195         needed.
73196         * lib/timegm.c: Don't include timegm.h; no longer needed.
73197         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73198         time.h now handles any problems in that area.
73199         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73200         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73201         that time.h defines struct timespec.
73202         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73203         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73204         handles that.
73205         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73206         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73207         needed.  Set REPLACE_LOCALTIME.
73208         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73209         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73210         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73211         nanosleep; time_h.m4 now does that.  Don't require
73212         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73213         module handles this now.
73214         * modules/getdate (Depends-on): Remove timespec.  Add time.
73215         * modules/nanosleep (Depends-on): Likewise.
73216         * modules/stat-time (Depends-on): Likewise.
73217         * modules/nanosleep (Include): Include time.h, not timespec.h.
73218         * modules/strptime (Files): Remove lib/strptime.h.
73219         (Depends-on): Add extensions, time.
73220         (Include): Include time.h, not strptime.h.
73221         * modules/time_r (Files): Remove lib/time_r.h.
73222         (Depends-on): Add time.
73223         (Include): Include time.h, not time_r.h.
73224         * modules/timegm: Likewise.
73225         * modules/timespec (Description): Now does timespec-related decls
73226         of our own, instead of struct timespec itself.
73227         (Depends-on): Add time; remove extensions.
73228         (Maintainer): Add self.
73229         * modules/utimecmp (Depends-on): Add time; remove timespec.
73230         * modules/utimens (Depends-on): Likewise.
73231         * modules/xnanosleep (Depends-on): Likewise.
73232
73233 2007-02-11  Bruno Haible  <bruno@clisp.org>
73234
73235         * lib/c-strstr.c: Include allocsa.h.
73236         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73237         * lib/c-strcasestr.c: Include allocsa.h.
73238         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73239         * lib/strcasestr.c: Include allocsa.h.
73240         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73241         * lib/mbsstr.c: Include allocsa.h.
73242         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73243         allocsa/freesa instead of malloc/free.
73244         * lib/mbscasestr.c: Include allocsa.h.
73245         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73246         allocsa/freesa instead of malloc/free.
73247         * modules/c-strstr (Depends-on): Add allocsa.
73248         * modules/c-strcasestr (Depends-on): Likewise.
73249         * modules/strcasestr (Depends-on): Likewise.
73250         * modules/mbsstr (Depends-on): Likewise.
73251         * modules/mbscasestr (Depends-on): Likewise.
73252
73253 2007-02-11  Bruno Haible  <bruno@clisp.org>
73254
73255         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73256
73257         * modules/mbsspn-tests: New file.
73258         * tests/test-mbsspn.sh: New file.
73259         * tests/test-mbsspn.c: New file.
73260
73261 2007-02-11  Bruno Haible  <bruno@clisp.org>
73262
73263         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73264
73265         * modules/mbspbrk-tests: New file.
73266         * tests/test-mbspbrk.sh: New file.
73267         * tests/test-mbspbrk.c: New file.
73268
73269 2007-02-11  Bruno Haible  <bruno@clisp.org>
73270
73271         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73272         unneeded cast.
73273
73274         * modules/mbscspn-tests: New file.
73275         * tests/test-mbscspn.sh: New file.
73276         * tests/test-mbscspn.c: New file.
73277
73278 2007-02-11  Bruno Haible  <bruno@clisp.org>
73279
73280         * modules/mbscasecmp-tests: New file.
73281         * tests/test-mbscasecmp.sh: New file.
73282         * tests/test-mbscasecmp.c: New file.
73283
73284 2007-02-11  Bruno Haible  <bruno@clisp.org>
73285
73286         Ensure O(n) worst-case complexity of mbscasestr.
73287         * lib/mbscasestr.c: Include stdbool.h.
73288         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73289         functions.
73290         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73291         the bookkeeping indicates that it's worth it.
73292         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73293
73294         * modules/mbscasestr-tests: New file.
73295         * tests/test-mbscasestr1.c: New file.
73296         * tests/test-mbscasestr2.sh: New file.
73297         * tests/test-mbscasestr2.c: New file.
73298         * tests/test-mbscasestr3.sh: New file.
73299         * tests/test-mbscasestr3.c: New file.
73300         * tests/test-mbscasestr4.sh: New file.
73301         * tests/test-mbscasestr4.c: New file.
73302         * m4/locale-tr.m4: New file.
73303
73304 2007-02-11  Bruno Haible  <bruno@clisp.org>
73305
73306         Ensure O(n) worst-case complexity of mbsstr.
73307         * lib/mbsstr.c: Include stdbool.h.
73308         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73309         functions.
73310         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73311         bookkeeping indicates that it's worth it.
73312         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73313
73314         * modules/mbsstr-tests: New file.
73315         * tests/test-mbsstr1.c: New file.
73316         * tests/test-mbsstr2.sh: New file.
73317         * tests/test-mbsstr2.c: New file.
73318         * tests/test-mbsstr3.sh: New file.
73319         * tests/test-mbsstr3.c: New file.
73320         * m4/locale-fr.m4: New file.
73321
73322 2007-02-11  Bruno Haible  <bruno@clisp.org>
73323
73324         * lib/mbsrchr.c (mbsrchr): Fix bug.
73325
73326         * modules/mbsrchr-tests: New file.
73327         * tests/test-mbsrchr.sh: New file.
73328         * tests/test-mbsrchr.c: New file.
73329
73330 2007-02-11  Bruno Haible  <bruno@clisp.org>
73331
73332         * lib/mbschr.c (mbschr): Fix bug.
73333
73334         * modules/mbschr-tests: New file.
73335         * tests/test-mbschr.sh: New file.
73336         * tests/test-mbschr.c: New file.
73337         * m4/locale-zh.m4: New file.
73338
73339 2007-02-11  Bruno Haible  <bruno@clisp.org>
73340
73341         Support for copying multibyte string iterators.
73342         * lib/mbiter.h: Include <string.h>.
73343         (mbiter_multi_copy): New function.
73344         (mbi_copy): New macro.
73345         * lib/mbuiter.h: Include <string.h>.
73346         (mbuiter_multi_copy): New function.
73347         (mbui_copy): New macro.
73348
73349 2007-02-11  Bruno Haible  <bruno@clisp.org>
73350
73351         New module mbslen.
73352         * modules/mbslen: New file.
73353         * lib/mbslen.c: New file.
73354         * lib/string_.h (mbslen): New declaration.
73355         * m4/mbslen.m4: New file.
73356         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73357         GNULIB_MBSLEN.
73358         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73359         * MODULES.html.sh (Internationalization functions): Add mbslen.
73360
73361 2007-02-11  Bruno Haible  <bruno@clisp.org>
73362
73363         Ensure O(n) worst-case complexity of strcasestr substitute.
73364         * lib/strcasestr.c: Include stdbool.h.
73365         (knuth_morris_pratt): New function.
73366         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73367         bookkeeping indicates that it's worth it.
73368         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73369
73370         * modules/strcasestr-tests: New file.
73371         * tests/test-strcasestr.c: New file.
73372
73373 2007-02-11  Bruno Haible  <bruno@clisp.org>
73374
73375         Ensure O(n) worst-case complexity of c_strcasestr.
73376         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73377         (knuth_morris_pratt): New function.
73378         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73379         the bookkeeping indicates that it's worth it.
73380         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73381
73382         * modules/c-strcasestr-tests: New file.
73383         * tests/test-c-strcasestr.c: New file.
73384
73385 2007-02-11  Bruno Haible  <bruno@clisp.org>
73386
73387         Ensure O(n) worst-case complexity of c_strstr.
73388         * lib/c-strstr.c: Include stdbool.h, string.h.
73389         (knuth_morris_pratt): New function.
73390         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73391         bookkeeping indicates that it's worth it.
73392         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73393
73394         * lib/c-strstr.c: Complete rewrite for maintainability.
73395
73396         * modules/c-strstr-tests: New file.
73397         * tests/test-c-strstr.c: New file.
73398
73399 2007-02-11  Bruno Haible  <bruno@clisp.org>
73400
73401         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73402         5.2.1 and earlier, whereby \055 was treated just like the range
73403         delimiter '-'.
73404         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73405
73406 2007-02-08  Bruno Haible  <bruno@clisp.org>
73407
73408         * modules/regex (Depends-on): Add stdbool.
73409         Reported by Dalibor Topic <robilad@kaffe.org>.
73410
73411 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73412
73413         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73414         Prefer returning from main to exiting from it.
73415         Remove unnecessary parens after sizeof.
73416
73417 2007-02-05  Bruno Haible  <bruno@clisp.org>
73418
73419         New module mbssep.
73420         * modules/mbssep: New file.
73421         * lib/mbssep.c: New file.
73422         * lib/string_.h (strsep): Add a conditional link warning.
73423         (mbssep): New declaration.
73424         * m4/mbssep.m4: New file.
73425         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73426         GNULIB_MBSSEP.
73427         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73428         * MODULES.html.sh (Internationalization functions): Add mbssep.
73429
73430 2007-02-05  Bruno Haible  <bruno@clisp.org>
73431
73432         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73433         Optimize search in case of 1 delimiter.
73434
73435 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73436
73437         * lib/acl.h: Include sys/types.h before sys/acl.h.
73438
73439 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73440
73441         Merge upstream fix for glibc bugzilla #3957:
73442
73443         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73444
73445         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73446         bit for RE_HAT_LISTS_NOT_NEWLINE.
73447         (build_charclass_op): Remove bogus comment.
73448
73449 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73450
73451         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73452
73453 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73454
73455         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73456         * lib/memmem.c [!defined _LIBC]: Include config.h.
73457
73458 2007-02-04  Bruno Haible  <bruno@clisp.org>
73459
73460         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73461         warning message.
73462
73463 2007-02-04  Bruno Haible  <bruno@clisp.org>
73464
73465         New module mbstok_r.
73466         * modules/mbstok_r: New file.
73467         * lib/mbstok_r.c: New file.
73468         * lib/string_.h (strtok_r): Change argument names to match the
73469         comments. Add a conditional link warning.
73470         (mbstok_r): New declaration.
73471         * m4/mbstok_r.m4: New file.
73472         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73473         GNULIB_MBSTOK_R.
73474         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73475         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73476
73477 2007-02-04  Bruno Haible  <bruno@clisp.org>
73478
73479         New module mbsspn.
73480         * modules/mbsspn: New file.
73481         * lib/mbsspn.c: New file.
73482         * lib/string_.h (strspn): Add a conditional link warning.
73483         (mbsspn): New declaration.
73484         * m4/mbsspn.m4: New file.
73485         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73486         GNULIB_MBSSPN.
73487         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73488         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73489
73490 2007-02-04  Bruno Haible  <bruno@clisp.org>
73491
73492         New module mbspbrk.
73493         * modules/mbspbrk: New file.
73494         * lib/mbspbrk.c: New file.
73495         * lib/string_.h (strpbrk): Add a conditional link warning.
73496         (mbspbrk): New declaration.
73497         * m4/mbspbrk.m4: New file.
73498         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73499         GNULIB_MBSPBRK.
73500         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73501         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73502
73503 2007-02-04  Bruno Haible  <bruno@clisp.org>
73504
73505         New module mbscspn.
73506         * modules/mbscspn: New file.
73507         * lib/mbscspn.c: New file.
73508         * lib/string_.h (strcspn): Add a conditional link warning.
73509         (mbscspn): New declaration.
73510         * m4/mbscspn.m4: New file.
73511         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73512         GNULIB_MBSCSPN.
73513         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73514         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73515
73516 2007-02-04  Bruno Haible  <bruno@clisp.org>
73517
73518         New module mbscasestr, reduced goal of strcasestr.
73519         * modules/mbscasestr: New file.
73520         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73521         (mbscasestr): Renamed from strcasestr.
73522         * lib/strcasestr.c: Don't include mbuiter.h.
73523         (strcasestr): Remove support for multibyte locales.
73524         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73525         Change the conditional link warning.
73526         (mbscasestr): New declaration.
73527         * m4/mbscasestr.m4: New file.
73528         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73529         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73530         REPLACE_STRCASESTR.
73531         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73532         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73533         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73534         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73535         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73536         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73537         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73538         (Depends-on): Remove mbuiter.
73539         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73540
73541 2007-02-04  Bruno Haible  <bruno@clisp.org>
73542
73543         Simplify handling of strncasecmp.
73544         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73545         the conditional link warning.
73546         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73547         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73548         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73549         * modules/strcase (configure.ac): Don't invoke
73550         gl_STRING_MODULE_INDICATOR.
73551         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73552
73553 2007-02-04  Bruno Haible  <bruno@clisp.org>
73554
73555         New module mbscasecmp, reduced goal of strcasecmp.
73556         * modules/mbscasecmp: New file.
73557         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73558         (mbscasecmp): Renamed from strcasecmp.
73559         * lib/strcasecmp.c: Don't include mbuiter.h.
73560         (strcasecmp): Remove support for multibyte locales.
73561         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73562         Change the conditional link warning.
73563         (mbscasecmp): New declaration.
73564         * m4/mbscasecmp.m4: New file.
73565         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73566         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73567         REPLACE_STRCASECMP.
73568         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73569         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73570         GNULIB_MBSCASECMP.
73571         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73572         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73573         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73574         (Depends-on): Remove mbuiter.
73575         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73576
73577 2007-02-04  Bruno Haible  <bruno@clisp.org>
73578
73579         New module mbsstr. Remove module strstr.
73580         * modules/mbsstr: New file.
73581         * modules/strstr: Remove file.
73582         * lib/mbsstr.c: Renamed from lib/strstr.c.
73583         (mbsstr): Renamed from strstr.
73584         * lib/string_.h (strstr): Remove declaration. Change the conditional
73585         link warning.
73586         (mbsstr): New declaration.
73587         * m4/mbsstr.m4: New file.
73588         * m4/strstr.m4: Remove file.
73589         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73590         REPLACE_STRSTR.
73591         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73592         Don't initialize GNULIB_STRSTR.
73593         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73594         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73595         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73596         (Support for systems lacking ANSI C 89): Remove strstr.
73597
73598 2007-02-04  Bruno Haible  <bruno@clisp.org>
73599
73600         New module mbsrchr.
73601         * modules/mbsrchr: New file.
73602         * lib/mbsrchr.c: New file.
73603         * lib/string_.h (strrchr): Add a conditional link warning.
73604         (mbsrchr): New declaration.
73605         * m4/mbsrchr.m4: New file.
73606         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73607         GNULIB_MBSRCHR.
73608         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73609         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73610
73611 2007-02-04  Bruno Haible  <bruno@clisp.org>
73612
73613         New module mbschr.
73614         * modules/mbschr: New file.
73615         * lib/mbschr.c: New file.
73616         * lib/string_.h (strchr): Add a conditional link warning.
73617         (mbschr): New declaration.
73618         * m4/mbschr.m4: New file.
73619         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73620         GNULIB_MBSCHR.
73621         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73622         * MODULES.html.sh (Internationalization functions): Add mbschr.
73623
73624 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73625
73626         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73627
73628         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73629
73630 2007-02-04  Bruno Haible  <bruno@clisp.org>
73631
73632         New module description section 'configure.ac-early'.
73633         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73634         (func_get_autoconf_early_snippet): New function.
73635         (func_import, func_create_testdir): Use it. Remove special cases for
73636         modules 'extensions' and 'lock'.
73637         * modules/extensions (configure.ac-early): Require
73638         gl_USE_SYSTEM_EXTENSIONS.
73639         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73640
73641 2007-02-04  Bruno Haible  <bruno@clisp.org>
73642
73643         Make use of gcj-4.3's -fsource and -ftarget option.
73644         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73645         and if so try the options -fsource and -ftarget.
73646         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73647         source_version, ftarget_option, target_version arguments.
73648         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73649         (is_envjavac_oldgcj_14_14_usable): Renamed from
73650         is_envjavac_gcj_14_14_usable.
73651         (is_envjavac_oldgcj_14_13_usable): Renamed from
73652         is_envjavac_gcj_14_13_usable.
73653         (is_gcj_present): Update.
73654         (is_gcj_43, is_gcj43_usable): New functions.
73655         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73656         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73657         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73658         try the options -fsource and -ftarget.
73659
73660 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73661
73662         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73663         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73664         larger value.
73665
73666 2007-02-03  Jim Meyering  <jim@meyering.net>
73667
73668         Give tools a better chance to allocate space for very large buffers.
73669         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73670
73671         Make pwd and readlink work also when run with an unreadable parent dir
73672         on systems with openat support.
73673         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73674         provided getcwd function, even when we have openat support.
73675         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73676
73677 2007-02-02  Bruno Haible  <bruno@clisp.org>
73678
73679         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73680         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73681         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73682         portability problems if one of these functions is only used on specific
73683         platforms.
73684         Reported by Paul Eggert.
73685
73686 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73687
73688         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73689         is causing more trouble than it's curing.
73690         * lib/regex_internal.h (__mempcpy): Remove.
73691         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73692         (and make the code a tad smaller to boot).
73693         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73694
73695 2007-02-02  Jim Meyering  <jim@meyering.net>
73696
73697         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73698         section, not in the Makefile.am: one.
73699
73700 2007-02-02  Eric Blake  <ebb9@byu.net>
73701
73702         * lib/strchrnul.c: Always include config.h first.
73703
73704         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73705         gnulib strstr is not necessary here.
73706
73707 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73708
73709         * m4/socklen.m4: Fix typo.
73710
73711 2007-02-02  Eric Blake  <ebb9@byu.net>
73712
73713         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73714         * modules/netinet_in (Makefile.am): Likewise.
73715
73716 2007-02-01  Bruno Haible  <bruno@clisp.org>
73717
73718         * lib/string_.h (GL_LINK_WARNING): New macro.
73719         (strcasecmp, strstr, strcasestr): If provided by the system,
73720         conditionally define as a macro that leads to a warning instead of to
73721         an error.
73722         (strncasecmp): Conditionally define as a macro that leads to a warning.
73723
73724 2007-02-01  Karl Berry  <karl@gnu.org>
73725
73726         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73727
73728 2007-02-01  Bruno Haible  <bruno@clisp.org>
73729
73730         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73731         renamings.
73732
73733 2007-02-01  Eric Blake  <ebb9@byu.net>
73734
73735         * modules/regex (Depends-on): Revert dependence on mempcpy.
73736         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73737         module's definition of mempcpy.
73738         Reported by Paul Eggert.
73739
73740 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73741
73742         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73743         the symbol XYZ before redefining it.  This fixes a problem with
73744         programs that don't use XYZ, when compiled on systems that define
73745         XYZ to something else.
73746
73747 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73748
73749         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73750         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73751         writeable to group or other and (2) is intended to have a special
73752         mode bit that is set or cleared.  In such a case, the directory
73753         should be neither group- nor other-writeable until the special
73754         mode bits are right.
73755
73756 2007-01-31  Eric Blake  <ebb9@byu.net>
73757
73758         * modules/mountlist (Depends-on): Add strstr.
73759
73760         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73761         bug.
73762         * modules/string (Makefile.am): Remove redundant replacement.
73763         * modules/regex (Depends-on): Add mempcpy.
73764
73765 2007-01-31  Bruno Haible  <bruno@clisp.org>
73766
73767         New module description field 'Link'.
73768         * gnulib-tool (func_usage): Document --extract-link-directive.
73769         (sed_extract_prog): Recognize 'Link' directive.
73770         (func_get_link_directive): New function.
73771         (func_import): Show summary of link directives.
73772         Handle --extract-link-directive option.
73773         * modules/acl (Link): New section.
73774         * modules/clock-time (Link): New section.
73775         * modules/euidaccess (Link): New section.
73776         * modules/gettext (Link): New section.
73777         * modules/iconv (Link): New section.
73778         * modules/lock (Link): New section.
73779         * modules/nanosleep (Link): New section.
73780         * modules/readline (Link): New section.
73781
73782 2007-01-27  Bruno Haible  <bruno@clisp.org>
73783
73784         Enforce the use of gnulib modules for unportable <string.h> functions.
73785         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73786         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73787         (gl_HEADER_STRING_H_BODY): Require it.
73788         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73789         the symbol XYZ to one that gives a link error.
73790         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73791         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73792         * modules/mempcpy (configure.ac): Likewise.
73793         * modules/memrchr (configure.ac): Likewise.
73794         * modules/stpcpy (configure.ac): Likewise.
73795         * modules/stpncpy (configure.ac): Likewise.
73796         * modules/strcase (configure.ac): Likewise.
73797         * modules/strcasestr (configure.ac): Likewise.
73798         * modules/strchrnul (configure.ac): Likewise.
73799         * modules/strdup (configure.ac): Likewise.
73800         * modules/strndup (configure.ac): Likewise.
73801         * modules/strnlen (configure.ac): Likewise.
73802         * modules/strpbrk (configure.ac): Likewise.
73803         * modules/strsep (configure.ac): Likewise.
73804         * modules/strstr (configure.ac): Likewise.
73805         * modules/strtok_r (configure.ac): Likewise.
73806
73807 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73808
73809         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73810
73811 2007-01-30  Jim Meyering  <jim@meyering.net>
73812
73813         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73814
73815 2007-01-29  Bruno Haible  <bruno@clisp.org>
73816
73817         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73818         * lib/execute.c: Likewise.
73819         * lib/pipe.c: Likewise.
73820         * lib/printf-args.h: Likewise.
73821         * lib/printf-args.c: Likewise.
73822         * lib/printf-parse.c: Likewise.
73823         * lib/vasnprintf.c: Likewise.
73824
73825 2007-01-29  Eric Blake  <ebb9@byu.net>
73826
73827         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73828         declaration.
73829
73830 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73831
73832         * lib/strptime.h (strptime): Use 'restrict' for args where
73833         POSIX requires this.
73834         * lib/strptime.c (strptime): Likewise.
73835         Change license notice from LGPL to GPL, since gnulib-tool will
73836         change this as needed.
73837         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73838         defined.
73839         Include "strptime.h" first, to check interface.
73840         Do not #undef _LIBC and _NL_CURRENT.
73841         Do not include <stdlib.h>; no longer needed.
73842         Include "time_r.h" and declare ptime_locale_status
73843         only if _LIBC is not defined.
73844         (__P): Remove unused macro.
73845         (match_string): Bring back glibc version, but use it only if _LIBC
73846         is defined.
73847         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73848         Remove unnecessary assertion and abort() call.
73849         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73850         * m4/strptime.m4: Fix serial number comment.
73851         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73852         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73853         (Depends-on): Add time_r.
73854
73855 2007-01-29  Bruno Haible  <bruno@clisp.org>
73856
73857         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73858         strptime.
73859         * modules/strptime (Depends-on): Add stdbool.
73860         * lib/strptime.h: Include <time.h> always. Add comments.
73861
73862 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73863
73864         * modules/strptime: New file.
73865         * lib/strptime.h: New file.
73866         * lib/strptime.c: New file.
73867         * m4/strptime.m4: New file.
73868
73869 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73870
73871         * MODULES.html.sh: New module mpsort.
73872         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73873
73874         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73875         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73876         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73877         All uses changed.
73878         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73879         All uses changed.
73880         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73881         to _Restrict_.
73882         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73883         the parameter matches the prototype.
73884
73885 2007-01-28  Jim Meyering  <jim@meyering.net>
73886
73887         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73888         sys/time.h here, reverting that part of the previous patch:
73889         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73890
73891 2007-01-28  Bruno Haible  <bruno@clisp.org>
73892
73893         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73894         value of $(SYS_TIME_H).
73895         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73896         remove it conditionally, too. [added by Jim Meyering]
73897         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73898         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73899         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73900         GETTIMEOFDAY_REPLACEMENT to 1.
73901
73902 2007-01-28  Bruno Haible  <bruno@clisp.org>
73903
73904         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73905         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73906         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73907         Set UNISTD_H instead of UNISTD_H2.
73908         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73909
73910 2007-01-28  Bruno Haible  <bruno@clisp.org>
73911
73912         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73913         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73914
73915 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73916
73917         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73918         (func_create_testdir): Ensure C locale for `grep' and `tr'
73919         character ranges.
73920         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73921         ACLOCAL_AMFLAGS parsing state machine.
73922
73923 2007-01-27  Bruno Haible  <bruno@clisp.org>
73924
73925         * modules/unistr/base: Update.
73926
73927 2007-01-27  Bruno Haible  <bruno@clisp.org>
73928
73929         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73930         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73931         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73932         modules/unistr/u32-mbtouc.
73933         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73934         * lib/unistr.h: Update.
73935         * lib/linebreak.c: Update.
73936         * modules/unistr/u32-mbtouc: Renamed from
73937         modules/unistr/u32-mbtouc-safe.
73938         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73939         * lib/unistr.h: Update.
73940         * lib/unistr/u32-to-u8.c: Update.
73941         * lib/unistr/u32-to-u16.c: Update.
73942
73943 2007-01-27  Bruno Haible  <bruno@clisp.org>
73944
73945         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73946         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73947         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73948         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73949         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73950         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73951         modules/unistr/u16-mbtouc.
73952         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73953         * lib/unistr.h: Update.
73954         * lib/linebreak.c: Update.
73955         * modules/linebreak: Update.
73956         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73957         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73958         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73959         * modules/unistr/u16-mbtouc: Renamed from
73960         modules/unistr/u16-mbtouc-safe.
73961         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73962         * lib/unistr.h: Update.
73963         * lib/unistr/u16-to-u8.c: Update.
73964         * modules/unistr/u16-to-u8: Update.
73965         * lib/unistr/u16-to-u32.c: Update.
73966         * modules/unistr/u16-to-u32: Update.
73967
73968 2007-01-27  Bruno Haible  <bruno@clisp.org>
73969
73970         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73971         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73972         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73973         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73974         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73975         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73976         modules/unistr/u8-mbtouc.
73977         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73978         * lib/unistr.h: Update.
73979         * lib/striconveh.c: Update.
73980         * modules/striconveh: Update.
73981         * lib/linebreak.c: Update.
73982         * modules/linebreak: Update.
73983         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73984         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73985         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73986         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73987         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73988         * lib/unistr.h: Update.
73989         * lib/striconveh.c: Update.
73990         * modules/striconveh: Update.
73991         * lib/unistr/u8-to-u16.c: Update.
73992         * modules/unistr/u8-to-u16: Update.
73993         * lib/unistr/u8-to-u32.c: Update.
73994         * modules/unistr/u8-to-u32: Update.
73995
73996 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73997
73998         Sync from Libtool.
73999         * lib/argz.c: Do not include strings.h nor memory.h, include
74000         string.h unconditionally.  Patch by Simon Josefsson.
74001
74002 2007-01-27  Bruno Haible  <bruno@clisp.org>
74003
74004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74005         from gl_HEADER_STRING_H_BODY.
74006         (gl_HEADER_STRING_H_BODY): Require it.
74007         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74008         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74009         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74010         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74011         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74012         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74013         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74014         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74015         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74016         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74017         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74018         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74019         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74020         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74021         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74022
74023 2007-01-27  Bruno Haible  <bruno@clisp.org>
74024
74025         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74026         check_PROGRAMS into noinst_PROGRAMS.
74027         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74028         check_PROGRAMS in this case.
74029         (func_import): Set for_test to false.
74030         (func_create_testdir): Set for_test to true.
74031
74032 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74033             Bruno Haible  <bruno@clisp.org>
74034
74035         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74036         (Depends-on): Add string.
74037         (Includes): Use <string.h> instead of strcasestr.h.
74038         * modules/string (Makefile.am): Also substitute the value of
74039         REPLACE_STRCASESTR.
74040         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74041         assume strcasestr is declared in <string.h> not <strings.h>. Also
74042         set REPLACE_STRCASESTR.
74043         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74044         REPLACE_STRCASESTR.
74045         * lib/strcasestr.h: Remove file.
74046         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74047         * lib/string_.h (strcasestr): New declaration.
74048
74049 2007-01-27  Bruno Haible  <bruno@clisp.org>
74050
74051         * lib/string_.h: Use 'extern'.
74052
74053 2007-01-27  Jim Meyering  <jim@meyering.net>
74054
74055         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74056         of set-but-not-used local, "q".
74057
74058         * lib/mempcpy.c: Include <config.h> before <string.h>.
74059         This fixes a compilation error on HP-UX, due to the system's
74060         "restrict"-using mempcpy prototype.
74061
74062 2007-01-26  Bruno Haible  <bruno@clisp.org>
74063
74064         Small optimization.
74065         * lib/javacomp.c: Include c-strstr.h.
74066          (is_envjavac_gcj): Use c_strstr instead of strstr.
74067         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74068
74069 2007-01-26  Bruno Haible  <bruno@clisp.org>
74070
74071         * MODULES.html.sh (Unicode string functions): Add the new modules.
74072
74073         * modules/uniconv/u32-strconv-to-locale: New file.
74074         * lib/uniconv/u32-strconv-to-locale.c: New file.
74075
74076         * modules/uniconv/u16-strconv-to-locale: New file.
74077         * lib/uniconv/u16-strconv-to-locale.c: New file.
74078
74079         * modules/uniconv/u8-strconv-to-locale: New file.
74080         * lib/uniconv/u8-strconv-to-locale.c: New file.
74081
74082         * modules/uniconv/u32-strconv-from-locale: New file.
74083         * lib/uniconv/u32-strconv-from-locale.c: New file.
74084
74085         * modules/uniconv/u16-strconv-from-locale: New file.
74086         * lib/uniconv/u16-strconv-from-locale.c: New file.
74087
74088         * modules/uniconv/u8-strconv-from-locale: New file.
74089         * lib/uniconv/u8-strconv-from-locale.c: New file.
74090
74091         * modules/uniconv/u32-strconv-to-enc: New file.
74092         * lib/uniconv/u32-strconv-to-enc.c: New file.
74093         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74094         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74095
74096         * modules/uniconv/u16-strconv-to-enc: New file.
74097         * lib/uniconv/u16-strconv-to-enc.c: New file.
74098         * lib/uniconv/u-strconv-to-enc.h: New file.
74099         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74100         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74101
74102         * modules/uniconv/u8-strconv-to-enc: New file.
74103         * lib/uniconv/u8-strconv-to-enc.c: New file.
74104         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74105         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74106
74107         * modules/uniconv/u32-strconv-from-enc: New file.
74108         * lib/uniconv/u32-strconv-from-enc.c: New file.
74109         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74110         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74111
74112         * modules/uniconv/u16-strconv-from-enc: New file.
74113         * lib/uniconv/u16-strconv-from-enc.c: New file.
74114         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74115         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74116
74117         * modules/uniconv/u8-strconv-from-enc: New file.
74118         * lib/uniconv/u8-strconv-from-enc.c: New file.
74119         * lib/uniconv/u-strconv-from-enc.h: New file.
74120         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74121         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74122
74123         * modules/uniconv/u32-conv-from-enc: New file.
74124         * lib/uniconv/u32-conv-from-enc.c: New file.
74125         * modules/uniconv/u32-conv-from-enc-tests: New file.
74126         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74127
74128         * modules/uniconv/u16-conv-from-enc: New file.
74129         * lib/uniconv/u16-conv-from-enc.c: New file.
74130         * lib/uniconv/u-conv-from-enc.h: New file.
74131         * modules/uniconv/u16-conv-from-enc-tests: New file.
74132         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74133
74134         * modules/uniconv/u8-conv-from-enc: New file.
74135         * lib/uniconv/u8-conv-from-enc.c: New file.
74136         * modules/uniconv/u8-conv-from-enc-tests: New file.
74137         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74138
74139         * modules/uniconv/base: New file.
74140         * lib/uniconv.h: New file.
74141
74142 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74143
74144         * doc/gnulib-tool.texi (Initial import): Update to match current
74145         behavior with strdup module.
74146         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74147         * lib/memmem.h: Remove; all uses removed.  This is now done
74148         by <string.h>.
74149         * lib/mempcpy.h: Likewise.
74150         * lib/memrchr.h: Likewise.
74151         * lib/stpcpy.h: Likewise.
74152         * lib/stpncpy.h: Likewise.
74153         * lib/strcase.h: Likewise.
74154         * lib/strchrnul.h: Likewise.
74155         * lib/strdup.h: Likewise.
74156         * lib/strndup.h: Likewise.
74157         * lib/strnlen.h: Likewise.
74158         * lib/strpbrk.h: Likewise.
74159         * lib/strsep.h: Likewise.
74160         * lib/strstr.h: Likewise.
74161         * lib/strtok_r.h: Likewise.
74162         * lib/string_.h: New file.
74163         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74164         Rely on <string.h> instead.
74165         * lib/canon-host.c: Likewise.
74166         * lib/chdir-long.c: Likewise.
74167         * lib/concatpath.c: Likewise.
74168         * lib/exclude.c: Likewise.
74169         * lib/fchdir.c: Likewise.
74170         * lib/getaddrinfo.c: Likewise.
74171         * lib/getcwd.c: Likewise.
74172         * lib/getsubopt.c: Likewise.
74173         * lib/glob.c: Likewise.
74174         * lib/hard-locale.c: Likewise.
74175         * lib/iconvme.c: Likewise.
74176         * lib/javacomp.c: Likewise.
74177         * lib/mempcpy.c: Likewise.
74178         * lib/memrchr.c: Likewise.
74179         * lib/regex_internal.h: Likewise.
74180         * lib/stpncpy.c: Likewise.
74181         * lib/strcasecmp.c: Likewise.
74182         * lib/strchrnul.c: Likewise.
74183         * lib/strdup.c: Likewise.
74184         * lib/striconv.c: Likewise.
74185         * lib/striconveh.c: Likewise.
74186         * lib/striconveha.c: Likewise.
74187         * lib/strncasecmp.c: Likewise.
74188         * lib/strndup.c: Likewise.
74189         * lib/strnlen.c: Likewise.
74190         * lib/strsep.c: Likewise.
74191         * lib/strstr.c: Likewise.
74192         * lib/strtok_r.c: Likewise.
74193         * lib/userspec.c: Likewise.
74194         * lib/w32spawn.h: Likewise.
74195         * lib/xstrndup.c: Likewise.
74196         * lib/mountlist.c (strstr): Remove decl.
74197         * m4/string_h.m4: New file.
74198         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74199         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74200         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74201         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74202         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74203         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74204         Set REPLACE_STRCASECMP if necessary.
74205         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74206         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74207         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74208         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74209         HAVE_DECL_STRDUP if necessary.
74210         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74211         since gl_FUNC_STRNDUP does that now.
74212         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74213         Check for decl here...
74214         (gl_PREREQ_STRNLEN): ... not here.
74215         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74216         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74217         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74218         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74219         necessary.
74220         * modules/string: New file.
74221         * modules/memmem (Files): Remove special-purpose include file.
74222         (Depends-on): Add string.
74223         (Include): Include <string.h>, not the removed file.
74224         * modules/mempcpy: Likewise.
74225         * modules/memrchr: Likewise.
74226         * modules/stpcpy: Likewise.
74227         * modules/stpncpy: Likewise.
74228         * modules/strcase: Likewise.
74229         * modules/strchrnul: Likewise.
74230         * modules/strdup: Likewise.
74231         * modules/strndup: Likewise.
74232         * modules/strnlen: Likewise.
74233         * modules/strpbrk: Likewise.
74234         * modules/strsep: Likewise.
74235         * modules/strstr: Likewise.
74236         * modules/strtok_r: Likewise.
74237         * tests/test-dirname.c: Don't include "strdup.h", since
74238         <string.h> now suffices.
74239         * tests/test-memmem.c: Don't include "memmem.h", since
74240         <string.h> now suffices.
74241
74242 2007-01-25  Bruno Haible  <bruno@clisp.org>
74243
74244         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74245         *resultp is 0.
74246
74247         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74248         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74249         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74250         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74251
74252         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74253         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74254         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74255         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74256         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74257         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74258
74259 2007-01-24  Bruno Haible  <bruno@clisp.org>
74260
74261         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74262         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74263         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74264         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74265         gl_FUNC_FTS_CORE.
74266         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74267         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74268         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74269         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74270         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74271         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74272         gl_FUNC_FCHOWNAT.
74273         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74274         gl_FUNC_STRFTIME.
74275         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74276         Reported by Ralf Wildenhues.
74277
74278 2007-01-24  Bruno Haible  <bruno@clisp.org>
74279
74280         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74281         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74282         gl_GETADDRINFO.
74283         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74284         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74285         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74286
74287 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74288
74289         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74290         Don't use 'exit'; just return from 'main'.
74291         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74292
74293         * lib/fnmatch_.h: Readjust white space and comments to match
74294         glibc, to avoid spurious diffs.
74295
74296 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74297
74298         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74299         2004-12-01 change by Jakub Jelinek, since this code won't compile
74300         if !LIBC.  Problem reported by Bob Proulx.
74301
74302 2007-01-23  Bruno Haible  <bruno@clisp.org>
74303
74304         * lib/striconveh.c: Include c-strcaseeq.h.
74305         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74306         * modules/striconveh (Depends-on): Add c-strcaseeq.
74307
74308 2007-01-23  Bruno Haible  <bruno@clisp.org>
74309
74310         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74311
74312         * modules/c-strcaseeq: New file.
74313         * lib/c-strcaseeq.h: New file.
74314
74315         * modules/streq: New file.
74316         * lib/streq.h: New file.
74317
74318 2007-01-23  Bruno Haible  <bruno@clisp.org>
74319
74320         * modules/striconveha-tests: New file.
74321         * tests/test-striconveha.c: New file.
74322
74323         * lib/striconveha.h: Include <stdbool.h>.
74324         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74325         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74326         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74327         (mem_iconveha): New function.
74328         (str_iconveha_notranslit): Renamed from str_iconveha.
74329         (str_iconveha): New function.
74330         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74331         c-strcase.
74332
74333 2007-01-23  Bruno Haible  <bruno@clisp.org>
74334
74335         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74336         encodings without forgiving before trying any encoding with handler.
74337         (str_iconveha): Try all encodings without forgiving before trying any
74338         encoding with handler.
74339
74340 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74341
74342         Import the following changes from libc.
74343
74344         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74345
74346         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74347
74348         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74349
74350         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74351         normal_bracket label.
74352
74353         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74354
74355         [BZ #361]
74356         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74357         to normal_bracket after fetching the next character.
74358
74359 2007-01-22  Bruno Haible  <bruno@clisp.org>
74360
74361         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74362         argument.
74363         * lib/striconveh.c (iconv_carefully_1): New function.
74364         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74365         argument.
74366         (str_cd_iconveh): Update.
74367         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74368         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74369         * tests/test-striconveh.c (MAGIC): New macro.
74370         (new_offsets): New function.
74371         (main): Test call with and without offsets.
74372
74373 2007-01-22  Bruno Haible  <bruno@clisp.org>
74374
74375         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74376         * modules/sys_select (Makefile.am): Likewise.
74377         * modules/sys_socket (Makefile.am): Likewise.
74378         * modules/sys_time (Makefile.am): Likewise.
74379
74380 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74381
74382         * modules/gettimeofday (License): Change from GPL to LGPL, since
74383         gettimeofday is a library function.
74384
74385 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74386
74387         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74388
74389 2007-01-21  Bruno Haible  <bruno@clisp.org>
74390
74391         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74392
74393 2007-01-21  Bruno Haible  <bruno@clisp.org>
74394
74395         * modules/striconveha: New file.
74396         * lib/striconveha.h: New file.
74397         * lib/striconveha.c: New file.
74398         * MODULES.html.sh (Internationalization functions): Add striconveha.
74399         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74400         string.
74401         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74402
74403 2007-01-21  Bruno Haible  <bruno@clisp.org>
74404
74405         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74406         * lib/striconveh.c (str_iconveh): Likewise.
74407
74408 2007-01-21  Bruno Haible  <bruno@clisp.org>
74409
74410         * lib/striconveh.h (mem_iconveh): New declaration.
74411         * lib/striconveh.c (mem_iconveh): New function.
74412         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74413
74414 2007-01-21  Bruno Haible  <bruno@clisp.org>
74415
74416         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74417
74418         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74419         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74420         original result buffer.
74421         (str_cd_iconveh): Update.
74422         * tests/test-striconveh.c (main): Update.
74423
74424         * lib/striconv.h (mem_cd_iconv): Change specification.
74425         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74426         result buffer.
74427         (str_cd_iconv): Update.
74428         * tests/test-striconv.c (main): Update.
74429
74430 2007-01-21  Bruno Haible  <bruno@clisp.org>
74431
74432         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74433
74434 2007-01-20  Jim Meyering  <jim@meyering.net>
74435
74436         * lib/userspec.c (parse_with_separator): If a user or group string
74437         starts with "+", skip the corresponding name-to-ID look-up, since
74438         such a look-up must fail: user and group names may not include "+".
74439
74440 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74441
74442         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74443         since we now assume the sys_time module.
74444         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74445         check for sys/time.h; no longer needed.
74446         * modules/poll (Depends-on): Depend on sys_time.
74447
74448 2007-01-18  Bruno Haible  <bruno@clisp.org>
74449
74450         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74451         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74452
74453         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74454         gettimeofday.
74455
74456         * tests/test-gettimeofday.c: Include <time.h>.
74457         (dummy): Remove variable.
74458
74459         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74460         gl_HEADER_SYS_TIME_H.
74461         (gl_HEADER_SYS_TIME_H): New macro.
74462
74463         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74464         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74465         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74466         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74467         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74468         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74469         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74470         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74471         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74472         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74473         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74474
74475         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74476         last change; it caused a compilation error when cross-compiling to
74477         Cygwin.
74478
74479 2007-01-18  Jim Meyering  <jim@meyering.net>
74480
74481         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74482         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74483         than the race-prone "test -d sys || mkdir sys".
74484         (configure.ac): Use AC_PROG_MKDIR_P.
74485         * modules/sys_select: Likewise.
74486         * modules/sys_socket: Likewise.
74487         * modules/sys_time: Likewise.
74488
74489 2007-01-18  Eric Blake  <ebb9@byu.net>
74490
74491         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74492         replace gettimeofday.
74493         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74494         name, to avoid infinite recursion.
74495
74496 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74497
74498         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74499         module sys_time.
74500         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74501         assume timespec.h defines struct timeval.
74502         * lib/settime.c: Likewise.
74503         * lib/utimens.c: Likewise.
74504         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74505         since we now assume the gettimeofday module.
74506         * lib/tempname.c (__gen_tempname): Likewise.
74507         * lib/gettimeofday.h: Remove.
74508         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74509         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74510         Include <time.h>, for 'time()'.
74511         (localtime_buffer_addr): Also use this workaround if
74512         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74513         to simplify the uses.  All uses changed.
74514         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74515         that #undef is inside {}, and 'const' follows type name consistently.
74516         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74517         (gettimeofday): Do not use the maximum possible value for
74518         tv->tv_usec, since that might break usages other than ls.c.
74519         Instead, we'll leave ls.c alone.  This undoes today's patch
74520         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74521         we've never observed the problem but might as well keep the
74522         canary.
74523         * lib/nanosleep.c: Include timespec.h first, for interface check.
74524         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74525         now assume the sys_time module.
74526         * lib/tempname.c: Likewise.
74527         * lib/timespec.h: Likewise.
74528         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74529         needed.
74530         * lib/strftime.c: Likewise.
74531         * lib/timespec.h: Likewise.
74532         * lib/posixtm.c: Include posixtm.h first, for interface check.
74533         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74534         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74535         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74536         * lib/sys_time_.h: New file.
74537         * lib/timespec.h (struct timespec): Use long int, not long.
74538         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74539         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74540         Remove obsolescent call to AC_HEADER_TIME.
74541         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74542         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74543         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74544         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74545         Likewise.
74546         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74547         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74548         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74549         into the sys_time module.  Check for gettimeofday just once.
74550         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74551         for gettimeofday signature to just check the signature.  Merely
74552         compile it, since linking doesn't test signature.  Improve test for
74553         whether gettimeofday.o is actually needed.
74554         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74555         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74556         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74557         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74558         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74559         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74560         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74561         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74562         than worrying about sys/time.h.
74563         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74564         Don't bother worrying about TIME_WITH_SYS_TIME.
74565         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74566         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74567         * m4/sys_time_h.m4: New file.
74568         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74569         Don't include sys/time.h.  Return from main rather than exiting.
74570         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74571         all uses changed.
74572         * modules/gethrxtime (Depends-on): Add sys_time.
74573         * modules/gettime (Depends-on): Likewise.
74574         * modules/gettimeofday (Depends-on): Likewise.
74575         * modules/nanosleep (Depends-on): Likewise.
74576         * modules/settime (Depends-on): Likewise.
74577         * modules/tempname (Depends-on): Likewise.
74578         * modules/utimens (Depends-on): Likewise.
74579         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74580         (Include): Change back to <sys/time.h>.
74581         (Maintainer): Add self.
74582         * modules/sys_time: New file.
74583         * modules/tempname (Depends-on): Add gettimeofday.
74584         * tests/test-gettimeofday.c: Include <sys/time.h>
74585         rather than gettimeofday.h.
74586
74587 2007-01-17  Bruno Haible  <bruno@clisp.org>
74588
74589         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74590         the license default to GPL.
74591         (func_create_testdir): Don't complain if a module is LGPL and its
74592         tests module depends on GPLed modules.
74593
74594 2007-01-17  Bruno Haible  <bruno@clisp.org>
74595
74596         * lib/gettimeofday.c (gettimeofday): Add code for the case
74597         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74598         maximum possible value for tv->tv_usec, rather than the minimum one.
74599
74600 2005-10-08  Martin Lambers  <marlam@marlam.de>
74601 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74602 2007-01-16  Bruno Haible  <bruno@clisp.org>
74603
74604         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74605         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74606         gl_FUNC_GETTIMEOFDAY.
74607         (Include): Add gettimeofday.h.
74608         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74609         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74610         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74611         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74612         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74613         * lib/gettimeofday.h: New file.
74614         * lib/gettimeofday.c: Include <sys/timeb.h>.
74615         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74616         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74617         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74618         fall back on time().
74619
74620         * tests/test-gettimeofday.c: New file.
74621         * modules/gettimeofday-tests: New file.
74622
74623 2007-01-16  Eric Blake  <ebb9@byu.net>
74624
74625         * modules/fnmatch (Depends-on): Depend on wchar.
74626         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74627         * m4/fnmatch.m4: Likewise.
74628         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74629         * m4/mbchar.m4: Likewise.
74630         * modules/mbswidth (Depends-on): Depend on wchar.
74631         * lib/mbswidth.c: Assume <wchar.h>.
74632         * m4/mbswidth.m4: Likewise.
74633         * modules/quotearg (Depends-on): Depend on wchar.
74634         * lib/quotearg.c: Assume <wchar.h>.
74635         * m4/quotearg.m4: Likewise.
74636         * modules/regex (Depends-on): Depend on wchar.
74637         * lib/regex_internal.h: Assume <wchar.h>.
74638         * m4/regex.m4: Likewise.
74639         * modules/stdint (Depends-on): Depend on wchar.
74640         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74641         * m4/stdint.m4: Likewise.
74642         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74643         * modules/strftime (Depends-on): Depend on wchar.
74644         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74645         * modules/strtol (Depends-on): Depend on wchar.
74646         * lib/strtol.c: Assume <wchar.h>.
74647         * modules/wcwidth (Depends-on): Depend on wchar.
74648         * lib/wcwidth.h: Assume <wchar.h>.
74649         * m4/wcwidth.m4: Likewise.
74650
74651 2007-01-16  Bruno Haible  <bruno@clisp.org>
74652
74653         * modules/csharpexec-script: New, created from...
74654         * modules/csharpexec: ... this.
74655
74656 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74657
74658         * modules/javaexec-script: New, created from...
74659         * modules/javaexec: ... this.
74660
74661 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74662
74663         * modules/poll (Dependencies): Add sys_select.
74664
74665 2007-01-15  Jim Meyering  <jim@meyering.net>
74666
74667         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74668         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74669         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74670         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74671
74672 2007-01-15  Bruno Haible  <bruno@clisp.org>
74673
74674         * modules/striconveh: New file.
74675         * lib/striconveh.h: New file.
74676         * lib/striconveh.c: New file.
74677         * MODULES.html.sh (Internationalization functions): Add striconveh.
74678
74679         * modules/striconveh-tests: New file.
74680         * tests/test-striconveh.c: New file.
74681
74682 2007-01-15  Bruno Haible  <bruno@clisp.org>
74683
74684         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74685         not from GNU libiconv or GNU libc.
74686
74687 2007-01-15  Bruno Haible  <bruno@clisp.org>
74688
74689         * doc/gnulib-intro.texi (Copyright): Explain the different license
74690         terms for module descriptions, autoconf macros, tests, documentation.
74691
74692 2007-01-14  Bruno Haible  <bruno@clisp.org>
74693
74694         * modules/striconv-tests: New file.
74695         * tests/test-striconv.c: New file.
74696
74697 2007-01-14  Bruno Haible  <bruno@clisp.org>
74698
74699         * modules/iconv-tests: New file.
74700         * tests/test-iconv.c: New file.
74701
74702 2007-01-14  Bruno Haible  <bruno@clisp.org>
74703
74704         * gnulib-tool (func_get_license): For test modules, use the license of
74705         the main module.
74706
74707 2007-01-14  Bruno Haible  <bruno@clisp.org>
74708
74709         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74710         if iconv is found to exist.
74711
74712 2007-01-14  Bruno Haible  <bruno@clisp.org>
74713
74714         * modules/c-ctype-tests: New file.
74715         * tests/test-c-ctype.c: New file.
74716
74717 2007-01-14  Bruno Haible  <bruno@clisp.org>
74718
74719         * modules/binary-io-tests: New file.
74720         * tests/test-binary-io.sh: New file.
74721         * tests/test-binary-io.c: New file.
74722
74723 2007-01-14  Bruno Haible  <bruno@clisp.org>
74724
74725         * modules/array-oset-tests: New file.
74726         * tests/test-array_oset.c: New file.
74727
74728 2007-01-14  Bruno Haible  <bruno@clisp.org>
74729
74730         * modules/array-list-tests: New file.
74731         * tests/test-array_list.c: New file.
74732
74733 2007-01-14  Bruno Haible  <bruno@clisp.org>
74734
74735         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74736         and make.
74737         Reported by Simon Josefsson in
74738         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74739
74740 2007-01-14  Bruno Haible  <bruno@clisp.org>
74741
74742         * modules/allocsa-tests: New file.
74743         * tests/test-allocsa.c: New file.
74744
74745 2007-01-14  Bruno Haible  <bruno@clisp.org>
74746
74747         * modules/fchdir (Depends-on): Add absolute-header.
74748         * modules/unistd (Depends-on): Likewise.
74749
74750 2006-12-30  Bruno Haible  <bruno@clisp.org>
74751
74752         * modules/fchdir: New file.
74753         * modules/unistd (Files): Add lib/unistd_.h.
74754         (Makefile.am): Generate unistd.h from unistd_.h.
74755         * lib/fchdir.c: New file.
74756         * lib/dirent_.h: New file.
74757         * lib/unistd_.h: New file.
74758         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74759         * m4/fchdir.m4: New file.
74760         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74761         (gl_HEADER_UNISTD): Invoke it.
74762         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74763         function.
74764         * lib/backupfile.c (opendir, closedir): Undefine.
74765         * lib/chown.c (open, close): Undefine.
74766         * lib/clean-temp.c (open, close): Undefine.
74767         * lib/copy-file.c (open, close): Undefine.
74768         * lib/execute.c (open, close): Undefine.
74769         * lib/fsusage.c (open, close): Undefine.
74770         * lib/gc-gnulib.c (open, close): Undefine.
74771         * lib/getcwd.c (opendir, closedir): Undefine.
74772         * lib/glob.c (opendir, closedir): Undefine.
74773         * lib/javacomp.c (open, close): Undefine.
74774         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74775         * lib/openat-proc.c (open, close): Undefine.
74776         * lib/pagealign_alloc.c (open, close): Undefine.
74777         * lib/pipe.c (open, close): Undefine.
74778         * lib/progreloc.c (open, close): Undefine.
74779         * lib/savedir.c (opendir, closedir): Undefine.
74780         * lib/utime.c (open, close): Undefine.
74781         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74782
74783 2007-01-10  Bruno Haible  <bruno@clisp.org>
74784
74785         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74786
74787 2007-01-12  Eric Blake  <ebb9@byu.net>
74788
74789         Provide a robust <wchar.h>.  Further simplifications are now
74790         possible in other modules, but not included here.
74791         * modules/wchar: New module.
74792         * m4/wchar.m4: New file.
74793         * lib/wchar_.h: Likewise.
74794         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74795         of the new module.
74796         * MODULES.html.sh (Extended multibyte and wide character utilities):
74797         New section.
74798
74799 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74800
74801         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74802         to a reasonable default for memory allocation.
74803         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74804         file system that reports garbage st_size values for symlinks.
74805         Problem reported by Liyang Hu.
74806
74807 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74808
74809         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74810         Emacs .#* auto-save files).
74811
74812 2007-01-11  Bruno Haible  <bruno@clisp.org>
74813
74814         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74815         directory.
74816
74817 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74818
74819         Use @...@ consistently in lib/wctype_.h.
74820         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74821         on it being set to 1 or 0.
74822         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74823         go back to AC_SUBSTing it.
74824         * modules/wctype (Makefile.am): Undo previous change.
74825
74826 2007-01-10  Eric Blake  <ebb9@byu.net>
74827
74828         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74829         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74830         * modules/wctype (Makefile.am): Likewise.
74831         Reported by Chris McGuire.
74832
74833 2007-01-10  Jim Meyering  <jim@meyering.net>
74834
74835         fts.c: a small readability/maintainability improvement
74836         * lib/fts.c (fts_read): Make this code slightly more readable and
74837         maintainable by hoisting the "sp->fts_cur = p" assignments to
74838         immediately follow the statements that set P.  Derived from
74839         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74840
74841 2007-01-10  Eric Blake  <ebb9@byu.net>
74842
74843         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74844         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74845         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74846         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74847         Reported by Chris McGuire.
74848
74849 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74850
74851         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74852         in sed script.
74853
74854 2007-01-09  Bruno Haible  <bruno@clisp.org>
74855
74856         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74857         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74858         variables.
74859         (func_module): Use them.
74860
74861 2007-01-09  Bruno Haible  <bruno@clisp.org>
74862
74863         * modules/unistr/base: New file.
74864         * lib/unistr.h: New file.
74865
74866         * modules/unistr/u8-to-u16: New file.
74867         * lib/unistr/u8-to-u16.c: New file.
74868
74869         * modules/unistr/u8-to-u32: New file.
74870         * lib/unistr/u8-to-u32.c: New file.
74871
74872         * modules/unistr/u16-to-u8: New file.
74873         * lib/unistr/u16-to-u8.c: New file.
74874
74875         * modules/unistr/u16-to-u32: New file.
74876         * lib/unistr/u16-to-u32.c: New file.
74877
74878         * modules/unistr/u32-to-u8: New file.
74879         * lib/unistr/u32-to-u8.c: New file.
74880
74881         * modules/unistr/u32-to-u16: New file.
74882         * lib/unistr/u32-to-u16.c: New file.
74883
74884         * modules/unistr/u8-check: New file.
74885         * modules/unistr/u16-check: New file.
74886         * modules/unistr/u32-check: New file.
74887         * lib/unistr/u8-check.c: New file.
74888         * lib/unistr/u16-check.c: New file.
74889         * lib/unistr/u32-check.c: New file.
74890
74891         * modules/unistr/u8-chr: New file.
74892         * modules/unistr/u16-chr: New file.
74893         * modules/unistr/u32-chr: New file.
74894         * lib/unistr/u8-chr.c: New file.
74895         * lib/unistr/u16-chr.c: New file.
74896         * lib/unistr/u32-chr.c: New file.
74897
74898         * modules/unistr/u8-cmp: New file.
74899         * modules/unistr/u16-cmp: New file.
74900         * modules/unistr/u32-cmp: New file.
74901         * lib/unistr/u8-cmp.c: New file.
74902         * lib/unistr/u16-cmp.c: New file.
74903         * lib/unistr/u32-cmp.c: New file.
74904
74905         * modules/unistr/u8-cpy: New file.
74906         * modules/unistr/u16-cpy: New file.
74907         * modules/unistr/u32-cpy: New file.
74908         * lib/unistr/u8-cpy.c: New file.
74909         * lib/unistr/u16-cpy.c: New file.
74910         * lib/unistr/u32-cpy.c: New file.
74911         * lib/unistr/u-cpy.h: New file.
74912
74913         * modules/unistr/u8-cpy-alloc: New file.
74914         * modules/unistr/u16-cpy-alloc: New file.
74915         * modules/unistr/u32-cpy-alloc: New file.
74916         * lib/unistr/u8-cpy-alloc.c: New file.
74917         * lib/unistr/u16-cpy-alloc.c: New file.
74918         * lib/unistr/u32-cpy-alloc.c: New file.
74919         * lib/unistr/u-cpy-alloc.h: New file.
74920
74921         * modules/unistr/u8-endswith: New file.
74922         * modules/unistr/u16-endswith: New file.
74923         * modules/unistr/u32-endswith: New file.
74924         * lib/unistr/u8-endswith.c: New file.
74925         * lib/unistr/u16-endswith.c: New file.
74926         * lib/unistr/u32-endswith.c: New file.
74927         * lib/unistr/u-endswith.h: New file.
74928
74929         * modules/unistr/u8-mblen: New file.
74930         * modules/unistr/u16-mblen: New file.
74931         * modules/unistr/u32-mblen: New file.
74932         * lib/unistr/u8-mblen.c: New file.
74933         * lib/unistr/u16-mblen.c: New file.
74934         * lib/unistr/u32-mblen.c: New file.
74935
74936         * modules/unistr/u8-mbtouc: New file.
74937         * modules/unistr/u16-mbtouc: New file.
74938         * modules/unistr/u32-mbtouc: New file.
74939         * lib/unistr/u8-mbtouc.c: New file.
74940         * lib/unistr/u16-mbtouc.c: New file.
74941         * lib/unistr/u32-mbtouc.c: New file.
74942
74943         * modules/unistr/u8-mbtouc-safe: New file.
74944         * modules/unistr/u16-mbtouc-safe: New file.
74945         * modules/unistr/u32-mbtouc-safe: New file.
74946         * lib/unistr/u8-mbtouc-safe.c: New file.
74947         * lib/unistr/u16-mbtouc-safe.c: New file.
74948         * lib/unistr/u32-mbtouc-safe.c: New file.
74949
74950         * modules/unistr/u8-move: New file.
74951         * modules/unistr/u16-move: New file.
74952         * modules/unistr/u32-move: New file.
74953         * lib/unistr/u8-move.c: New file.
74954         * lib/unistr/u16-move.c: New file.
74955         * lib/unistr/u32-move.c: New file.
74956         * lib/unistr/u-move.h: New file.
74957
74958         * modules/unistr/u8-next: New file.
74959         * modules/unistr/u16-next: New file.
74960         * modules/unistr/u32-next: New file.
74961         * lib/unistr/u8-next.c: New file.
74962         * lib/unistr/u16-next.c: New file.
74963         * lib/unistr/u32-next.c: New file.
74964
74965         * modules/unistr/u8-prev: New file.
74966         * modules/unistr/u16-prev: New file.
74967         * modules/unistr/u32-prev: New file.
74968         * lib/unistr/u8-prev.c: New file.
74969         * lib/unistr/u16-prev.c: New file.
74970         * lib/unistr/u32-prev.c: New file.
74971
74972         * modules/unistr/u8-set: New file.
74973         * modules/unistr/u16-set: New file.
74974         * modules/unistr/u32-set: New file.
74975         * lib/unistr/u8-set.c: New file.
74976         * lib/unistr/u16-set.c: New file.
74977         * lib/unistr/u32-set.c: New file.
74978         * lib/unistr/u-set.h: New file.
74979
74980         * modules/unistr/u8-startswith: New file.
74981         * modules/unistr/u16-startswith: New file.
74982         * modules/unistr/u32-startswith: New file.
74983         * lib/unistr/u8-startswith.c: New file.
74984         * lib/unistr/u16-startswith.c: New file.
74985         * lib/unistr/u32-startswith.c: New file.
74986         * lib/unistr/u-startswith.h: New file.
74987
74988         * modules/unistr/u8-stpcpy: New file.
74989         * modules/unistr/u16-stpcpy: New file.
74990         * modules/unistr/u32-stpcpy: New file.
74991         * lib/unistr/u8-stpcpy.c: New file.
74992         * lib/unistr/u16-stpcpy.c: New file.
74993         * lib/unistr/u32-stpcpy.c: New file.
74994         * lib/unistr/u-stpcpy.h: New file.
74995
74996         * modules/unistr/u8-stpncpy: New file.
74997         * modules/unistr/u16-stpncpy: New file.
74998         * modules/unistr/u32-stpncpy: New file.
74999         * lib/unistr/u8-stpncpy.c: New file.
75000         * lib/unistr/u16-stpncpy.c: New file.
75001         * lib/unistr/u32-stpncpy.c: New file.
75002         * lib/unistr/u-stpncpy.h: New file.
75003
75004         * modules/unistr/u8-strcat: New file.
75005         * modules/unistr/u16-strcat: New file.
75006         * modules/unistr/u32-strcat: New file.
75007         * lib/unistr/u8-strcat.c: New file.
75008         * lib/unistr/u16-strcat.c: New file.
75009         * lib/unistr/u32-strcat.c: New file.
75010         * lib/unistr/u-strcat.h: New file.
75011
75012         * modules/unistr/u8-strchr: New file.
75013         * modules/unistr/u16-strchr: New file.
75014         * modules/unistr/u32-strchr: New file.
75015         * lib/unistr/u8-strchr.c: New file.
75016         * lib/unistr/u16-strchr.c: New file.
75017         * lib/unistr/u32-strchr.c: New file.
75018
75019         * modules/unistr/u8-strcmp: New file.
75020         * modules/unistr/u16-strcmp: New file.
75021         * modules/unistr/u32-strcmp: New file.
75022         * lib/unistr/u8-strcmp.c: New file.
75023         * lib/unistr/u16-strcmp.c: New file.
75024         * lib/unistr/u32-strcmp.c: New file.
75025
75026         * modules/unistr/u8-strcpy: New file.
75027         * modules/unistr/u16-strcpy: New file.
75028         * modules/unistr/u32-strcpy: New file.
75029         * lib/unistr/u8-strcpy.c: New file.
75030         * lib/unistr/u16-strcpy.c: New file.
75031         * lib/unistr/u32-strcpy.c: New file.
75032         * lib/unistr/u-strcpy.h: New file.
75033
75034         * modules/unistr/u8-strcspn: New file.
75035         * modules/unistr/u16-strcspn: New file.
75036         * modules/unistr/u32-strcspn: New file.
75037         * lib/unistr/u8-strcspn.c: New file.
75038         * lib/unistr/u16-strcspn.c: New file.
75039         * lib/unistr/u32-strcspn.c: New file.
75040         * lib/unistr/u-strcspn.h: New file.
75041
75042         * modules/unistr/u8-strdup: New file.
75043         * modules/unistr/u16-strdup: New file.
75044         * modules/unistr/u32-strdup: New file.
75045         * lib/unistr/u8-strdup.c: New file.
75046         * lib/unistr/u16-strdup.c: New file.
75047         * lib/unistr/u32-strdup.c: New file.
75048         * lib/unistr/u-strdup.h: New file.
75049
75050         * modules/unistr/u8-strlen: New file.
75051         * modules/unistr/u16-strlen: New file.
75052         * modules/unistr/u32-strlen: New file.
75053         * lib/unistr/u8-strlen.c: New file.
75054         * lib/unistr/u16-strlen.c: New file.
75055         * lib/unistr/u32-strlen.c: New file.
75056         * lib/unistr/u-strlen.h: New file.
75057
75058         * modules/unistr/u8-strmblen: New file.
75059         * modules/unistr/u16-strmblen: New file.
75060         * modules/unistr/u32-strmblen: New file.
75061         * lib/unistr/u8-strmblen.c: New file.
75062         * lib/unistr/u16-strmblen.c: New file.
75063         * lib/unistr/u32-strmblen.c: New file.
75064
75065         * modules/unistr/u8-strmbtouc: New file.
75066         * modules/unistr/u16-strmbtouc: New file.
75067         * modules/unistr/u32-strmbtouc: New file.
75068         * lib/unistr/u8-strmbtouc.c: New file.
75069         * lib/unistr/u16-strmbtouc.c: New file.
75070         * lib/unistr/u32-strmbtouc.c: New file.
75071
75072         * modules/unistr/u8-strncat: New file.
75073         * modules/unistr/u16-strncat: New file.
75074         * modules/unistr/u32-strncat: New file.
75075         * lib/unistr/u8-strncat.c: New file.
75076         * lib/unistr/u16-strncat.c: New file.
75077         * lib/unistr/u32-strncat.c: New file.
75078         * lib/unistr/u-strncat.h: New file.
75079
75080         * modules/unistr/u8-strncmp: New file.
75081         * modules/unistr/u16-strncmp: New file.
75082         * modules/unistr/u32-strncmp: New file.
75083         * lib/unistr/u8-strncmp.c: New file.
75084         * lib/unistr/u16-strncmp.c: New file.
75085         * lib/unistr/u32-strncmp.c: New file.
75086
75087         * modules/unistr/u8-strncpy: New file.
75088         * modules/unistr/u16-strncpy: New file.
75089         * modules/unistr/u32-strncpy: New file.
75090         * lib/unistr/u8-strncpy.c: New file.
75091         * lib/unistr/u16-strncpy.c: New file.
75092         * lib/unistr/u32-strncpy.c: New file.
75093         * lib/unistr/u-strncpy.h: New file.
75094
75095         * modules/unistr/u8-strnlen: New file.
75096         * modules/unistr/u16-strnlen: New file.
75097         * modules/unistr/u32-strnlen: New file.
75098         * lib/unistr/u8-strnlen.c: New file.
75099         * lib/unistr/u16-strnlen.c: New file.
75100         * lib/unistr/u32-strnlen.c: New file.
75101         * lib/unistr/u-strnlen.h: New file.
75102
75103         * modules/unistr/u8-strpbrk: New file.
75104         * modules/unistr/u16-strpbrk: New file.
75105         * modules/unistr/u32-strpbrk: New file.
75106         * lib/unistr/u8-strpbrk.c: New file.
75107         * lib/unistr/u16-strpbrk.c: New file.
75108         * lib/unistr/u32-strpbrk.c: New file.
75109         * lib/unistr/u-strpbrk.h: New file.
75110
75111         * modules/unistr/u8-strrchr: New file.
75112         * modules/unistr/u16-strrchr: New file.
75113         * modules/unistr/u32-strrchr: New file.
75114         * lib/unistr/u8-strrchr.c: New file.
75115         * lib/unistr/u16-strrchr.c: New file.
75116         * lib/unistr/u32-strrchr.c: New file.
75117
75118         * modules/unistr/u8-strspn: New file.
75119         * modules/unistr/u16-strspn: New file.
75120         * modules/unistr/u32-strspn: New file.
75121         * lib/unistr/u8-strspn.c: New file.
75122         * lib/unistr/u16-strspn.c: New file.
75123         * lib/unistr/u32-strspn.c: New file.
75124         * lib/unistr/u-strspn.h: New file.
75125
75126         * modules/unistr/u8-strstr: New file.
75127         * modules/unistr/u16-strstr: New file.
75128         * modules/unistr/u32-strstr: New file.
75129         * lib/unistr/u8-strstr.c: New file.
75130         * lib/unistr/u16-strstr.c: New file.
75131         * lib/unistr/u32-strstr.c: New file.
75132         * lib/unistr/u-strstr.h: New file.
75133
75134         * modules/unistr/u8-strtok: New file.
75135         * modules/unistr/u16-strtok: New file.
75136         * modules/unistr/u32-strtok: New file.
75137         * lib/unistr/u8-strtok.c: New file.
75138         * lib/unistr/u16-strtok.c: New file.
75139         * lib/unistr/u32-strtok.c: New file.
75140         * lib/unistr/u-strtok.h: New file.
75141
75142         * modules/unistr/u8-uctomb: New file.
75143         * modules/unistr/u16-uctomb: New file.
75144         * modules/unistr/u32-uctomb: New file.
75145         * lib/unistr/u8-uctomb.c: New file.
75146         * lib/unistr/u16-uctomb.c: New file.
75147         * lib/unistr/u32-uctomb.c: New file.
75148
75149         * MODULES.html.sh (Unicode string functions): Add the new modules.
75150
75151 2007-01-08  Bruno Haible  <bruno@clisp.org>
75152
75153         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75154         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75155         subdirectories.
75156
75157 2007-01-08  Karl Berry  <karl@gnu.org>
75158
75159         * doc/error.texi: mention that main() fns must set program_name
75160         when progname is used.
75161
75162 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75163
75164         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75165         WCTYPE_H is empty, for the benefit of builds from non-distclean
75166         directories.  Problem reported by Eric Blake in
75167         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75168
75169 2007-01-08  Bruno Haible  <bruno@clisp.org>
75170
75171         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75172         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75173         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75174         PROVIDE_CANONICALIZE_FILENAME_MODE.
75175         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75176
75177 2007-01-08  Bruno Haible  <bruno@clisp.org>
75178
75179         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75180         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75181         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75182         * lib/fts.c: Likewise.
75183         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75184
75185 2006-12-25  Bruno Haible  <bruno@clisp.org>
75186
75187         * modules/utf8-ucs4-safe: New file.
75188         * lib/utf8-ucs4-safe.h: New file.
75189         * lib/unistr/utf8-ucs4-safe.c: New file.
75190
75191         * modules/utf16-ucs4-safe: New file.
75192         * lib/utf16-ucs4-safe.h: New file.
75193         * lib/unistr/utf16-ucs4-safe.c: New file.
75194
75195         * MODULES.html.sh (Unicode string functions): Add the new modules.
75196
75197 2007-01-08  Bruno Haible  <bruno@clisp.org>
75198
75199         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75200         (Depends-on): Add unitypes.
75201         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75202         (u8_mbtouc_aux): Move out to separate file.
75203         (u8_mbtouc): Use ucs4_t, uint8_t types.
75204         * lib/unistr/utf8-ucs4.c: New file.
75205
75206         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75207         (Depends-on): Add unitypes.
75208         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75209         (u16_mbtouc_aux): Move out to separate file.
75210         (u16_mbtouc): Use ucs4_t, uint16_t types.
75211         * lib/unistr/utf16-ucs4.c: New file.
75212
75213         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75214         (Depends-on): Add unitypes.
75215         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75216         (u8_uctomb_aux): Move out to separate file.
75217         (u8_uctomb): Use ucs4_t, uint8_t types.
75218         * lib/unistr/ucs4-utf8.c: New file.
75219
75220         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75221         (Depends-on): Add unitypes.
75222         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75223         (u16_uctomb_aux): Move out to separate file.
75224         (u16_uctomb): Use ucs4_t, uint16_t types.
75225         * lib/unistr/ucs4-utf16.c: New file.
75226
75227 2006-12-25  Bruno Haible  <bruno@clisp.org>
75228
75229         * modules/unitypes: New file.
75230         * lib/unitypes.h: New file.
75231         * MODULES.html.sh (func_all_modules): New section "Unicode string
75232         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75233         this section. Add unitypes.
75234
75235 2007-01-08  Bruno Haible  <bruno@clisp.org>
75236
75237         Avoid variable names that conflict with those from libtool.
75238         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75239         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75240         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75241         library_names_spec to acl_library_names_spec, hardcode_* to
75242         acl_hardcode_*.
75243         Reported by Ralf Wildenhues.
75244
75245 2007-01-08  Bruno Haible  <bruno@clisp.org>
75246
75247         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75248         definition.
75249         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75250         definition.
75251         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75252         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75253         definition.
75254         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75255         definition.
75256         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75257         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75258         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75259         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75260         definition.
75261         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75262         definition.
75263         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75264         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75265         GC_USE_<algorithm>.
75266         * lib/gc-libgcrypt.c: Likewise.
75267         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75268         * modules/gc-arctwo (configure.ac): Likewise.
75269         * modules/gc-des (configure.ac): Likewise.
75270         * modules/gc-hmac-md5 (configure.ac): Likewise.
75271         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75272         * modules/gc-md2 (configure.ac): Likewise.
75273         * modules/gc-md4 (configure.ac): Likewise.
75274         * modules/gc-md5 (configure.ac): Likewise.
75275         * modules/gc-random (configure.ac): Likewise.
75276         * modules/gc-rijndael (configure.ac): Likewise.
75277         * modules/gc-sha1 (configure.ac): Likewise.
75278
75279 2007-01-08  Bruno Haible  <bruno@clisp.org>
75280
75281         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75282         macro definition.
75283         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75284         definition.
75285         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75286         definition.
75287         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75288         * modules/fcntl-safer (configure.ac): Likewise.
75289         * modules/fopen-safer (configure.ac): Likewise.
75290         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75291         GNULIB_FWRITEERROR macro definition.
75292
75293 2007-01-08  Bruno Haible  <bruno@clisp.org>
75294
75295         * m4/gnulib-common.m4: New file.
75296         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75297         (func_get_filelist): Add m4/gnulib-common.m4.
75298
75299 2007-01-08  Bruno Haible  <bruno@clisp.org>
75300
75301         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75302         command.
75303
75304 2007-01-08  Jim Meyering  <jim@meyering.net>
75305
75306         Use a more robust test for a "can't happen" condition.
75307         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75308         narrowed the st_size value.  Presuming the "can't happen" condition
75309         is true, that narrowing could conceivably convert an invalid st_size
75310         value into a valid one.  Instead, use a change based on Matthew
75311         Woehlke's original patch.
75312
75313         Slight readability improvement: use an assert-like macro
75314         in place of literal "abort ()" uses.
75315         * lib/fts.c (fts_assert): Define.
75316         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75317         Use this macro instead of a bare 'abort'.
75318
75319 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75320
75321         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75322         simply work around them.
75323         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75324         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75325         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75326         declaring.
75327         Don't bother to define as macros, since the standard doesn't require it.
75328         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75329         longer worry about IRIX 5.3.
75330         (HAVE_WCTYPE_CTMP_BUG): Remove.
75331
75332 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75333
75334         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75335         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75336         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75337         Problems reported by Georg Schwarz for IRIX 5.3.
75338
75339         * gnulib-tool (autoconf_minversion): Take the maximum version number
75340         found, not the minimum.  Problem reported by James Youngman.
75341
75342 2007-01-03  Karl Berry  <karl@gnu.org>
75343
75344         * doc/error.texi: new file, explaining interaction with progname.
75345         * doc/gnulib.texi: include it.  Update copyright.
75346
75347 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75348
75349         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75350         AC_CANONICAL_HOST, to improve autobuild outputs.
75351
75352 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75353             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75354
75355         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75356         sockets, server sockets, and other file descriptors.  Count errors
75357         to compute the return value.  Reorder the code a bit to be easier
75358         to follow.  Don't set event bits that were not requested (except
75359         POLLERR and POLLHUP).
75360
75361 2007-01-01  Bruno Haible  <bruno@clisp.org>
75362
75363         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75364
75365 2007-01-03  Jim Meyering  <jim@meyering.net>
75366
75367         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75368
75369 2007-01-02  Bruno Haible  <bruno@clisp.org>
75370
75371         * modules/settime (Include): Require timespec.h.
75372         * modules/nanosleep (Include): Likewise.
75373
75374 2007-01-01  Bruno Haible  <bruno@clisp.org>
75375
75376         * gnulib-tool (func_emit_copyright_notice): Bump year.
75377         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75378
75379 2007-01-01  Bruno Haible  <bruno@clisp.org>
75380
75381         Improve support for OpenBSD.
75382         * build-aux/config.rpath (libname_spec): Export.
75383         (library_names_spec): New variable. Export.
75384         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75385         library_names_spec from the config.rpath output. Locate shared library
75386         through the name pattern in library_names_spec.
75387
75388 2007-01-01  Eric Blake  <ebb9@byu.net>
75389
75390         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75391
75392 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75393
75394         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75395         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75396         assume the C locale, and avoid an "eval" that could cause trouble.
75397         Problem with SORT reported by Bob Proulx.
75398
75399         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75400         Define.  Trivial patch from Henning Nielsen Lund, originally
75401         sent to bug-grep@gnu.org today.
75402
75403 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75404
75405         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75406         struct stat.  Problem reported by Henning Nielsen Lund.
75407         * lib/acl.c: Include acl.h first, to check interface.  Don't
75408         bother to include sys/types.h and sys/stat.h again.
75409
75410 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75411
75412         Import the following change from libc; problem reported by
75413         Sven Verdoolaege.
75414
75415         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75416
75417         [BZ #1373]
75418         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75419
75420 2006-12-28  Jim Meyering  <jim@meyering.net>
75421
75422         * build-aux/announce-gen: Do not assume that the package
75423         builds any of tar.gz, tar.bz2, and .xdelta files.
75424         Suggestion from Simon Josefsson.
75425
75426 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75427
75428         * modules/announce-gen: New file.
75429
75430 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75431
75432         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75433         handles its gotchas now.
75434         * lib/mbswidth.c: Likewise.
75435         * lib/wcwidth.h: Likewise.
75436         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75437         and iswcntrl; the wctype module does this stuff now.
75438         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75439         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75440         * modules/mbchar (Depends-on): Add wctype.
75441         * modules/mbswidth (Depends-on): Likewise.
75442         * modules/wcwidth (Depends-on): Likewise.
75443
75444 2006-12-27  Eric Blake  <ebb9@byu.net>
75445
75446         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75447         module uses more than what <wctype.h> is required to provide.
75448
75449 2006-12-26  Eric Blake  <ebb9@byu.net>
75450
75451         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75452
75453 2006-12-26  Eric Blake  <ebb9@byu.net>
75454
75455         * modules/absolute-header: New module.
75456         * modules/fcntl (Depends-on): Depend on it.
75457         * modules/inttypes (Depends-on): Likewise.
75458         * modules/stdint (Depends-on): Likewise.
75459         * modules/sys_stat (Depends-on): Likewise.
75460         * modules/wctype (Depends-on): Likewise.
75461         * MODULES.html.sh (Support for building libraries and
75462         executables): Document it.
75463
75464 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75465
75466         * gnulib-tool (SED): Remove, undoing previous change.
75467         The problem was that it broke coreutils on Solaris, because
75468         "sed --posix" leaked into a makefile.
75469         (sed): New alias, if 'alias' and GNU sed.
75470
75471 2006-12-24  Jim Meyering  <jim@meyering.net>
75472
75473         Work around an fchownat bug in glibc-2.4:
75474         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75475         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75476         in spite of the -P option.
75477         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75478         New macros.
75479         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75480         * modules/openat (Files): Add lib/fchownat.c.
75481         * lib/openat.c (fchownat): Don't define here.  Move to...
75482         * lib/fchownat.c: ...this new file.
75483
75484 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75485
75486         Fix bug reported by Bruno Haible in
75487         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75488         where quotearg.c didn't compile on Mac OS X 10.2 because it
75489         lacks <wchar.h> and wint_t.
75490         * lib/wctype_.h (__wctype_wint_t): New type.
75491         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75492         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75493         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75494         Arg is now of type __wctype_wint_t, not wint_t.
75495         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75496         substitute HAVE_WINT_T.
75497         * modules/wctype (Files): Add m4/wint_t.m4.
75498         (wctype.h): Substitute HAVE_WINT_T.
75499
75500 2006-12-23  Bruno Haible  <bruno@clisp.org>
75501
75502         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75503
75504 2006-12-23  Bruno Haible  <bruno@clisp.org>
75505
75506         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75507         S_ISLNK.
75508         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75509         mingw.
75510
75511 2006-12-22  Bruno Haible  <bruno@clisp.org>
75512
75513         * lib/copy-file.c: Include acl.h.
75514         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75515         Close the file descriptors only after being done with copy_acl.
75516         * modules/copy-file (Depends-on): Add acl.
75517
75518 2006-12-22  Bruno Haible  <bruno@clisp.org>
75519
75520         * gnulib-tool (SED): New variable.
75521         Use $SED instead of sed everywhere.
75522
75523 2006-12-22  Bruno Haible  <bruno@clisp.org>
75524
75525         * modules/no-c++: New file.
75526         * m4/no-c++.m4: New file.
75527         * MODULES.html.sh (Support for building libraries and executables):
75528         Add no-c++.
75529
75530 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75531
75532         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75533         Include <limits.h>, and use its INT_MAX to rewrite the
75534         j loop so that it does not overflow 'int'.  Problem reported by
75535         Ralf Wildenhues in
75536         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75537         Play it safe by shifting left by 1 rather than multiplying by 2,
75538         as GCC is less likely to optimize this away when the value
75539         is signed (when it assumes overflow leads to undefined behavior).
75540         Also, don't assume time_t uses two's complement.
75541
75542 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75543
75544         * MODULES.html.sh: New module wctype.
75545         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75546         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75547         <wctype.h>, since the new wctype module should fix this.
75548         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75549         the wctype module should arrange for it.
75550         * lib/regex_internal.h: Likewise.
75551         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75552         since the wctype module should handle this now.
75553         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75554         * modules/fnmatch (Depends-on): Add wctype.
75555         * modules/quotearg (Depends-on): Likewise.
75556         * modules/regex (Depends-on): Likewise.
75557
75558 2006-12-19  Bruno Haible  <bruno@clisp.org>
75559
75560         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75561         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75562
75563 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75564
75565         * modules/savewd (Depends-on): Fix dependency on fcntl.
75566
75567 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75568
75569         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75570         conforms to C99, rather than relying on the user's environment
75571         setting of STDINT_H.
75572
75573 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75574         and Eric Blake  <ebb9@byu.net>
75575
75576         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75577         This is more consistent with the other defines here.
75578         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75579         Port to z/OS.  Problem reported by Paul Gilmartin.
75580         Change local vars to use gl_ prefix rather than ac_.
75581         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75582         with other defines.
75583         * modules/double-slash-root: New module.
75584         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75585         (Depends-on): Add double-slash-root.
75586         * MODULES.html.sh (File system functions): Mention new module.
75587
75588 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75589
75590         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75591         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75592         This is for the benefit of gzip, which doesn't do i18n.
75593
75594 2006-12-12  Jim Meyering  <jim@meyering.net>
75595
75596         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75597         Reported by Andreas Schwab <schwab@suse.de>.
75598
75599 2006-12-12  Bruno Haible  <bruno@clisp.org>
75600
75601         Merge these changes.
75602         2006-09-05  Bruno Haible  <bruno@clisp.org>
75603         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75604         iconv_alloc succeeded.
75605         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75606         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75607         test for " && dest " at the end - dest is always != NULL there. Call
75608         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75609         with 2xNULL arguments, also to flush the state storage. Handle the
75610         IRIX iconv behaviour. Realloc the final result, to throw away unused
75611         memory.
75612
75613 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75614
75615         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75616         and fchmodat unconditionally, since glibc 2.4 has them.
75617         Problem reported by Arkadiusz Miskiewicz.
75618
75619 2006-12-10  Bruno Haible  <bruno@clisp.org>
75620
75621         * gnulib-tool (func_import): Show the include files only for those
75622         modules that are copied and specified.
75623         Reported by Karl Berry.
75624
75625 2006-12-08  Jim Meyering  <jim@meyering.net>
75626
75627         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75628         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75629
75630         * build-aux/announce-gen: Add two new options, both optional:
75631         --bootstrap-tools=TOOL_LIST
75632               a comma-separated list of tools, e.g.,
75633               autoconf,automake,bison,gnulib
75634         --gnulib-snapshot-date=DATE
75635               if gnulib is in the bootstrap tool list,
75636               then report this as the snapshot date.
75637               If not specified, use the current date/time.
75638               If you specify a date here, be sure it's UTC.
75639
75640 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75641
75642         * tests/test-argp-2.sh: Fix test to match actual output.
75643         (func_compare): Fix sed script to be portable.
75644
75645 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75646
75647         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75648         workaround for this case.  It is not autoconfigured now; offhand
75649         it's hard to see how to autoconfigure it.
75650
75651 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75652
75653         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75654         a directory that is about to be chowned.  Such a directory's
75655         initial file permissions should permit the owner only and this
75656         should not be changed until after the chown, since the group and
75657         other bits would be incorrect if they granted permission before
75658         the chown.
75659
75660         Fix porting problem for iswctype reported by Georg Schwarz in:
75661         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75662         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75663         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75664         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75665         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75666
75667 2006-12-03  Jim Meyering  <jim@meyering.net>
75668
75669         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75670         p->fts_statp may not yet be defined.
75671         (fts_read): Instead, set it in the caller, once p->fts_statp is
75672         sure to be defined, and corresponds to a top-level directory.
75673         This bug made du -x fail.  Here's the coreutils test case:
75674         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75675         Reported by Mike Frysinger.
75676
75677 2006-12-01  Jim Meyering  <jim@meyering.net>
75678
75679         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75680         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75681         Reported by Simon Josefsson.
75682
75683 2006-11-30  Jim Meyering  <jim@meyering.net>
75684
75685         * m4/warning.m4: Use the all-permissive copyright notice
75686         recommended by RMS (rather than LGPL).
75687         * m4/vararrays.m4: Likewise.
75688         * m4/flexmember.m4: Likewise.
75689
75690 2006-11-29  Bruno Haible  <bruno@clisp.org>
75691
75692         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75693         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75694         using +=.
75695         Reported by Simon Josefsson <simon@josefsson.org>.
75696
75697 2006-11-28  James Youngman <jay@gnu.org>
75698
75699         * README: Advise users that they might find the bug-gnulib@gnu.org
75700         and autotools-announce@gnu.org mailing lists useful.
75701
75702 2006-11-28  Bruno Haible  <bruno@clisp.org>
75703
75704         * m4/ptrdiff_max.m4: Remove file.
75705
75706 2006-11-21  Bruno Haible  <bruno@clisp.org>
75707
75708         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75709         _AC_COMPUTE_INT.
75710         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75711         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75712         _AC_COMPUTE_INT.
75713         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75714         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75715         _AC_COMPUTE_INT.
75716         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75717
75718 2006-11-28  Jim Meyering  <jim@meyering.net>
75719
75720         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75721         warning from "gcc -Wshadow" about shadowing the builtin.
75722
75723 2006-11-27  Bruno Haible  <bruno@clisp.org>
75724
75725         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75726         _AC_COMPUTE_INT.
75727         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75728
75729 2006-11-27  Bruno Haible  <bruno@clisp.org>
75730             Paul Eggert  <eggert@cs.ucla.edu>
75731
75732         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75733
75734 2006-11-26  Bruno Haible  <bruno@clisp.org>
75735
75736         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75737         noinst_LTLIBRARIES.
75738
75739 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75740             Bruno Haible  <bruno@clisp.org>
75741
75742         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75743         if compiling with "gcc -ansi".
75744
75745 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75746
75747         Fix some incompatibilities with gcc -ansi -pedantic.
75748         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75749         if compiling pedantically with GCC, unless it's C99 or later.
75750         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75751         it mishandles gcc -ansi -pedantic as well.
75752         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75753         if gcc -pedantic.
75754         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75755         initializers for struct if -pedantic, unless it's C99 or later.
75756
75757 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75758
75759         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75760         Don't close an fd more than once. Identical atimes indicate
75761         success, not failure.
75762
75763 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75764
75765         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75766
75767 2006-11-23  Jim Meyering  <jim@meyering.net>
75768
75769         * build-aux/announce-gen: New file.  From coreutils.
75770
75771 2006-11-22  Jim Meyering  <jim@meyering.net>
75772
75773         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75774         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75775         (fts_read): Use a temporary to narrow the overused st_size member
75776         before using it in a switch statement.  Reported by Matthew Woehlke.
75777
75778         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75779         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75780
75781 2006-11-20  Bruno Haible  <bruno@clisp.org>
75782
75783         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75784         changequote instead of pairs of brackets.
75785         Reported by Andreas Schwab <schwab@suse.de>.
75786
75787 2006-11-21  Jim Meyering  <jim@meyering.net>
75788
75789         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75790         so as to remain compatible with older compilers.
75791         Patch from Michael Deutschmann.
75792
75793 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75794
75795         * MODULES.html.sh (File system functions): Add openat.
75796
75797         * lib/openat.h (rpl_fstatat): New macro, if
75798         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75799         (fstatat): Define to rpl_fstatat under the same conditions,
75800         unless COMPILING_FSTATAT.
75801         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75802         seems to have the bug.
75803         * lib/fstatat.c: New file.
75804         * modules/openat (Files): Add it.
75805
75806 2006-11-20  Bruno Haible  <bruno@clisp.org>
75807
75808         * Makefile: New file.
75809
75810 2006-11-20  Jim Meyering  <jim@meyering.net>
75811
75812         The beginnings of syntax-related checks for gnulib.
75813         * lib/Makefile: New file.
75814         * lib/t-idcache: New script.  Ensure that the two halves of
75815         idcache.c stay in sync.
75816
75817         * lib/idcache.c: Adjust comments in user- and group- portions to
75818         be more accurate, and to be consistent with one another.
75819
75820 2006-11-20  Jim Meyering  <jim@meyering.net>
75821
75822         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75823         continue using the flexible array member (thus, this module performs
75824         half as many malloc calls), with the addition that...
75825         (getgroup, getuser): Consistently record a non-match via an empty
75826         "name" string, and map an empty string match to a NULL return value.
75827         * modules/idcache (Depends-on): Re-add flexmember.
75828
75829         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75830         (getuidbyname, getgroup, getgidbyname): Likewise.
75831
75832         Use cleaner syntax: NULL rather than 0.
75833         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75834
75835 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75836
75837         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75838         It mishandled the case where the group was missing.
75839         Problem reported by Greg Schafer.
75840         * modules/idcache: Likewise.
75841
75842 2006-11-18  Jim Meyering  <jim@meyering.net>
75843
75844         * check-module (%exempt_header): Add exception for some
75845         conditionally-included headers.
75846
75847         * modules/i-ring (Depends-on): Add verify.
75848         (License): Change to LGPL.
75849
75850 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75851
75852         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75853         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75854         and inttostr.h.  Use snprintf rather than uinttostr, so that
75855         LGPLed code doesn't depend on GPLed.
75856
75857 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75858
75859         * modules/inline (License): Change from GPL to LGPL.
75860
75861 2006-11-17  Jim Meyering  <jim@meyering.net>
75862
75863         * modules/d-type (License): Switch to LGPL.
75864
75865 2006-11-15  Bruno Haible  <bruno@clisp.org>
75866
75867         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75868
75869 2006-11-15  Eric Blake  <ebb9@byu.net>
75870
75871         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75872         the module dependency.
75873
75874 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75875             Bruno Haible  <bruno@clisp.org>
75876
75877         * gnulib-tool (func_create_testdir): Add license consistency check.
75878
75879 2006-11-15  Eric Blake  <ebb9@byu.net>
75880
75881         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75882         random "(cached)" in configure output.
75883
75884 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75885
75886         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75887         test for conforming inttypes.h is both announced and cached.
75888
75889         * MODULES.html.sh (seen_modules, seen_files): New variables.
75890         (func_module): Rewrite to use a few less gnulib-tool and sed
75891         invocations.  Avoid a couple of quadratic algorithms for ...
75892         (missed_modules, missed_files): ... these, with ...
75893         (func_append, func_tmpdir): ... these new functions, from
75894         gnulib-tool.  Analogously, install traps for cleanup.
75895
75896         * tests/test-gc.c (main): Remove unused variables.
75897         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75898
75899 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75900
75901         * modules/inttostr (License): Change to LGPL.
75902
75903 2006-11-14  Eric Blake  <ebb9@byu.net>
75904
75905         * modules/tempname (License): Change to LGPL.
75906
75907 2006-11-14  Eric Blake  <ebb9@byu.net>
75908
75909         * doc/functions.texi (Function Portability): *printf functions on
75910         Cygwin now understand all POSIX size specifiers.
75911
75912 2006-11-14  Bruno Haible  <bruno@clisp.org>
75913
75914         * modules/c-ctype (License): Change to LGPL.
75915
75916 2006-11-12  Bruno Haible  <bruno@clisp.org>
75917
75918         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75919         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75920         for GNOME libraries, for which the include files are installed in
75921         subdirectories of $prefix/include.
75922
75923 2006-11-12  Bruno Haible  <bruno@clisp.org>
75924
75925         * m4/lib-link.m4: Require at least autoconf-2.54.
75926         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75927         name to underscores for the --with option.
75928
75929 2006-11-13  Bruno Haible  <bruno@clisp.org>
75930
75931         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75932         the tests directory.
75933         Reported by Ralf Wildenhues.
75934
75935 2006-11-13  Bruno Haible  <bruno@clisp.org>
75936
75937         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75938         (func_emit_initmacro_end): Undo the override here.
75939         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75940         Works around the famous automake error in coreutils.
75941
75942 2006-11-13  Eric Blake  <ebb9@byu.net>
75943
75944         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75945         element, not its node.
75946
75947 2006-11-12  Bruno Haible  <bruno@clisp.org>
75948
75949         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75950         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75951
75952 2006-11-12  Bruno Haible  <bruno@clisp.org>
75953
75954         * gnulib-tool: New option --local-symlink.
75955         (func_usage): Document it.
75956         (lsymbolic): New variable.
75957         (func_import, func_create_testdir): If --symlink was not specified,
75958         test whether --local-symlink was specified and the file comes from
75959         the local_gnulib_dir.
75960
75961 2006-11-12  Bruno Haible  <bruno@clisp.org>
75962
75963         * gnulib-tool (func_ln): New function.
75964         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75965
75966 2006-11-12  Bruno Haible  <bruno@clisp.org>
75967
75968         Finish support for source files in subdirectories.
75969         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75970         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75971         AUTOMAKE_OPTIONS.
75972         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75973
75974 2006-11-12  Bruno Haible  <bruno@clisp.org>
75975
75976         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75977         EXTRA_lib_SOURCES augmentation.
75978         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75979
75980 2006-11-12  Jim Meyering  <jim@meyering.net>
75981
75982         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75983         file descriptors.  This also averts a failure on systems with
75984         native openat support when a traversed directory lacks "x" access.
75985         * lib/fts_.h: Include "i-ring.h"
75986         (struct FTS) [fts_fd_ring]: New member.
75987         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75988         (FCHDIR): Add parentheses.
75989         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75990         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75991         When descending, rather than simply closing the previous
75992         fts_cwd_fd value, push that file descriptor onto the ring.
75993         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75994         (fts_open): Initialize the new fd_ring member.
75995         (fts_close): Clear the ring.
75996         (fts_safe_changedir): When possible, use our new fd_ring to skip
75997         the diropen and fstat and dev/ino comparison that would normally
75998         accompany a virtual `chdir ("..")'.
75999
76000         * modules/fts (Depends-on): Add i-ring.
76001         * modules/i-ring: New module.
76002         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76003         * m4/i-ring.m4: New file.
76004
76005 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76006
76007         * gnulib-tool (func_create_testdir): Fix replacement of
76008         `build-aux' in configure.ac.  Run autotools in gltests
76009         subdirectory.
76010         (func_create_testdir, func_create_megatestdir, test): There is
76011         no need for '--force' in most autotool invocations in a new
76012         tree.  Actually fail the whole test if any of the tools, or the
76013         configure or make stages fail.
76014
76015         Sync from Automake.
76016         * build-aux/gnupload: Revert last change.  Add pointer to upload
76017         instructions of the GNU Maintenance Instructions.
76018         Suggestion by Karl Berry.
76019
76020 2006-11-10  Jim Meyering  <jim@meyering.net>
76021
76022         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76023
76024 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76025
76026         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76027         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76028         (bind_textdomain_codeset) [! ENABLE_NLS]:
76029         Evaluate all the arguments.  That way, callers get compatible behavior
76030         if the arguments have side effects.  Also, it avoids some GCC
76031         diagnostics in some cases; Joel E. Denny reported problems when Bison
76032         was configured with --enable-gcc-warnigs.
76033
76034 2006-11-10  Jim Meyering  <jim@meyering.net>
76035
76036         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76037         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76038         account.
76039
76040 2006-11-10  Jim Meyering  <jim@meyering.net>
76041
76042         * modules/inline: New file/module.
76043         * modules/xalloc (Files): Remove m4/inline.m4.
76044         (Depends-on): Add inline, instead.
76045         * modules/oset: Likewise.
76046         * modules/list: Likewise.
76047
76048 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76049
76050         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76051         Problem reported by Matthew Woehlke.
76052
76053 2006-11-09  Bruno Haible  <bruno@clisp.org>
76054
76055         * lib/tempname.c (gen_tempname): Remove variant that invokes
76056         __gen_tempname.
76057         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76058         __gen_tempname.
76059
76060 2006-11-08  Bruno Haible  <bruno@clisp.org>
76061
76062         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76063         to 'yes' instead of 'cross-compiling'.
76064
76065 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76066
76067         * lib/quotearg.h (quotearg_free): New decl.
76068         * lib/quotearg.c (quotearg_free): New function.
76069         (slot0, nslots, slotvec0, slotvec):
76070         Now file-scope so that quotearg_free can get at them.
76071
76072 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76073
76074         Sync from Automake.
76075         * build-aux/gnupload: Add missing 'gnu' to example URL.
76076         Report by Karl Berry.
76077
76078 2006-11-08  Bruno Haible  <bruno@clisp.org>
76079
76080         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
76081         Suggested by Paul Eggert.
76082
76083 2006-11-08  Jim Meyering  <jim@meyering.net>
76084
76085         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76086         It's already included if !_LIBC.
76087         (fts_safe_changedir): Add a comment.
76088
76089 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76090
76091         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76092         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76093         Matthew Woehlke.
76094
76095         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76096         definitions up, to avoid colliding with change below.
76097         (static_inline) [HAVE_INLINE]: New macro.
76098         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76099         Provide extern decls when !HAVE_INLINE.  Do not define unless
76100         static_inline is defined, either by us or by xmalloc.c.  Use
76101         static_inline rather than static inline.
76102         (XCALLOC): Optimize sizeof(T) = 1 case.
76103         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76104
76105 2006-11-07  Bruno Haible  <bruno@clisp.org>
76106
76107         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76108         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76109         AC_C_INLINE.
76110         * modules/xalloc (Files): Add m4/inline.m4.
76111
76112 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76113
76114         * README: Fix typo.
76115         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76116         (Miscellanous Notes): ...from this.
76117
76118 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76119
76120         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76121         Mention that offsetof should be used instead of sizeof.
76122         From Bruno Haible.
76123
76124 2006-11-07  Bruno Haible  <bruno@clisp.org>
76125
76126         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76127
76128 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76129
76130         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76131         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76132         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76133         (gl_tree_add_before, gl_tree_add_after):
76134         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76135         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76136         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76137         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76138         (gl_linked_add_after, gl_linked_add_at): Likewise.
76139         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76140         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76141         (gl_tree_add_before, gl_tree_add_after): Likewise.
76142         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76143         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76144         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76145
76146 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76147
76148         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76149
76150 2006-11-06  Bruno Haible  <bruno@clisp.org>
76151
76152         * m4/inline.m4: New file.
76153         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76154         * modules/list (Files): Add m4/inline.m4.
76155         * modules/oset (Files): Likewise.
76156
76157 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76158
76159         * lib/idcache.c: Include <stddef.h>, for offsetof.
76160         (struct userid.name): Change from char * to a flexible array member.
76161         All uses changed.
76162         * modules/idcache (Depends-on): Add flexmember.
76163
76164         * MODULES.html.sh (Core language properties): New module flexmember.
76165         * modules/flexmember, m4/flexmember.m4: New files.
76166
76167         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76168         inline functions that are identical with the old xnmalloc_inline,
76169         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76170         that we can avoid some unnecessary integer multiplications and
76171         divisions in the common case where the element size is known at
76172         compile time.
76173         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76174         needed.
76175         (xnboundedmalloc): Remove.
76176         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76177         arguments, for consistency with rest of this header.
76178         (xcharalloc): Rewrite using XNMALLOC.
76179         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76180         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76181         versions have been moved to lib/xalloc.h and renamed to be the
76182         non-*_inline versions.
76183         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76184         and xnrealloc functions, since those functions are now inline and
76185         now call us.
76186         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76187         renaming described above.
76188         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76189         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76190         captures the dependency in AC_C_INLINE.
76191
76192         New module canonicalize-lgpl, proposed by Charles Wilson in
76193         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76194         with a few small changes afterwards.
76195         * MODULES.html.sh (File system functions): New module
76196         canonicalize-lgpl.
76197         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76198         and canonicalize_file_name.
76199         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76200         * modules/canonicalize-lgpl: New files.
76201
76202 2006-11-05  Bruno Haible  <bruno@clisp.org>
76203
76204         * gnulib-tool (func_import, func_create_testdir): Create directories
76205         also for files in subdirectories of lib/.
76206
76207 2006-11-05  Bruno Haible  <bruno@clisp.org>
76208
76209         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76210         ANSI C compliant.
76211
76212 2006-11-03  Bruno Haible  <bruno@clisp.org>
76213
76214         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76215         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76216         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76217         (xnboundedmalloc): New inline function.
76218         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76219         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76220         xmalloc.
76221         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76222         xmalloc.
76223         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76224         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76225         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76226         xmalloc.
76227         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76228         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76229         xmalloc.
76230         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76231         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76232         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76233         xmalloc.
76234         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76235         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76236         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76237         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76238         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76239         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76240         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76241
76242 2006-11-03  Bruno Haible  <bruno@clisp.org>
76243
76244         * lib/c-ctype.h [C++]: Define functions without name mangling.
76245         * lib/fwriteerror.h [C++]: Likewise.
76246         * lib/gcd.h [C++]: Likewise.
76247         * lib/linebreak.h [C++]: Likewise.
76248
76249 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76250
76251         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76252         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76253         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76254         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76255         Check for functions and headers just once.
76256         Check for declaration of canonicalize_file_name.
76257         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76258
76259 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76260
76261         * gnulib-tool (func_import): Fix typo in actioncmd.
76262
76263 2006-11-02  Bruno Haible  <bruno@clisp.org>
76264
76265         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76266         newline sequence in the Makefile.am snippet as a space, like "make"
76267         does.
76268         Reported by Roger Persson <perrog@gmail.com>.
76269
76270 2006-11-01  Bruno Haible  <bruno@clisp.org>
76271
76272         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76273         already declared in <string.h>.
76274         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76275
76276 2006-11-01  Bruno Haible  <bruno@clisp.org>
76277
76278         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76279         * lib/strcase.h: Include <string.h>.
76280         (strcasecmp): Define to rpl_strcasecmp here.
76281
76282 2006-11-01  Bruno Haible  <bruno@clisp.org>
76283
76284         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76285
76286 2006-11-01  Eric Blake  <ebb9@byu.net>
76287
76288         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76289
76290         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76291
76292 2006-10-29  Bruno Haible  <bruno@clisp.org>
76293
76294         Make it compile in C++ mode.
76295         * lib/full-write.c (full_rw): Add a cast.
76296
76297 2006-11-01  Bruno Haible  <bruno@clisp.org>
76298
76299         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76300         be POSIX compliant.
76301         Reported by Roger Persson <perrog@gmail.com>.
76302
76303 2006-11-01  Eric Blake  <ebb9@byu.net>
76304
76305         * lib/getopt_.h: Fix comments.
76306
76307 2006-10-31  Eric Blake  <ebb9@byu.net>
76308
76309         * modules/tmpdir (Depends-on): Add sys_stat.
76310         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76311         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76312         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76313         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76314         tempname.
76315
76316 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76317
76318         Avoid some C++ diagnostics reported by Bruno Haible.
76319         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76320         xmalloc.
76321         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76322         (struct slotvec): Move to top level.
76323         (quotearg_n_options): Rewrite to avoid xmalloc.
76324         * lib/xalloc.h (xcharalloc): New function.
76325         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76326         [defined __cplusplus]: Add function template that provides result
76327         type propagation.  This part of the change is from Bruno Haible.
76328
76329 2006-10-29  Bruno Haible  <bruno@clisp.org>
76330
76331         Make it compile in C++ mode.
76332         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76333         * lib/strnlen1.c (strnlen1): Cast memchr result.
76334         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76335         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76336         (create_temp_dir): Rename local variable 'template'.
76337         (compile_csharp_using_sscli): Add cast.
76338         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76339         * lib/findprog.c (find_in_path): Likewise.
76340         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76341         * lib/wait-process.c (register_slave_subprocess): Likewise.
76342
76343 2006-10-22  Bruno Haible  <bruno@clisp.org>
76344
76345         * modules/tsearch: New file.
76346         * lib/tsearch.h: New file.
76347         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76348         * m4/tsearch.m4: New file.
76349         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76350
76351 2006-10-29  Eric Blake  <ebb9@byu.net>
76352
76353         * lib/arcfour.c: Assume config.h.
76354         * lib/arctwo.c: Likewise.
76355         * lib/base64.c: Likewise.
76356         * lib/check-version.c: Likewise.
76357         * lib/crc.c: Likewise.
76358         * lib/des.c: Likewise.
76359         * lib/gc-gnulib.c: Likewise.
76360         * lib/gc-libgcrypt.c: Likewise.
76361         * lib/gc-pbkdf2-sha1.c: Likewise.
76362         * lib/getaddrinfo.c: Likewise.
76363         * lib/getdelim.c: Likewise.
76364         * lib/getline.c: Likewise.
76365         * lib/hmac-md5.c: Likewise.
76366         * lib/hmac-sha1.c: Likewise.
76367         * lib/iconvme.c: Likewise.
76368         * lib/md2.c: Likewise.
76369         * lib/md4.c: Likewise.
76370         * lib/memxor.c: Likewise.
76371         * lib/read-file.c: Likewise.
76372         * lib/readline.c: Likewise.
76373         * lib/rijndael-alg-fst.c: Likewise.
76374         * lib/rijndael-api-fst.c: Likewise.
76375         * lib/xgetdomainname.c: Likewise.
76376
76377 2006-10-28  Eric Blake  <ebb9@byu.net>
76378
76379         * lib/xstrndup.c: Assume config.h.
76380
76381 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76382
76383         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76384         stat-macros.h is now for our own macros, whereas stat_h is for
76385         macros in the <sys/stat.h> name space.
76386         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76387         (STAT_MACROS_H): Remove.
76388         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76389         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76390         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76391         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76392         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76393         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76394         Move these macros to ...
76395         * lib/stat_.h: here.  Don't include stat-macros.h.
76396         * lib/canonicalize.c: Don't include stat-macros.h.
76397         * lib/chown.c: Likewise.
76398         * lib/euidaccess.c: Likewise.
76399         * lib/file-type.c: Likewise.
76400         * lib/filemode.c: Likewise.
76401         * lib/glob.c: Likewise.
76402         * lib/isapipe.c: Likewise.
76403         * lib/lchown.c: Likewise.
76404         * lib/lstat.c: Likewise.
76405         * lib/mkdir-p.c: Likewise.
76406         * lib/rmdir.c: Likewise.
76407         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76408         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76409         unless mkdir isn't declared, to speed up 'configure'.
76410         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76411         would define all the S_* symbols.
76412         * modules/canonicalize (Depends-on):
76413         Depend on sys_stat, not stat-macros.
76414         * modules/chown: Likewise.
76415         * modules/euidaccess: Likewise.
76416         * modules/filemode: Likewise.
76417         * modules/file-type: Likewise.
76418         * modules/glob: Likewise.
76419         * modules/isapipe: Likewise.
76420         * modules/lchown: Likewise.
76421         * modules/lstat: Likewise.
76422         * modules/mkancesdirs: Likewise.
76423         * modules/rmdir: Likewise.
76424         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76425         * modules/modechange: Likewise.
76426         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76427         (configure.ac): Remove gl_STAT_MACROS.
76428         * modules/sys_stat (Depends-on): Remove stat-macros.
76429
76430 2006-10-27  Bruno Haible  <bruno@clisp.org>
76431
76432         * m4/signed.m4: Remove file.
76433         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76434         invocation.
76435         * modules/vasnprintf (Files): Remove m4/signed.m4.
76436
76437 2006-10-27  Bruno Haible  <bruno@clisp.org>
76438
76439         Update to GNU gettext 0.16.
76440         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76441         m4/inttypes-h.m4, m4/signed.m4.
76442         * m4/gettext.m4: Update to GNU gettext 0.16.
76443         * m4/intl.m4: New file, from GNU gettext.
76444         * m4/intldir.m4: New file, from GNU gettext.
76445         * config/srclist.txt: Update
76446
76447 2006-10-27  Eric Blake  <ebb9@byu.net>
76448
76449         * MODULES.html.sh: Document tempname.
76450         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76451         dependencies.
76452         (Files): Move lib/tempname.c...
76453         * modules/tempname: ...to this new module.
76454         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76455         (gl_PREREQ_TEMPNAME): Move...
76456         * m4/tempname.m4: ...to this new file.
76457         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76458         * modules/sys_stat (Depends-on): Add stat-macros.
76459         * lib/stat_.h (includes): Pick up stat macros.
76460         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76461         if stat macros are broken.
76462         * lib/tempname.c (includes): No need to include "stat-macros.h".
76463         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76464         (direxists, __path_search) [!_LIBC]: Don't compile these in
76465         gnulib; the tmpdir module covers that.
76466         * lib/tempname.h: New file.
76467
76468 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76469
76470         * COPYING: Explain how gnulib-tool converts licence headers.
76471         Almost all wording by Eric Blake.
76472
76473 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76474
76475         * lib/mbchar.h (is_basic_table): Make read-only.
76476         * lib/mbchar.c (is_basic_table): Likewise.
76477         Reported by John Darrington.
76478
76479 2006-10-25  Bruno Haible  <bruno@clisp.org>
76480
76481         * lib/progname.h (set_program_name): Undefine before defining.
76482
76483 2006-10-25  Bruno Haible  <bruno@clisp.org>
76484
76485         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76486         false for non-gcc C++ compilers.
76487         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76488
76489 2006-10-24  Bruno Haible  <bruno@clisp.org>
76490
76491         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76492         iconv implementations like Irix iconv.
76493
76494 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76495
76496         * modules/vararrays: New file.
76497         * m4/vararrays.m4: New file, taken from diffutils.
76498         * MODULES.html.sh: New module vararrays.
76499
76500 2006-10-24  Karl Berry  <karl@gnu.org>
76501
76502         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76503         Don't call GNU Unix.
76504
76505 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76506
76507         * users.txt: Add Libtool.
76508
76509         Sync from Libtool:
76510
76511         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76512
76513         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76514         to gnulib's policy of including config.h unconditionally.
76515
76516 2006-10-24  Bruno Haible  <bruno@clisp.org>
76517
76518         * modules/wcwidth (Files): Add m4/wint_t.m4.
76519         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76520         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76521
76522 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76523
76524         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76525         to pacify GCC with some -W flags enabled.  Problem reported by
76526         Bruno Haible.
76527
76528 2006-10-24  Jim Meyering  <jim@meyering.net>
76529
76530         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76531         Reported by Karl Berry.
76532
76533 2006-10-23  Bruno Haible  <bruno@clisp.org>
76534
76535         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76536
76537 2006-10-24  Bruno Haible  <bruno@clisp.org>
76538
76539         * lib/gl_list.h: Use C comment style, not C++ comment style.
76540
76541 2006-10-23  Eric Blake  <ebb9@byu.net>
76542
76543         * lib/getaddrinfo.c (includes): Add missing include.
76544
76545 2006-10-23  Bruno Haible  <bruno@clisp.org>
76546             Paul Eggert  <eggert@cs.ucla.edu>
76547
76548         Ability to rename obstack_free.
76549         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76550         obstack_free.
76551         (obstack_free): Invoke the __obstack_free macro.
76552         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76553
76554 2006-10-23  Bruno Haible  <bruno@clisp.org>
76555             Paul Eggert  <eggert@cs.ucla.edu>
76556
76557         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76558         __argc, __argv from the declaration. (They are defined as macros on
76559         mingw.)
76560
76561 2006-10-22  Bruno Haible  <bruno@clisp.org>
76562
76563         * doc/gnulib-intro.texi: New file.
76564         * doc/gnulib.texi: Include it.
76565
76566 2006-10-21  Bruno Haible  <bruno@clisp.org>
76567
76568         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76569         "Introduction", "Miscellanous Notes", "Particular Modules".
76570
76571 2006-10-21  Bruno Haible  <bruno@clisp.org>
76572
76573         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76574         Change mostlyclean-local rule to avoid sh syntax error from bash
76575         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76576
76577 2006-10-23  Jim Meyering  <jim@meyering.net>
76578
76579         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76580         in place of snprintf.
76581
76582         * modules/inttostr (Files): Add lib/uinttostr.c.
76583         * lib/uinttostr.c (inttostr): New file/function.
76584         * lib/inttostr.h (uinttostr): Declare.
76585         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76586         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76587         Add uinttostr.
76588         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76589
76590 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76591
76592         * lib/canonicalize.c (ELOOP): Define if not already defined.
76593         Problem reported by Bruno Haible in
76594         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76595
76596 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76597
76598         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76599         Problem reported by Perry Smith and Ville Laurikari.
76600
76601         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76602         uses.
76603
76604 2006-10-19  Bruno Haible  <bruno@clisp.org>
76605
76606         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76607         for mingw.
76608
76609 2006-10-19  Bruno Haible  <bruno@clisp.org>
76610
76611         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76612         Needed for mingw.
76613
76614 2006-10-19  Bruno Haible  <bruno@clisp.org>
76615
76616         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76617
76618 2006-10-19  Bruno Haible  <bruno@clisp.org>
76619
76620         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76621         it.
76622
76623 2006-10-19  Bruno Haible  <bruno@clisp.org>
76624
76625         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76626         invocation.
76627
76628 2006-10-19  Bruno Haible  <bruno@clisp.org>
76629
76630         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76631         mountlist by default.
76632
76633 2006-10-16  Bruno Haible  <bruno@clisp.org>
76634
76635         * lib/c-strstr.c: Include c-strstr.h.
76636
76637 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76638
76639         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76640         in a slash.
76641
76642 2006-10-18  Bruno Haible  <bruno@clisp.org>
76643
76644         * lib/lock.h [C++]: Wrap definitions in extern "C".
76645
76646 2006-10-18  Bruno Haible  <bruno@clisp.org>
76647
76648         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76649         gl_LIBOBJS list.
76650
76651 2006-10-18  Bruno Haible  <bruno@clisp.org>
76652
76653         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76654
76655 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76656
76657         * lib/xstrtol.h: Include gettext.h.
76658         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76659         Problem reported by Eric Blake.
76660         * modules/xstrtol (Depends-on): Add gettext-h.
76661
76662 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76663
76664         * lib/strftime.c (advance): New macro.
76665         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76666         incomplete type, so you can't add 0 to it.  Problem and patch
76667         reported by Eelco Dolstra for dietlibc.
76668
76669 2006-10-18  Jim Meyering  <jim@meyering.net>
76670
76671         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76672         type for a local, and rename it: s/up/user_proc/.
76673
76674 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76675
76676         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76677         READ_UTMP_USER_PROCESS.
76678         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76679
76680 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76681
76682         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76683         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76684
76685 2006-10-17  Eric Blake  <ebb9@byu.net>
76686
76687         * lib/sigprocmask.c (sigprocmask): Fix typo.
76688
76689         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76690
76691         * modules/clean-temp (Makefile.am): Don't add to make output...
76692         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76693         config.h.
76694
76695 2006-10-17  Bruno Haible  <bruno@clisp.org>
76696
76697         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76698         differently if DEFAULT_TEXT_DOMAIN is set.
76699
76700 2006-10-16  Bruno Haible  <bruno@clisp.org>
76701
76702         * lib/clean-temp.c: Include fwriteerror.h.
76703
76704 2006-10-16  Bruno Haible  <bruno@clisp.org>
76705
76706         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76707
76708 2006-10-16  Bruno Haible  <bruno@clisp.org>
76709
76710         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76711         * lib/sigprocmask.h: Include <sys/types.h>.
76712         (sigset_t): Use the system's definition if present.
76713
76714 2006-10-17  Eric Blake  <ebb9@byu.net>
76715
76716         * lib/xvasprintf.c (includes): Assume config.h.
76717         * lib/xasprintf.c (includes): Likewise.
76718
76719 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76720
76721         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76722         at least as wide as intmax_t.
76723
76724 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76725
76726         (Imported from Automake.)
76727         * build-aux/gnupload: Update to version 1.1 of directive file.
76728
76729 2006-10-16  Eric Blake  <ebb9@byu.net>
76730
76731         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76732         match Automake 1.10a.
76733
76734 2006-10-14  Bruno Haible  <bruno@clisp.org>
76735
76736         * modules/sigprocmask: New file.
76737         * lib/sigprocmask.h: New file.
76738         * lib/sigprocmask.c: New file.
76739         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76740         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76741         request sigprocmask.o.
76742         (gl_PREREQ_SIGPROCMASK): New macro.
76743         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76744         (Depends-on): Add sigprocmask.
76745         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76746         gt_SIGNALBLOCKING. Test for 'raise' only once.
76747         * lib/fatal-signal.c: Include sigprocmask.h.
76748         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76749         unblock_fatal_signals): Define always.
76750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76751         sigprocmask.
76752
76753 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76754
76755         Sync from Automake.
76756         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76757         which incorrectly sets the mode of an existing destination
76758         directory.  In some cases the unpatched install-sh could do the
76759         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76760         system.  We hope this is rare in practice, but it's clearly worth
76761         fixing.  Problem reported by Alex Unleashed in
76762         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76763         Also, don't bother to check for -m bugs unless we're using -m;
76764         suggested by Stepan Kasal.
76765
76766 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76767
76768         Sync from Automake.
76769         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76770         `-c' flag, so they appear at the same position as in %FASTDEP%
76771         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76772         which ignores unknown options only after the first non-option.
76773         Bug report against M4 by Nelson H. F. Beebe.
76774
76775 2006-10-13  Jim Meyering  <jim@meyering.net>
76776
76777         Fix a bug in yesterday's change.
76778         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76779         p->fts_statp->st_dev would be used uninitialized.
76780         Ensures that we always call fts_stat on the very first entry.
76781         Miklos Szeredi reported that find -xdev stopped working.
76782
76783 2006-10-12  Bruno Haible  <bruno@clisp.org>
76784
76785         * gnulib-tool (func_get_automake_snippet): Append an automatically
76786         computed EXTRA_DIST augmentation.
76787         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76788         * modules/alloca-opt (Makefile.am): Likewise.
76789         * modules/allocsa (Makefile.am): Likewise.
76790         * modules/arcfour (Makefile.am): Likewise.
76791         * modules/arctwo (Makefile.am): Likewise.
76792         * modules/argmatch (Makefile.am): Likewise.
76793         * modules/argz (Makefile.am): Likewise.
76794         * modules/atexit (Makefile.am): Likewise.
76795         * modules/backupfile (Makefile.am): Likewise.
76796         * modules/byteswap (Makefile.am): Likewise.
76797         * modules/c-strtod (Makefile.am): Likewise.
76798         * modules/c-strtold (Makefile.am): Likewise.
76799         * modules/calloc (Makefile.am): Likewise.
76800         * modules/canon-host (Makefile.am): Likewise.
76801         * modules/canonicalize (Makefile.am): Likewise.
76802         * modules/chdir-long (Makefile.am): Likewise.
76803         * modules/chdir-safer (Makefile.am): Likewise.
76804         * modules/check-version (Makefile.am): Likewise.
76805         * modules/chown (Makefile.am): Likewise.
76806         * modules/cloexec (Makefile.am): Likewise.
76807         * modules/close-stream (Makefile.am): Likewise.
76808         * modules/closeout (Makefile.am): Likewise.
76809         * modules/crc (Makefile.am): Likewise.
76810         * modules/csharpexec (Makefile.am): Likewise.
76811         * modules/cycle-check (Makefile.am): Likewise.
76812         * modules/des (Makefile.am): Likewise.
76813         * modules/dev-ino (Makefile.am): Likewise.
76814         * modules/dirfd (Makefile.am): Likewise.
76815         * modules/dirname (Makefile.am): Likewise.
76816         * modules/dup2 (Makefile.am): Likewise.
76817         * modules/eealloc (Makefile.am): Likewise.
76818         * modules/error (Makefile.am): Likewise.
76819         * modules/euidaccess (Makefile.am): Likewise.
76820         * modules/exclude (Makefile.am): Likewise.
76821         * modules/exitfail (Makefile.am): Likewise.
76822         * modules/fcntl-safer (Makefile.am): Likewise.
76823         * modules/fcntl (Makefile.am): Likewise.
76824         * modules/file-type (Makefile.am): Likewise.
76825         * modules/fileblocks (Makefile.am): Likewise.
76826         * modules/filemode (Makefile.am): Likewise.
76827         * modules/filenamecat (Makefile.am): Likewise.
76828         * modules/fnmatch (Makefile.am): Likewise.
76829         * modules/fopen-safer (Makefile.am): Likewise.
76830         * modules/fpending (Makefile.am): Likewise.
76831         * modules/fprintftime (Makefile.am): Likewise.
76832         * modules/free (Makefile.am): Likewise.
76833         * modules/fsusage (Makefile.am): Likewise.
76834         * modules/ftruncate (Makefile.am): Likewise.
76835         * modules/fts (Makefile.am): Likewise.
76836         * modules/gc-arcfour (Makefile.am): Likewise.
76837         * modules/gc-des (Makefile.am): Likewise.
76838         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76839         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76840         * modules/gc-md4 (Makefile.am): Likewise.
76841         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76842         * modules/gc-sha1 (Makefile.am): Likewise.
76843         * modules/gc (Makefile.am): Likewise.
76844         * modules/getaddrinfo (Makefile.am): Likewise.
76845         * modules/getcwd (Makefile.am): Likewise.
76846         * modules/getdelim (Makefile.am): Likewise.
76847         * modules/getdomainname (Makefile.am): Likewise.
76848         * modules/getgroups (Makefile.am): Likewise.
76849         * modules/gethostname (Makefile.am): Likewise.
76850         * modules/gethrxtime (Makefile.am): Likewise.
76851         * modules/getline (Makefile.am): Likewise.
76852         * modules/getloadavg (Makefile.am): Likewise.
76853         * modules/getlogin_r (Makefile.am): Likewise.
76854         * modules/getndelim2 (Makefile.am): Likewise.
76855         * modules/getopt (Makefile.am): Likewise.
76856         * modules/getpagesize (Makefile.am): Likewise.
76857         * modules/getpass-gnu (Makefile.am): Likewise.
76858         * modules/getpass (Makefile.am): Likewise.
76859         * modules/getsubopt (Makefile.am): Likewise.
76860         * modules/gettime (Makefile.am): Likewise.
76861         * modules/gettimeofday (Makefile.am): Likewise.
76862         * modules/getugroups (Makefile.am): Likewise.
76863         * modules/getusershell (Makefile.am): Likewise.
76864         * modules/glob (Makefile.am): Likewise.
76865         * modules/group-member (Makefile.am): Likewise.
76866         * modules/hard-locale (Makefile.am): Likewise.
76867         * modules/hash (Makefile.am): Likewise.
76868         * modules/hmac-md5 (Makefile.am): Likewise.
76869         * modules/hmac-sha1 (Makefile.am): Likewise.
76870         * modules/human (Makefile.am): Likewise.
76871         * modules/idcache (Makefile.am): Likewise.
76872         * modules/imaxabs (Makefile.am): Likewise.
76873         * modules/imaxdiv (Makefile.am): Likewise.
76874         * modules/inet_ntop (Makefile.am): Likewise.
76875         * modules/inet_pton (Makefile.am): Likewise.
76876         * modules/intprops (Makefile.am): Likewise.
76877         * modules/inttostr (Makefile.am): Likewise.
76878         * modules/inttypes (Makefile.am): Likewise.
76879         * modules/isapipe (Makefile.am): Likewise.
76880         * modules/javaversion (Makefile.am): Likewise.
76881         * modules/lchmod (Makefile.am): Likewise.
76882         * modules/lchown (Makefile.am): Likewise.
76883         * modules/localcharset (Makefile.am): Likewise.
76884         * modules/long-options (Makefile.am): Likewise.
76885         * modules/lstat (Makefile.am): Likewise.
76886         * modules/malloc (Makefile.am): Likewise.
76887         * modules/mathl (Makefile.am): Likewise.
76888         * modules/mbchar (Makefile.am): Likewise.
76889         * modules/md2 (Makefile.am): Likewise.
76890         * modules/md4 (Makefile.am): Likewise.
76891         * modules/md5 (Makefile.am): Likewise.
76892         * modules/memcasecmp (Makefile.am): Likewise.
76893         * modules/memchr (Makefile.am): Likewise.
76894         * modules/memcmp (Makefile.am): Likewise.
76895         * modules/memcoll (Makefile.am): Likewise.
76896         * modules/memcpy (Makefile.am): Likewise.
76897         * modules/memmem (Makefile.am): Likewise.
76898         * modules/memmove (Makefile.am): Likewise.
76899         * modules/mempcpy (Makefile.am): Likewise.
76900         * modules/memrchr (Makefile.am): Likewise.
76901         * modules/memset (Makefile.am): Likewise.
76902         * modules/memxor (Makefile.am): Likewise.
76903         * modules/mkancesdirs (Makefile.am): Likewise.
76904         * modules/mkdir-p (Makefile.am): Likewise.
76905         * modules/mkdir (Makefile.am): Likewise.
76906         * modules/mkdtemp (Makefile.am): Likewise.
76907         * modules/mkstemp (Makefile.am): Likewise.
76908         * modules/mktime (Makefile.am): Likewise.
76909         * modules/modechange (Makefile.am): Likewise.
76910         * modules/mountlist (Makefile.am): Likewise.
76911         * modules/nanosleep (Makefile.am): Likewise.
76912         * modules/obstack (Makefile.am): Likewise.
76913         * modules/openat (Makefile.am): Likewise.
76914         * modules/pagealign_alloc (Makefile.am): Likewise.
76915         * modules/pathmax (Makefile.am): Likewise.
76916         * modules/physmem (Makefile.am): Likewise.
76917         * modules/poll (Makefile.am): Likewise.
76918         * modules/posixtm (Makefile.am): Likewise.
76919         * modules/posixver (Makefile.am): Likewise.
76920         * modules/putenv (Makefile.am): Likewise.
76921         * modules/quote (Makefile.am): Likewise.
76922         * modules/quotearg (Makefile.am): Likewise.
76923         * modules/raise (Makefile.am): Likewise.
76924         * modules/read-file (Makefile.am): Likewise.
76925         * modules/readline (Makefile.am): Likewise.
76926         * modules/readlink (Makefile.am): Likewise.
76927         * modules/readtokens (Makefile.am): Likewise.
76928         * modules/readutmp (Makefile.am): Likewise.
76929         * modules/realloc (Makefile.am): Likewise.
76930         * modules/regex (Makefile.am): Likewise.
76931         * modules/rename-dest-slash (Makefile.am): Likewise.
76932         * modules/rename (Makefile.am): Likewise.
76933         * modules/rijndael (Makefile.am): Likewise.
76934         * modules/rmdir (Makefile.am): Likewise.
76935         * modules/rpmatch (Makefile.am): Likewise.
76936         * modules/safe-read (Makefile.am): Likewise.
76937         * modules/safe-write (Makefile.am): Likewise.
76938         * modules/same-inode (Makefile.am): Likewise.
76939         * modules/same (Makefile.am): Likewise.
76940         * modules/save-cwd (Makefile.am): Likewise.
76941         * modules/savedir (Makefile.am): Likewise.
76942         * modules/setenv (Makefile.am): Likewise.
76943         * modules/settime (Makefile.am): Likewise.
76944         * modules/sha1 (Makefile.am): Likewise.
76945         * modules/sig2str (Makefile.am): Likewise.
76946         * modules/snprintf (Makefile.am): Likewise.
76947         * modules/stat-macros (Makefile.am): Likewise.
76948         * modules/stat-time (Makefile.am): Likewise.
76949         * modules/stdbool (Makefile.am): Likewise.
76950         * modules/stdint (Makefile.am): Likewise.
76951         * modules/stdlib-safer (Makefile.am): Likewise.
76952         * modules/stpcpy (Makefile.am): Likewise.
76953         * modules/stpncpy (Makefile.am): Likewise.
76954         * modules/strcase (Makefile.am): Likewise.
76955         * modules/strcasestr (Makefile.am): Likewise.
76956         * modules/strchrnul (Makefile.am): Likewise.
76957         * modules/strcspn (Makefile.am): Likewise.
76958         * modules/strdup (Makefile.am): Likewise.
76959         * modules/strerror (Makefile.am): Likewise.
76960         * modules/strftime (Makefile.am): Likewise.
76961         * modules/strndup (Makefile.am): Likewise.
76962         * modules/strnlen (Makefile.am): Likewise.
76963         * modules/strpbrk (Makefile.am): Likewise.
76964         * modules/strsep (Makefile.am): Likewise.
76965         * modules/strstr (Makefile.am): Likewise.
76966         * modules/strtod (Makefile.am): Likewise.
76967         * modules/strtoimax (Makefile.am): Likewise.
76968         * modules/strtok_r (Makefile.am): Likewise.
76969         * modules/strtol (Makefile.am): Likewise.
76970         * modules/strtoll (Makefile.am): Likewise.
76971         * modules/strtoul (Makefile.am): Likewise.
76972         * modules/strtoull (Makefile.am): Likewise.
76973         * modules/strtoumax (Makefile.am): Likewise.
76974         * modules/strverscmp (Makefile.am): Likewise.
76975         * modules/sys_socket (Makefile.am): Likewise.
76976         * modules/sys_stat (Makefile.am): Likewise.
76977         * modules/sysexits (Makefile.am): Likewise.
76978         * modules/time_r (Makefile.am): Likewise.
76979         * modules/timegm (Makefile.am): Likewise.
76980         * modules/timespec (Makefile.am): Likewise.
76981         * modules/tmpfile-safer (Makefile.am): Likewise.
76982         * modules/trim (Makefile.am): Likewise.
76983         * modules/unistd-safer (Makefile.am): Likewise.
76984         * modules/unlinkdir (Makefile.am): Likewise.
76985         * modules/unlocked-io (Makefile.am): Likewise.
76986         * modules/userspec (Makefile.am): Likewise.
76987         * modules/utime (Makefile.am): Likewise.
76988         * modules/utimecmp (Makefile.am): Likewise.
76989         * modules/utimens (Makefile.am): Likewise.
76990         * modules/vasnprintf (Makefile.am): Likewise.
76991         * modules/vasprintf (Makefile.am): Likewise.
76992         * modules/vsnprintf (Makefile.am): Likewise.
76993         * modules/xalloc (Makefile.am): Likewise.
76994         * modules/xgetcwd (Makefile.am): Likewise.
76995         * modules/xnanosleep (Makefile.am): Likewise.
76996         * modules/xreadlink (Makefile.am): Likewise.
76997         * modules/xstrtod (Makefile.am): Likewise.
76998         * modules/xstrtol (Makefile.am): Likewise.
76999         * modules/xstrtold (Makefile.am): Likewise.
77000         * modules/yesno (Makefile.am): Likewise.
77001         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77002
77003 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77004
77005         * modules/error (Makefile.am): Distribute files through
77006         EXTRA_DIST, not lib_SOURCES.
77007
77008 2006-10-12  Eric Blake  <ebb9@byu.net>
77009
77010         * modules/error (Makefile.am): Distribute files in /lib.
77011         * modules/obstack (Makefile.am): Likewise.
77012
77013 2006-10-12  Bruno Haible  <bruno@clisp.org>
77014
77015         * modules/acl (Makefile.am): Distribute all files in lib/ through
77016         EXTRA_DIST.
77017         * modules/arcfour (Makefile.am): Likewise.
77018         * modules/arctwo (Makefile.am): Likewise.
77019         * modules/argmatch (Makefile.am): Likewise.
77020         * modules/argz (Makefile.am): Likewise.
77021         * modules/atexit (Makefile.am): Likewise.
77022         * modules/backupfile (Makefile.am): Likewise.
77023         * modules/c-strtod (Makefile.am): Likewise.
77024         * modules/c-strtold (Makefile.am): Likewise.
77025         * modules/calloc (Makefile.am): Likewise.
77026         * modules/canon-host (Makefile.am): Likewise.
77027         * modules/canonicalize (Makefile.am): Likewise.
77028         * modules/chdir-long (Makefile.am): Likewise.
77029         * modules/chdir-safer (Makefile.am): Likewise.
77030         * modules/check-version (Makefile.am): Likewise.
77031         * modules/chown (Makefile.am): Likewise.
77032         * modules/cloexec (Makefile.am): Likewise.
77033         * modules/close-stream (Makefile.am): Likewise.
77034         * modules/closeout (Makefile.am): Likewise.
77035         * modules/crc (Makefile.am): Likewise.
77036         * modules/cycle-check (Makefile.am): Likewise.
77037         * modules/des (Makefile.am): Likewise.
77038         * modules/dirfd (Makefile.am): Likewise.
77039         * modules/dirname (Makefile.am): Likewise.
77040         * modules/dup2 (Makefile.am): Likewise.
77041         * modules/euidaccess (Makefile.am): Likewise.
77042         * modules/exclude (Makefile.am): Likewise.
77043         * modules/exitfail (Makefile.am): Likewise.
77044         * modules/fcntl-safer (Makefile.am): Likewise.
77045         * modules/file-type (Makefile.am): Likewise.
77046         * modules/fileblocks (Makefile.am): Likewise.
77047         * modules/filemode (Makefile.am): Likewise.
77048         * modules/filenamecat (Makefile.am): Likewise.
77049         * modules/fnmatch (Makefile.am): Likewise.
77050         * modules/fopen-safer (Makefile.am): Likewise.
77051         * modules/fpending (Makefile.am): Likewise.
77052         * modules/fprintftime (Makefile.am): Likewise.
77053         * modules/free (Makefile.am): Likewise.
77054         * modules/fsusage (Makefile.am): Likewise.
77055         * modules/ftruncate (Makefile.am): Likewise.
77056         * modules/fts (Makefile.am): Likewise.
77057         * modules/gc (Makefile.am): Likewise.
77058         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77059         * modules/getaddrinfo (Makefile.am): Likewise.
77060         * modules/getcwd (Makefile.am): Likewise.
77061         * modules/getdelim (Makefile.am): Likewise.
77062         * modules/getdomainname (Makefile.am): Likewise.
77063         * modules/getgroups (Makefile.am): Likewise.
77064         * modules/gethostname (Makefile.am): Likewise.
77065         * modules/gethrxtime (Makefile.am): Likewise.
77066         * modules/getline (Makefile.am): Likewise.
77067         * modules/getloadavg (Makefile.am): Likewise.
77068         * modules/getlogin_r (Makefile.am): Likewise.
77069         * modules/getopt (Makefile.am): Likewise.
77070         * modules/getpass (Makefile.am): Likewise.
77071         * modules/getpass-gnu (Makefile.am): Likewise.
77072         * modules/getsubopt (Makefile.am): Likewise.
77073         * modules/gettime (Makefile.am): Likewise.
77074         * modules/gettimeofday (Makefile.am): Likewise.
77075         * modules/getugroups (Makefile.am): Likewise.
77076         * modules/getusershell (Makefile.am): Likewise.
77077         * modules/glob (Makefile.am): Likewise.
77078         * modules/group-member (Makefile.am): Likewise.
77079         * modules/hard-locale (Makefile.am): Likewise.
77080         * modules/hash (Makefile.am): Likewise.
77081         * modules/hmac-md5 (Makefile.am): Likewise.
77082         * modules/hmac-sha1 (Makefile.am): Likewise.
77083         * modules/human (Makefile.am): Likewise.
77084         * modules/idcache (Makefile.am): Likewise.
77085         * modules/imaxabs (Makefile.am): Likewise.
77086         * modules/imaxdiv (Makefile.am): Likewise.
77087         * modules/inet_ntop (Makefile.am): Likewise.
77088         * modules/inet_pton (Makefile.am): Likewise.
77089         * modules/inttostr (Makefile.am): Likewise.
77090         * modules/isapipe (Makefile.am): Likewise.
77091         * modules/lchown (Makefile.am): Likewise.
77092         * modules/long-options (Makefile.am): Likewise.
77093         * modules/lstat (Makefile.am): Likewise.
77094         * modules/malloc (Makefile.am): Likewise.
77095         * modules/mathl (Makefile.am): Likewise.
77096         * modules/mbchar (Makefile.am): Likewise.
77097         * modules/md2 (Makefile.am): Likewise.
77098         * modules/md4 (Makefile.am): Likewise.
77099         * modules/md5 (Makefile.am): Likewise.
77100         * modules/memcasecmp (Makefile.am): Likewise.
77101         * modules/memchr (Makefile.am): Likewise.
77102         * modules/memcmp (Makefile.am): Likewise.
77103         * modules/memcoll (Makefile.am): Likewise.
77104         * modules/memcpy (Makefile.am): Likewise.
77105         * modules/memmem (Makefile.am): Likewise.
77106         * modules/memmove (Makefile.am): Likewise.
77107         * modules/mempcpy (Makefile.am): Likewise.
77108         * modules/memrchr (Makefile.am): Likewise.
77109         * modules/memset (Makefile.am): Likewise.
77110         * modules/memxor (Makefile.am): Likewise.
77111         * modules/mkancesdirs (Makefile.am): Likewise.
77112         * modules/mkdir (Makefile.am): Likewise.
77113         * modules/mkdir-p (Makefile.am): Likewise.
77114         * modules/mkdtemp (Makefile.am): Likewise.
77115         * modules/mkstemp (Makefile.am): Likewise.
77116         * modules/mktime (Makefile.am): Likewise.
77117         * modules/modechange (Makefile.am): Likewise.
77118         * modules/mountlist (Makefile.am): Likewise.
77119         * modules/nanosleep (Makefile.am): Likewise.
77120         * modules/openat (Makefile.am): Likewise.
77121         * modules/pagealign_alloc (Makefile.am): Likewise.
77122         * modules/physmem (Makefile.am): Likewise.
77123         * modules/poll (Makefile.am): Likewise.
77124         * modules/posixtm (Makefile.am): Likewise.
77125         * modules/posixver (Makefile.am): Likewise.
77126         * modules/putenv (Makefile.am): Likewise.
77127         * modules/quote (Makefile.am): Likewise.
77128         * modules/quotearg (Makefile.am): Likewise.
77129         * modules/raise (Makefile.am): Likewise.
77130         * modules/read-file (Makefile.am): Likewise.
77131         * modules/readline (Makefile.am): Likewise.
77132         * modules/readlink (Makefile.am): Likewise.
77133         * modules/readtokens (Makefile.am): Likewise.
77134         * modules/readutmp (Makefile.am): Likewise.
77135         * modules/realloc (Makefile.am): Likewise.
77136         * modules/regex (Makefile.am): Likewise.
77137         * modules/rename (Makefile.am): Likewise.
77138         * modules/rename-dest-slash (Makefile.am): Likewise.
77139         * modules/rijndael (Makefile.am): Likewise.
77140         * modules/rmdir (Makefile.am): Likewise.
77141         * modules/rpmatch (Makefile.am): Likewise.
77142         * modules/safe-read (Makefile.am): Likewise.
77143         * modules/safe-write (Makefile.am): Likewise.
77144         * modules/same (Makefile.am): Likewise.
77145         * modules/save-cwd (Makefile.am): Likewise.
77146         * modules/savedir (Makefile.am): Likewise.
77147         * modules/setenv (Makefile.am): Likewise.
77148         * modules/settime (Makefile.am): Likewise.
77149         * modules/sha1 (Makefile.am): Likewise.
77150         * modules/sig2str (Makefile.am): Likewise.
77151         * modules/snprintf (Makefile.am): Likewise.
77152         * modules/stdlib-safer (Makefile.am): Likewise.
77153         * modules/stpcpy (Makefile.am): Likewise.
77154         * modules/stpncpy (Makefile.am): Likewise.
77155         * modules/strcase (Makefile.am): Likewise.
77156         * modules/strcasestr (Makefile.am): Likewise.
77157         * modules/strchrnul (Makefile.am): Likewise.
77158         * modules/strcspn (Makefile.am): Likewise.
77159         * modules/strdup (Makefile.am): Likewise.
77160         * modules/strerror (Makefile.am): Likewise.
77161         * modules/strftime (Makefile.am): Likewise.
77162         * modules/strndup (Makefile.am): Likewise.
77163         * modules/strnlen (Makefile.am): Likewise.
77164         * modules/strpbrk (Makefile.am): Likewise.
77165         * modules/strsep (Makefile.am): Likewise.
77166         * modules/strstr (Makefile.am): Likewise.
77167         * modules/strtod (Makefile.am): Likewise.
77168         * modules/strtoimax (Makefile.am): Likewise.
77169         * modules/strtok_r (Makefile.am): Likewise.
77170         * modules/strtol (Makefile.am): Likewise.
77171         * modules/strtoll (Makefile.am): Likewise.
77172         * modules/strtoul (Makefile.am): Likewise.
77173         * modules/strtoull (Makefile.am): Likewise.
77174         * modules/strtoumax (Makefile.am): Likewise.
77175         * modules/strverscmp (Makefile.am): Likewise.
77176         * modules/time_r (Makefile.am): Likewise.
77177         * modules/timegm (Makefile.am): Likewise.
77178         * modules/tmpfile-safer (Makefile.am): Likewise.
77179         * modules/unistd-safer (Makefile.am): Likewise.
77180         * modules/unlinkdir (Makefile.am): Likewise.
77181         * modules/userspec (Makefile.am): Likewise.
77182         * modules/utime (Makefile.am): Likewise.
77183         * modules/utimecmp (Makefile.am): Likewise.
77184         * modules/utimens (Makefile.am): Likewise.
77185         * modules/vasnprintf (Makefile.am): Likewise.
77186         * modules/vasprintf (Makefile.am): Likewise.
77187         * modules/vsnprintf (Makefile.am): Likewise.
77188         * modules/xalloc (Makefile.am): Likewise.
77189         * modules/xgetcwd (Makefile.am): Likewise.
77190         * modules/xnanosleep (Makefile.am): Likewise.
77191         * modules/xreadlink (Makefile.am): Likewise.
77192         * modules/xstrtod (Makefile.am): Likewise.
77193         * modules/xstrtol (Makefile.am): Likewise.
77194         * modules/xstrtold (Makefile.am): Likewise.
77195         * modules/yesno (Makefile.am): Likewise.
77196
77197 2006-10-12  Jim Meyering  <jim@meyering.net>
77198
77199         * m4/getloadavg.m4: Revert the change below.
77200
77201         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77202         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77203         fail with a symlink, which is what coreutils' ./bootstrap now
77204         creates by default.
77205
77206 2006-10-12  Bruno Haible  <bruno@clisp.org>
77207
77208         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77209         mingw.
77210         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77211         MSVC and mingw explicitly.
77212
77213 2006-10-11  Simon Josefsson  <jas@extundo.com>
77214             Bruno Haible  <bruno@clisp.org>
77215
77216         Add support for multiple gnulib-tool invocations in the scope of a
77217         single configure.ac file.
77218         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77219         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77220         with the same contents as the _LIBADD variable.
77221         (func_emit_initmacro_start, func_emit_initmacro_end,
77222         func_emit_initmacro_done): New functions.
77223         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77224         gl_LIBOBJS and gl_LTLIBOBJS.
77225
77226 2006-10-11  Bruno Haible  <bruno@clisp.org>
77227
77228         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77229         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77230         autoreconf. Instead, invoke autopoint explicitly but move back the
77231         *.m4 files from gnulib.
77232
77233 2006-10-11  Bruno Haible  <bruno@clisp.org>
77234
77235         * gnulib-tool (func_usage): Make module names after --create-testdir
77236         optional.
77237         (func_create_testdir): If no module was specified, use nearly all
77238         modules.
77239
77240 2006-10-12  Jim Meyering  <jim@meyering.net>
77241
77242         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77243         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77244         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77245         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77246         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77247         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77248         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77249         (fts_set_stat_required): New function.
77250         (fts_open): Defer the calls to fts_stat, if possible or requested.
77251         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77252         into fts_stat itself.
77253         (fts_read): Perform any required (deferred) fts_stat call.
77254         (fts_build): Likewise, for the directory we're about to open and read.
77255         In the readdir loop, carefully decide whether each entry will require
77256         an eventual call to fts_stat, using dirent.d_type info if available.
77257         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77258         a command line argument into this function.  Update all callers.
77259         Map a return value of FTS_DOT to FTS_D for a command line argument.
77260         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77261         Thanks to Miklos Szeredi for his tenacity and for the initial
77262         bug report about "find" failing on a FUSE-based file system.
77263
77264         * lib/fts.c (fts_open): Use consistent indentation.
77265
77266 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77267
77268         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77269         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77270         reported by Jim Meyering.  All uses of cache variables renamed
77271         to match Autoconf's.
77272         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77273         the other one.
77274
77275         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77276         Fix misspelling in diagnostic.
77277
77278 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77279
77280         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77281         defined.  Problem reported by Matthew Woehlke.
77282
77283         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77284         Add support for Tandem NonStop R series.
77285         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77286         Use new macro.
77287
77288         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77289         (has_trailing_slash): Omit size arg; all callers changed.
77290         Omit 'inline', since it doesn't help performance and we'd
77291         need to configure it.
77292         Don't count //, ///, etc. as having a trailing slash.
77293         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77294         (rpl_rename_dest_slash): On failure, use rename's errno rather
77295         than (in some cases) an incorrect or junk errno.
77296         Simplify code by removing need to compute length; this does
77297         cause it to make two passes instead of one over the file name,
77298         but it's worth it.
77299
77300         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77301         change, since Autoconf's version may no longer be appropriate now
77302         that we are using CVS Autoconf's version.  Add support for Tandem.
77303
77304 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77305             Bruno Haible  <bruno@clisp.org>
77306
77307         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77308         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77309         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77310         gl_AC_TYPE_LONG_LONG.
77311
77312         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77313         instead of HAVE_LONG_LONG.
77314         * lib/printf-args.c (printf_fetchargs): Likewise.
77315         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77316         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77317         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77318         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77319         gl_AC_TYPE_LONG_LONG.
77320
77321 2006-10-11  Bruno Haible  <bruno@clisp.org>
77322
77323         * m4/longlong.m4: Add comments.
77324         * m4/ulonglong.m4: Likewise.
77325
77326 2006-10-10  Bruno Haible  <bruno@clisp.org>
77327
77328         Make it possible to #define stpcpy, strdup to aliases.
77329         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77330         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77331
77332 2006-10-10  Bruno Haible  <bruno@clisp.org>
77333
77334         Make it possible to #define gcd to an alias.
77335         * lib/gcd.c: Include config.h.
77336
77337 2006-10-10  Bruno Haible  <bruno@clisp.org>
77338
77339         Make it possible to #define c_isascii to an alias.
77340         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77341         defined. Undefine the macros before defining them, to avoid gcc
77342         warnings.
77343         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77344         define NO_C_CTYPE_MACROS early.
77345
77346 2006-10-10  Bruno Haible  <bruno@clisp.org>
77347
77348         Make it possible to #define set_program_name to an alias.
77349         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77350         ENABLE_RELOCATABLE early.
77351
77352 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77353
77354         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77355         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77356         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77357         More generally, don't assume that 64-bit signed int is available
77358         if unsigned int is, and vice versa.
77359         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77360         unsigned symbols, not on their signed counterparts.
77361         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77362         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77363         (UINT64_C, UINTMAX_C):
77364         Likewise.
77365         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77366         unsigned counterparts.
77367         (Have_long_long, Unsigned): New macros.
77368         (Int): Renamed from INT.
77369         (strtoimax): Use the new macros.
77370         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77371         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77372         * modules/inttypes (inttypes.h): Substitute
77373         HAVE_UNSIGNED_LONG_LONG_INT.
77374         * modules/stdint (stdint.h): Likewise.
77375         (Files): Add m4/ulonglong.m4.
77376
77377 2006-10-10  Bruno Haible  <bruno@clisp.org>
77378
77379         Fix a gcc -Wshadow warning.
77380         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77381         to 'bucket'.
77382         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77383         gl_linked_indexof_from_to): Likewise.
77384         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77385         Likewise.
77386         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77387         Likewise.
77388         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77389         Reported by Eric Blake.
77390
77391 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77392
77393         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77394         for NetBSD.  Problem reported by Bruno Haible.
77395
77396 2006-10-09  Jim Meyering  <jim@meyering.net>
77397
77398         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77399         Patch from Bruno Haible.
77400
77401 2006-10-09  Jim Meyering  <jim@meyering.net>
77402
77403         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77404         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77405         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77406
77407 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77408
77409         Don't include <config.h> twice; this doesn't work in some cases,
77410         e.g., when config.h has "#define intmax_t long long int" and
77411         we include <config.h>, <inttypes.h>, <config.h> in that order.
77412         Problem reported by Matthew Woehlke in:
77413         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77414         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77415         * lib/fts-cycle.c: Don't include config.h.
77416         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77417         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77418         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77419         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77420         inttypes.h.
77421         * lib/xstrtoumax.c: Likewise.
77422         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77423         __strtol and the like, so that this module is more like its siblings.
77424         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77425         Remove; no longer needed now that we assume gnulib inttypes.h.
77426
77427 2006-10-08  Bruno Haible  <bruno@clisp.org>
77428
77429         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77430         option.
77431
77432 2006-10-07  Jim Meyering  <jim@meyering.net>
77433
77434         * modules/inttypes (inttypes.h): Revert what seems to have been
77435         an inadvertent part of today's change: use "|", not "/" in the
77436         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77437
77438 2006-10-07  Bruno Haible  <bruno@clisp.org>
77439
77440         * modules/sublist: New file.
77441
77442 2006-10-07  Bruno Haible  <bruno@clisp.org>
77443
77444         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77445         * modules/argz (argz.h): Likewise.
77446         * modules/arpa_inet (arpa/inet.h): Likewise.
77447         * modules/byteswap (byteswap.h): Likewise.
77448         * modules/configmake (configmake.h): Likewise.
77449         * modules/fcntl (fcntl.h): Likewise.
77450         * modules/fnmatch (fnmatch.h): Likewise.
77451         * modules/getopt (getopt.h): Likewise.
77452         * modules/glob (glob.h): Likewise.
77453         * modules/inttypes (inttypes.h): Likewise.
77454         * modules/netinet_in (netinet/in.h): Likewise.
77455         * modules/poll (poll.h): Likewise.
77456         * modules/stdbool (stdbool.h): Likewise.
77457         * modules/stdint (stdint.h): Likewise.
77458         * modules/sys_select (sys/select.h): Likewise.
77459         * modules/sys_socket (sys/socket.h): Likewise.
77460         * modules/sys_stat (sys/stat.h): Likewise.
77461         * modules/sysexits (sysexits.h): Likewise.
77462         * modules/unistd (unistd.h): Likewise.
77463         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77464         Add a "DO NOT EDIT" comment to the generated file.
77465         (func_import): Likewise for gnulib-comp.m4.
77466
77467 2006-10-07  Bruno Haible  <bruno@clisp.org>
77468
77469         * lib/gl_sublist.h: New file.
77470         * lib/gl_sublist.c: New file.
77471
77472 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77473
77474         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77475         name (relative to the original working directory) and the file
77476         name component (relative to the temporary working directory).  All
77477         callers changed.
77478         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77479         * lib/mkdir-p.c (make_dir_parents): Likewise.
77480         * lib/mkdir-p.h (make_dir_parents): Likewise.
77481
77482 2006-10-06  Eric Blake  <ebb9@byu.net>
77483
77484         Define several macros for use by the clean-temp module.
77485         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77486         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77487         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77488
77489         * lib/clean-temp.h (close_stream_temp): New declaration.
77490         * lib/clean-temp.c (includes): Pull in headers according to what
77491         other modules are in use.
77492         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77493
77494 2006-10-06  Bruno Haible  <bruno@clisp.org>
77495
77496         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77497         instead of fopen, fwriteerror.
77498
77499 2006-10-06  Bruno Haible  <bruno@clisp.org>
77500
77501         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77502         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77503         int.
77504         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77505         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77506         Return an error indicator.
77507         Suggested by Eric Blake.
77508
77509 2006-10-06  Bruno Haible  <bruno@clisp.org>
77510
77511         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77512         Reported by Eric Blake.
77513
77514 2006-10-06  Bruno Haible  <bruno@clisp.org>
77515
77516         * modules/closeout (Description): Mention stderr too.
77517
77518 2006-10-06  Bruno Haible  <bruno@clisp.org>
77519         and Paul Eggert  <eggert@cs.ucla.edu>
77520
77521         * lib/closeout.c (close_stdout): Also close stderr.
77522         * lib/closeout.h: Update comment.
77523
77524 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77525
77526         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77527         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77528         * lib/dirchownmod.c: Include lchown.h.
77529         * lib/lchown.c: Don't include files that lchown.h now includes.
77530         Don't declare chown, since lchown.h now does that.
77531         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77532         (lchown): Define to rpl_chown if lchown is declared but
77533         does not exist.  Declare using a prototype if lchown is not
77534         declared.  Add a copyright notice.
77535         * lib/mkstemp.h: Include <unistd.h>.
77536         * lib/openat.c: Include lchown.h.
77537
77538         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77539         we now test for that separately.
77540         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77541         rather than O_NOFOLLOW, when testing whether it's possible to
77542         avoid a race condition reliably.
77543         * lib/savewd.c (savewd_chdir): Likewise.
77544
77545         Remove macros that are no longer needed now that stdint.h is
77546         reliable.
77547         * lib/fsusage.c (UINTMAX_MAX): Remove.
77548         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77549         * lib/utimecmp.c (SIZE_MAX): Remove.
77550
77551         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77552
77553         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77554         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77555         O_NOATIME works.
77556
77557 2006-10-05  Bruno Haible  <bruno@clisp.org>
77558
77559         * lib/gl_list.h (gl_sortedlist_search_from_to,
77560         gl_sortedlist_indexof_from_to): New declarations.
77561         (gl_list_implementation): New fields sortedlist_search_from_to,
77562         sortedlist_indexof_from_to.
77563         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77564         inline functions.
77565         * lib/gl_list.c (gl_sortedlist_search_from_to,
77566         gl_sortedlist_indexof_from_to): New functions.
77567         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77568         function.
77569         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77570         (gl_array_sortedlist_search_from_to): New function.
77571         (gl_array_list_implementation): Update.
77572         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77573         function.
77574         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77575         (gl_carray_sortedlist_search_from_to): New function.
77576         (gl_carray_list_implementation): Update.
77577         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77578         gl_linked_sortedlist_indexof_from_to): New functions.
77579         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77580         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77581         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77582         gl_tree_sortedlist_indexof_from_to): New functions.
77583         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77584         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77585         Update.
77586         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77587         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77588         Update.
77589
77590 2006-10-05  Bruno Haible  <bruno@clisp.org>
77591
77592         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77593         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77594         (struct gl_list_implementation): Add fields search_from_to,
77595         indexof_from_to. Remove fields search, indexof.
77596         (gl_list_search): Use the search_from_to method.
77597         (gl_list_search_from, gl_list_search_from_to): New functions.
77598         (gl_list_indexof): Use the indexof_from_to method.
77599         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77600         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77601         (gl_list_search_from, gl_list_search_from_to): New functions.
77602         (gl_list_indexof): Use the indexof_from_to method.
77603         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77604         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77605         gl_array_indexof. Add start_index, end_index arguments.
77606         (gl_array_search_from_to): Renamed from gl_array_search. Add
77607         start_index, end_index arguments.
77608         (gl_array_remove, gl_array_list_implementation): Update.
77609         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77610         gl_carray_indexof. Add start_index, end_index arguments.
77611         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77612         start_index, end_index arguments.
77613         (gl_carray_remove, gl_carray_list_implementation): Update.
77614         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77615         gl_linked_search. Add start_index, end_index arguments.
77616         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77617         start_index, end_index arguments.
77618         (gl_linked_remove): Update.
77619         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77620         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77621         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77622         field to 'size_t'.
77623         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77624         gl_tree_search. Add start_index, end_index arguments.
77625         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77626         start_index, end_index arguments.
77627         (gl_tree_remove): Update.
77628         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77629         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77630         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77631         function.
77632         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77633         gl_tree_search. Add start_index, end_index arguments.
77634         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77635         start_index, end_index arguments.
77636         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77637         Update.
77638         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77639
77640 2006-10-05  Bruno Haible  <bruno@clisp.org>
77641
77642         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77643
77644         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77645         fwriteerror_temp): New declarations.
77646         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77647         (descriptors): New variable.
77648         (cleanup): First, close the descriptors.
77649         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77650         fclose_temp, fwriteerror_temp): New functions.
77651
77652 2006-10-04  Jim Meyering  <jim@meyering.net>
77653
77654         * lib/fts.c (fts_open): Tiny comment change.
77655
77656 2006-10-04  Bruno Haible  <bruno@clisp.org>
77657
77658         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77659         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77660         gl_LOCK_BODY.
77661         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77662         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77663         gl_LOCK_EARLY_BODY.
77664         (gl_LOCK): Require gl_LOCK_BODY.
77665
77666 2006-10-04  Bruno Haible  <bruno@clisp.org>
77667
77668         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77669         (gl_oset_search_atleast): New declaration.
77670         (struct gl_oset_implementation): Add field 'search_atleast'.
77671         (gl_oset_search_atleast): New inline function.
77672         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77673         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77674         (gl_array_oset_implementation): Update.
77675         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77676         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77677         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77678
77679 2006-10-04  Bruno Haible  <bruno@clisp.org>
77680
77681         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77682
77683 2006-10-03  Bruno Haible  <bruno@clisp.org>
77684
77685         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77686         from gl_avltreehash_list_implementation.
77687
77688 2006-10-03  Bruno Haible  <bruno@clisp.org>
77689
77690         * lib/gl_oset.c (gl_oset_add): Fix return type.
77691
77692 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77693
77694         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77695
77696 2006-10-02  Eric Blake  <ebb9@byu.net>
77697
77698         * modules/strnlen (Depends-on): Add extensions.
77699
77700 2006-10-02  Eric Blake  <ebb9@byu.net>
77701
77702         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77703         definition in 2.60+.
77704
77705 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77706
77707         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77708         checks.
77709
77710 2006-10-02  Bruno Haible  <bruno@clisp.org>
77711
77712         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77713         to the AUTOMAKE_OPTIONS.
77714         Reported by Jim Meyering.
77715
77716 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77717
77718         Work around bug in Solaris 10 /proc file system:
77719         /proc/self/fd/NNN/.. isn't the parent directory of
77720         the directory whose file descriptor is NNN.  This needs to
77721         be worked around at run time, not compile time, since a
77722         program might be built on Solaris 8, where things work, and
77723         run on Solaris 10.
77724         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77725         to use the following interface instead:
77726         (OPENAT_BUFFER_SIZE): New macro.
77727         (openat_proc_name): New function.
77728         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77729         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77730         Likewise.
77731         * lib/openat-proc.c: New file.
77732         * modules/openat (Files): Add lib/openat-proc.c.
77733         (Depends-on): Add same-inode, stdbool.
77734         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77735
77736 2006-09-29  Bruno Haible  <bruno@clisp.org>
77737
77738         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77739         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77740         argument. Set stdout_closed before testing for ferror, not after.
77741         (fwriteerror, fwriteerror_no_ebadf): New functions.
77742
77743 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77744
77745         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77746
77747 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77748
77749         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77750         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77751
77752 2006-09-28  Jim Meyering  <jim@meyering.net>
77753
77754         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77755         Include <unistd.h>.
77756
77757 2006-09-28  Bruno Haible  <bruno@clisp.org>
77758
77759         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77760         * modules/linkedhash-list (Depends-on): Likewise.
77761         * modules/rbtreehash-list (Depends-on): Likewise.
77762
77763 2006-09-28  Bruno Haible  <bruno@clisp.org>
77764
77765         * lib/strndup.h: Simplify the redefinition of strndup.
77766         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77767         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77768
77769 2006-09-28  Bruno Haible  <bruno@clisp.org>
77770
77771         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77772         * lib/gl_linkedhash_list.c: Likewise.
77773         * lib/gl_rbtreehash_list.c: Likewise.
77774
77775 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77776
77777         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77778         getaddrinfo.
77779
77780         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77781         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77782         it causes <stdio_ext.h> to cause a compile-time error.
77783         Problem reported by Nelson H. F. Beebe.
77784         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77785         of HAVE_DECL___PENDING.
77786
77787         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77788         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77789         declaration.
77790
77791 2006-09-27  Jim Meyering  <jim@meyering.net>
77792
77793         This file could end up with a definition for a function
77794         named __strndup, rather than rpl_strndup on a system with
77795         incomplete weak_alias support.
77796         * lib/strndup.c (strndup): Rename from __strndup.
77797         Remove #defines that used to map __strndup to strndup.
77798         Don't use K&R prototypes.
77799         Remove LIBC-related code, since this file is not sync'd with glibc.
77800         * lib/strndup.h: Revamp, accordingly.
77801         * m4/strndup.m4: Modernize.
77802
77803 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77804
77805         * modules/savewd (Depends-on): Add 'raise'.
77806         * lib/savewd.c: Include <signal.h>, for 'raise'.
77807
77808 2006-09-26  Jim Meyering  <jim@meyering.net>
77809
77810         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77811         when we detect Darwin 8.7.0's acl_get_file bug.
77812         Rearrange to perform the new (below) run-test while $LIBS
77813         contains any acl-related library.  Set USE_ACL at the end.
77814         (gl_ACL_GET_FILE): New function.
77815
77816 2006-09-26  Eric Blake  <ebb9@byu.net>
77817
77818         * lib/verror.c: Include <config.h> unconditionally.
77819
77820 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77821
77822         * modules/clock-time (Maintainer): Add self.
77823         * modules/getlogin_r (Depends-on): Add extensions.
77824
77825 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77826
77827         * modules/clock-time: New module.
77828         * modules/nanosleep (Depends-on): Add clock-time.
77829         * modules/gethrxtime (Depends-on): Likewise.
77830         * modules/gettime (Depends-on): Likewise.
77831         * modules/settime (Depends-on): Likewise.
77832
77833         * modules/fts-lgpl: Depend on openat.
77834         * modules/mkancesdirs: Depend on savewd.
77835         * modules/mkdir-p: Likewise.
77836
77837 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77838
77839         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77840
77841         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77842         `gl_have_arbitrary_file_name_length_limit' to
77843         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77844         actually works between configure runs.
77845
77846 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77847             Bruno Haible  <bruno@clisp.org>
77848
77849         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77850
77851 2006-09-25  Jim Meyering  <jim@meyering.net>
77852
77853         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77854         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77855
77856 2006-09-25  Eric Blake  <ebb9@byu.net>
77857
77858         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77859         exec's in 2006-09-18 patch when shuffling fds.
77860
77861 2006-09-25  Bruno Haible  <bruno@clisp.org>
77862
77863         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77864         Reported by Jim Meyering.
77865
77866 2006-09-24  Jim Meyering  <jim@meyering.net>
77867
77868         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77869         compare a pointer against a literal "0".  That caused failures with
77870         at least HP-UX's hpcc.
77871
77872 2006-09-22  Simon Josefsson  <jas@extundo.com>
77873
77874         * modules/gc-sha1:
77875         * modules/gc-md4:
77876         * modules/gc-hmac-sha1:
77877         * modules/gc-hmac-md5:
77878         * modules/gc-des:
77879         * modules/gc-arcfour: Distribute more files.
77880
77881 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77882
77883         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77884         (gl_linked_iterator_from_to): Initialize struct completely.
77885         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77886         (gl_tree_iterator_from_to): Likewise
77887         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77888         * lib/gl_array_list.c [lint] (gl_array_iterator)
77889         (gl_array_iterator_from_to): Likewise.
77890         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77891         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77892         (gl_carray_iterator_from_to): Likewise.
77893
77894         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77895         * lib/md4.c (md4_process_block): Remove unused variable.
77896         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77897         parentheses for clarity.
77898
77899 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77900
77901         * modules/bison-i18n (Depends-on): Add gettext.
77902
77903 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77904
77905         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77906         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77907         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77908         also add missing comma that caused broken test.
77909         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77910         stdlib.h, for `abort'.
77911         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77912         variables.
77913         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77914         include unistd.h if present, for `rmdir'.
77915         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77916         variables.
77917         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77918         in the process include standard headers for prototypes.
77919         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77920         gets declared on GNU/Linux.
77921         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77922         unistd.h, for `rmdir'.
77923         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77924
77925         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77926         always true.
77927         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77928
77929         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77930
77931 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77932
77933         * gnulib-tool (func_version): Create output all at once.  This
77934         may help avoid triggering unnecessary SIGPIPEs, and at any
77935         rate it doesn't hurt.
77936
77937 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77938             Bruno Haible  <bruno@clisp.org>
77939
77940         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77941         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77942         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77943
77944         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77945         (gl_FUNC_VASPRINTF): Invoke it.
77946
77947 2006-09-22  Bruno Haible  <bruno@clisp.org>
77948
77949         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77950         getloadavg.c as first argument.
77951
77952 2006-09-22  Bruno Haible  <bruno@clisp.org>
77953
77954         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77955         at the beginning of the gl_INIT macro.
77956         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77957         gl_GETLOADAVG.
77958
77959 2006-09-22  Bruno Haible  <bruno@clisp.org>
77960
77961         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77962         module.
77963         Suggested by Ralf Wildenhues.
77964
77965 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77966
77967         Import this patch from libc:
77968
77969         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77970
77971         * lib/regex_internal.c (re_string_reconstruct): Handle
77972         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77973         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77974         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77975         re_string_context_at.
77976
77977         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77978         now requires it.
77979         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77980         gl_REGEX now does it for us.
77981         (gl_REGEX): Add test taken from
77982         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77983
77984         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77985         Check that large offsets work.  Modernize Autoconf usages.
77986         Prefer "yes" to mean a good thing rather than a bad.
77987         Don't put "#define mkstemp" in config.h, as this might interfere
77988         with standard system headers that "#define mkstemp mkstemp64".
77989
77990         * modules/mkstemp (Depends-on): Add extensions, so that
77991         mkstemp is visible on some platforms.
77992         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77993         (Include): Change to "mkstemp.h" from <stdlib.h>.
77994         (Files): Add mkstemp.h.
77995
77996         * lib/mkstemp.h: New file, since some standard headers
77997         #define mkstemp.
77998         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77999         Include "mkstemp.h".
78000         Make the _LIBC code resemble glibc original more,
78001         e.g., use K&R style.
78002         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78003         (mkstemp): Remove, since mkstemp.h does this for us.
78004         * lib/stdlib--.h: Include mkstemp.h.
78005
78006         Import this patch from libc:
78007
78008         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78009
78010         * lib/tempname.c (__gen_tempname): Change attempts_min
78011         into a macro.  Use preprocessor to decide how to initialize
78012         attempts [Coverity CID 67].
78013
78014 2006-09-20  Bruno Haible  <bruno@clisp.org>
78015
78016         * lib/mkdtemp.c: Import from libc.
78017         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78018                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78019                 attempts_min into a macro.  Use preprocessor to decide how to
78020                 initialize attempts [Coverity CID 67].
78021         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78022                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78023                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78024
78025 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78026
78027         * gnulib-tool (func_exit): New function, to allow to pass the
78028         exit status portably through the trap.  Use everywhere.
78029         (--help, --version): Signal a write error.
78030         (trap): catch SIGPIPE, for write errors.
78031         Exit at the end of the trap, with the correct exit status.
78032
78033 2006-09-19  Karl Berry  <karl@gnu.org>
78034
78035         * doc/gnulib.texi: note about the license texinfo files.
78036
78037 2006-09-19  Eric Blake  <ebb9@byu.net>
78038
78039         * gnulib-tool: Avoid space-tab.
78040
78041 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78042
78043         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78044         that prevented coreutils 6.1 from building.  Problem reported
78045         by Petter Reinholdtsen.
78046
78047 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78048
78049         * gnulib-tool (avoidlist): Fix typo that broke options like
78050         --avoid=lock that are used by coreutils bootstrap.
78051
78052 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78053
78054         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78055         more systematically.
78056
78057 2006-09-18  Jim Meyering  <jim@meyering.net>
78058
78059         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78060
78061 2006-09-18  Bruno Haible  <bruno@clisp.org>
78062
78063         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78064
78065 2006-09-18  Bruno Haible  <bruno@clisp.org>
78066
78067         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78068         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78069         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78070         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78071         * m4/gettext.m4: Require autoconf >= 2.52.
78072         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78073         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78074         of gl_cv_header_inttypes_h.
78075
78076 2006-09-18  Bruno Haible  <bruno@clisp.org>
78077
78078         * lib/javaversion.c: Include configmake.h.
78079
78080 2006-09-18  Bruno Haible  <bruno@clisp.org>
78081
78082         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78083         avoid that the while loops be executed in a subshell.
78084
78085 2006-09-18  Bruno Haible  <bruno@clisp.org>
78086
78087         * MODULES.html.sh (func_module): Break long lines.
78088         Suggested by Bruce Korb <bkorb@gnu.org>.
78089
78090 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78091
78092         Speed up by a factor of 1.12.
78093         * gnulib-tool (nl): New variable.
78094         (func_import): Rewrite include directive extraction to only read each
78095         directive once.
78096
78097 2006-09-17  Bruno Haible  <bruno@clisp.org>
78098
78099         * modules/javaversion (Makefile.am): Remove DEFS setting.
78100         (Depends-on): Add configmake, for PKGDATADIR definition.
78101
78102 2006-09-17  Bruno Haible  <bruno@clisp.org>
78103
78104         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78105
78106 2006-09-17  Bruno Haible  <bruno@clisp.org>
78107
78108         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78109         (func_modules_transitive_closure, func_modules_add_dummy,
78110         func_modules_to_filelist, func_import, func_create_testdir,
78111         func_create_megatestdir, ...): Use it wherever possible.
78112         Suggested by Ralf Wildenhues.
78113
78114 2006-09-16  Karl Berry  <karl@gnu.org>
78115
78116         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78117         to avoid sectioning errors.
78118         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78119         [ifinfo]: blank line after @center-ed titles.
78120         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78121         Spell FSF address consistently with others.
78122         (These changes approved by rms.)
78123
78124 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78125
78126         Speed up by a factor of 1.61.
78127         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78128         already checked module names again.
78129
78130 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78131
78132         Speed up by a factor of 1.13.
78133         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78134         for new_files, and the input to func_add_or_update.
78135
78136 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78137
78138         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78139         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78140
78141 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78142
78143         * modules/mkancesdirs (Depends-on): Add fcntl.
78144         * modules/savewd: New file.
78145         * MODULES.html.sh (File system functions): Add savewd.
78146
78147         * modules/configmake (Makefile.am): Add support for the
78148         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78149
78150 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78151
78152         * m4/savewd.m4: New file.
78153
78154 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78155
78156         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78157         (dirchownmod): New arg FD.  All callers changed.
78158         Use FD rather than opening the directory ourself, as opening is
78159         now the caller's responsibility.
78160         * lib/dirchownmod.h: Likewise.
78161         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78162         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78163         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78164         (test_dir): Remove.
78165         (mkancesdirs): Return length of prefix of FILE that has already
78166         been made, or -2 if there is a child doing the work.  Redo
78167         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78168         ".", and treat ".." specially since it might stray back into
78169         already-created areas.  Use a subprocess if necessary.  New arg
78170         WD; all users changed.  MAKE_DIR function should now return 1
78171         if it creates a directory that is not readable.  Return -2 if
78172         a child process is spun off.
78173         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78174         Adjust signature to match code.
78175         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78176         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78177         all users changed.
78178         * lib/savewd.c, lib/savewd.h: New files.
78179
78180 2006-09-15  Jim Meyering  <jim@meyering.net>
78181
78182         * modules/rename-dest-slash: New module.
78183         * MODULES.html.sh (posix_compat): Add it here.
78184
78185         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78186
78187 2006-09-15  Jim Meyering  <jim@meyering.net>
78188
78189         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78190         file.
78191
78192         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78193
78194 2006-09-15  Jim Meyering  <jim@meyering.net>
78195
78196         * lib/rename-dest-slash.c (has_trailing_slash): Use
78197         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78198         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78199         test before testing whether SRC is a directory.
78200         Suggestions from Bruno Haible.
78201
78202         Avoid a warning about an unused variable.
78203         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78204         into the #ifdef block where it's used.
78205
78206         * lib/rename-dest-slash.c: New file.
78207
78208 2006-09-14  Bruno Haible  <bruno@clisp.org>
78209
78210         * lib/allocsa.c: Include <config.h> unconditionally.
78211         * lib/asnprintf.c: Likewise.
78212         * lib/asprintf.c: Likewise.
78213         * lib/c-strcasecmp.c: Likewise.
78214         * lib/c-strcasestr.c: Likewise.
78215         * lib/c-strncasecmp.c: Likewise.
78216         * lib/c-strstr.c: Likewise.
78217         * lib/classpath.c: Likewise.
78218         * lib/clean-temp.c: Likewise.
78219         * lib/concatpath.c: Likewise.
78220         * lib/copy-file.c: Likewise.
78221         * lib/csharpcomp.c: Likewise.
78222         * lib/csharpexec.c: Likewise.
78223         * lib/execute.c: Likewise.
78224         * lib/fatal-signal.c: Likewise.
78225         * lib/findprog.c: Likewise.
78226         * lib/fwriteerror.c: Likewise.
78227         * lib/gl_array_list.c: Likewise.
78228         * lib/gl_array_oset.c: Likewise.
78229         * lib/gl_avltree_list.c: Likewise.
78230         * lib/gl_avltree_oset.c: Likewise.
78231         * lib/gl_avltreehash_list.c: Likewise.
78232         * lib/gl_carray_list.c: Likewise.
78233         * lib/gl_linked_list.c: Likewise.
78234         * lib/gl_linkedhash_list.c: Likewise.
78235         * lib/gl_list.c: Likewise.
78236         * lib/gl_oset.c: Likewise.
78237         * lib/gl_rbtree_list.c: Likewise.
78238         * lib/gl_rbtree_oset.c: Likewise.
78239         * lib/gl_rbtreehash_list.c: Likewise.
78240         * lib/imaxabs.c: Likewise.
78241         * lib/imaxdiv.c: Likewise.
78242         * lib/javacomp.c: Likewise.
78243         * lib/javaexec.c: Likewise.
78244         * lib/javaversion.c: Likewise.
78245         * lib/linebreak.c: Likewise.
78246         * lib/localcharset.c: Likewise.
78247         * lib/lock.c: Likewise.
78248         * lib/mbchar.c: Likewise.
78249         * lib/mbswidth.c: Likewise.
78250         * lib/mkdtemp.c: Likewise.
78251         * lib/pipe.c: Likewise.
78252         * lib/printf-args.c: Likewise.
78253         * lib/printf-parse.c: Likewise.
78254         * lib/progname.c: Likewise.
78255         * lib/progreloc.c: Likewise.
78256         * lib/readlink.c: Likewise.
78257         * lib/sh-quote.c: Likewise.
78258         * lib/stpcpy.c: Likewise.
78259         * lib/stpncpy.c: Likewise.
78260         * lib/strcasecmp.c: Likewise.
78261         * lib/strcasestr.c: Likewise.
78262         * lib/strcspn.c: Likewise.
78263         * lib/striconv.c: Likewise.
78264         * lib/strncasecmp.c: Likewise.
78265         * lib/strnlen1.c: Likewise.
78266         * lib/strstr.c: Likewise.
78267         * lib/strtok_r.c: Likewise.
78268         * lib/tls.c: Likewise.
78269         * lib/tmpdir.c: Likewise.
78270         * lib/unicodeio.c: Likewise.
78271         * lib/unsetenv.c: Likewise.
78272         * lib/vasnprintf.c: Likewise.
78273         * lib/vasprintf.c: Likewise.
78274         * lib/wait-process.c: Likewise.
78275         * lib/xallocsa.c: Likewise.
78276         * lib/xsetenv.c: Likewise.
78277         * lib/xstriconv.c: Likewise.
78278
78279 2006-09-13  Simon Josefsson  <jas@extundo.com>
78280
78281         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78282         that internally, suggested by Ralf Wildenhues
78283         <Ralf.Wildenhues@gmx.de>.
78284
78285 2006-09-13  Simon Josefsson  <jas@extundo.com>
78286
78287         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78288         @LIBOBJS@.
78289         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78290
78291 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78292
78293         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78294         longer worry about uses that don't define HAVE_CONFIG_H.
78295         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78296         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78297         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78298         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78299         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78300         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78301         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78302         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78303         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78304         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78305         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78306         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78307         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78308         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78309         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78310         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78311         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78312         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78313         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78314         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78315         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78316         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78317         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78318         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78319         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78320         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78321         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78322         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78323         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78324         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78325         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78326         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78327         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78328         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78329         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78330         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78331         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78332         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78333         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78334         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78335         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78336         Likewise.
78337
78338 2006-09-13  Eric Blake  <ebb9@byu.net>
78339
78340         * lib/getopt.c: Fix typo in last commit.
78341
78342 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78343
78344         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78345         dgettext.
78346
78347 2006-09-12  Jim Meyering  <jim@meyering.net>
78348
78349         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78350         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78351         Reported by Nelson H. F. Beebe.
78352
78353 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78354
78355         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78356         program_invocation_name and program_invocation_short_name are
78357         initialized.
78358         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78359         and program_invocation_short_name to argp.h, so they are visible
78360         to user programs.
78361         * lib/argp.h: Likewise
78362
78363 2006-09-10  Bruno Haible  <bruno@clisp.org>
78364
78365         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78366         m4/inttypes_h.m4, m4/uintmax_t.m4.
78367
78368 2006-09-10  Bruno Haible  <bruno@clisp.org>
78369
78370         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78371         gl_AC_TYPE_UINTMAX_T.
78372
78373 2006-09-10  Bruno Haible  <bruno@clisp.org>
78374
78375         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78376
78377 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78378
78379         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78380         convention.  Text proposed by Bruno Haible.
78381         (struct argp_option): Document the use of N_() wrappers.
78382
78383         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78384         '\v', and translate the two parts separately, instead of feeding
78385         the whole string to gettext.  This allows to exclude
78386         '\v' from the strings visible to the translator by writing doc
78387         strings as N_("..") "\v" N_("..").
78388
78389 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78390
78391         * config/srclist.txt: Undo latest change; the bug was fixed.
78392
78393 2006-09-09  Bruno Haible  <bruno@clisp.org>
78394
78395         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78396         assignments if building a library without libtool.
78397         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78398         in func_emit_lib_Makefile_am.
78399         (func_import): When building a static library libfoo.a, arrange to
78400         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78401         (func_create_testdir): Likewise.
78402         * modules/gc (configure.ac, Makefile.am): If building statically,
78403         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78404         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78405         * modules/striconv (configure.ac, Makefile.am): Likewise.
78406         Based on a suggestion by Ralf Wildenhues.
78407
78408 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78409
78410         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78411         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78412         Also:
78413
78414         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78415         Add year_2050_test to catch glibc bug 2821
78416         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78417
78418         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78419         Prefer #ifdef to #if.
78420
78421         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78422         Return from 'main' instead of calling 'exit'.
78423
78424 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78425
78426         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78427         returned the maximum time_t value rather than (time_t) -1.
78428         Problem originally reported by William Bardwell
78429         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78430
78431         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78432         Moved to here ...
78433         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78434         ... from here.
78435
78436 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78437
78438         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78439         2821 is fixed.
78440
78441 2006-09-08  Jim Meyering  <jim@meyering.net>
78442
78443         Don't make generated files read-only.  That would bother too many
78444         people.  However, do retain the ability to work when targets are
78445         read-only: remove the destination and temporary files before writing
78446         them (when generated via sed or echo), or by using the -f option for
78447         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78448         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78449         * modules/byteswap, modules/configmake, modules/fcntl:
78450         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78451         * modules/localcharset, modules/netinet_in, modules/poll:
78452         * modules/stdbool, modules/stdint, modules/sys_select:
78453         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78454
78455 2006-09-08  Jim Meyering  <jim@meyering.net>
78456
78457         Avoid new build failure on FreeBSD 6.0.
78458         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78459         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78460         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78461
78462 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78463
78464         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78465
78466 2006-09-07  Jim Meyering  <jim@meyering.net>
78467
78468         Fix global typo in last change: use chmod u-w, not chmod u-x.
78469         Spotted by Paul Eggert and Bruce Korb.
78470         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78471         * modules/byteswap, modules/configmake, modules/fcntl:
78472         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78473         * modules/localcharset, modules/netinet_in, modules/poll:
78474         * modules/stdbool, modules/stdint, modules/sys_select:
78475         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78476
78477 2006-09-06  Jim Meyering  <jim@meyering.net>
78478
78479         Make generated files be read-only.
78480         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78481         Ensure that each generated file is now read-only.
78482         * modules/argz: Likewise.
78483         * modules/arpa_inet: Likewise.
78484         * modules/byteswap: Likewise.
78485         * modules/configmake: Likewise.
78486         * modules/fcntl: Likewise.
78487         * modules/fnmatch: Likewise.
78488         * modules/getopt: Likewise.
78489         * modules/glob: Likewise.
78490         * modules/inttypes: Likewise.
78491         * modules/netinet_in: Likewise.
78492         * modules/poll: Likewise.
78493         * modules/stdbool: Likewise.
78494         * modules/stdint: Likewise.
78495         * modules/sys_select: Likewise.
78496         * modules/sys_socket: Likewise.
78497         * modules/sys_stat: Likewise.
78498         * modules/sysexits: Likewise.
78499         * modules/localcharset: Same as above, but continue using temporary
78500         file named "t-$@" (why different?) rather than the "$@-t" used
78501         everywhere else.
78502
78503         * modules/sysexits (Makefile.am): Replace literal occurrences
78504         of "sysexit.h" more readable, and more consistent, "$@".
78505
78506 2006-09-06  Bruno Haible  <bruno@clisp.org>
78507
78508         * modules/striconv: New file.
78509         * modules/xstriconv: New file.
78510         * MODULES.html.sh (Internationalization functions): Add striconv,
78511         xstriconv.
78512
78513 2006-09-06  Bruno Haible  <bruno@clisp.org>
78514
78515         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78516         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78517         not using libtool correctly.
78518
78519 2006-09-06  Bruno Haible  <bruno@clisp.org>
78520
78521         * lib/striconv.h: New file.
78522         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78523         iconvstring.c.
78524         * lib/xstriconv.h: New file.
78525         * lib/xstriconv.c: New file.
78526
78527 2006-09-06  Bruno Haible  <bruno@clisp.org>
78528
78529         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78530         lib_..._LDFLAGS.
78531
78532 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78533
78534         * lib/argz_.h: Sync from Libtool.
78535
78536         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78537                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78538
78539         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78540
78541 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78542
78543         * modules/trim: New file.
78544
78545 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78546
78547         * lib/trim.h: New file.
78548         * lib/trim.c: New file.
78549
78550 2006-09-05  Bruno Haible  <bruno@clisp.org>
78551
78552         * MODULES.html.sh (String handling): Add trim.
78553
78554 2006-09-04  Karl Berry  <karl@gnu.org>
78555
78556         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78557         until next release.
78558
78559 2006-09-03  Bruno Haible  <bruno@clisp.org>
78560
78561         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78562         correctly.
78563
78564 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78565
78566         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78567         not gl_GETLOADAVG.  Omit unneeded semicolons.
78568         Problems reported by Ralf Wildenhues in
78569         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78570         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78571         at the end, which is the usual gnulib style.
78572
78573         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78574         of doing all the work ourselves.
78575         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78576         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78577
78578 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78579
78580         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78581         Problem reported by Ralf Wildenhues in
78582         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78583
78584         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78585         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78586
78587 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78588
78589         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78590         yesterday's patch by changing test -n to test -z.
78591
78592 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78593
78594         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78595         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78596         the former is now obsolescent.
78597
78598         * modules/chdir-long (Depends-on): Add fcntl.
78599
78600 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78601
78602         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78603         obsolescent, and programs should use gnulib instead.
78604         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78605         but with prefixes changed.
78606
78607 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78608
78609         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78610         or stdbool.h, because they might not exist while configuring.
78611
78612         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78613         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78614         does that for us.
78615         (O_DIRECTORY): Remove.
78616
78617 2006-08-31  Eric Blake  <ebb9@byu.net>
78618
78619         * gnulib-tool: Don't let emacs change spaces to TAB.
78620
78621 2006-08-31  Bruno Haible  <bruno@clisp.org>
78622
78623         * gnulib-tool: When calling func_import more than once, do it in a
78624         subshell.
78625         Reported by Eric Blake <ebb9@byu.net>.
78626
78627 2006-08-31  Bruno Haible  <bruno@clisp.org>
78628
78629         * gnulib-tool (nl): Remove variable.
78630         (sed_transform_lib_file): Use more robust test for config-h module.
78631         (func_import): Fix typo in 2006-08-25 patch.
78632
78633 2006-08-31  Bruno Haible  <bruno@clisp.org>
78634
78635         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78636         specified, augment Makefile.am variables instead of assigning them.
78637
78638 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78639
78640         Work around a bug in both the Linux and SunOS 64-bit kernels:
78641         nanosleep mishandles sleeps for longer than 2**31 seconds.
78642         Problem reported by Frank v Waveren in
78643         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78644         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78645         Check for nanosleep bug.
78646         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78647
78648 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78649
78650         Work around a bug in both the Linux and SunOS 64-bit kernels:
78651         nanosleep mishandles sleeps for longer than 2**31 seconds.
78652         Problem reported by Frank v Waveren in
78653         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78654         * lib/nanosleep.c (BILLION): New constant.
78655         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78656         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78657         implementation.
78658
78659 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78660
78661         * modules/nanosleep (Depends-on): Add gettime.
78662
78663 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78664         and Simon Josefsson  <jas@extundo.com>
78665         and Oskar Liljeblad  <oskar@osk.mine.nu>
78666
78667         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78668         * gnulib-tool (func_import): New license type 'unmodifiable license
78669         text'.
78670         * modules/fdl: Use it.  Longer description.
78671         * module/gpl, module/lgpl: New files.
78672
78673 2006-08-30  Jim Meyering  <jim@meyering.net>
78674
78675         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78676         shadowing the parameter.
78677
78678 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78679
78680         Sync from Libtool:
78681
78682         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78683
78684         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78685         sharing with gnulib.  Report by Eric Blake.
78686
78687 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78688
78689         * modules/isapipe: New file.
78690         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78691
78692 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78693
78694         * modules/configmake (Makefile.am): Add a comment, and omit
78695         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78696         by Bruno Haible.
78697
78698 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78699
78700         * m4/isapipe.m4: New file.
78701
78702 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78703
78704         * lib/isapipe.c, lib/isapipe.h: New files.
78705
78706 2006-08-29  Jim Meyering  <jim@meyering.net>
78707
78708         * modules/configmake (Makefile.am): Make configmake.h depend on
78709         Makefile.  Otherwise, a stale configmake.h could hang around.
78710
78711 2006-08-29  Eric Blake  <ebb9@byu.net>
78712
78713         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78714         resolution of upstream bug 3044.
78715
78716 2006-08-29  Bruno Haible  <bruno@clisp.org>
78717
78718         * modules/localcharset (Depends-on): Add configmake.
78719         (Makefile.am): Remove setting of LIBDIR through DEFS.
78720
78721 2006-08-29  Bruno Haible  <bruno@clisp.org>
78722
78723         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78724         defined.
78725
78726 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78727
78728         * modules/fcntl: New file.
78729         * modules/chdir-safer (Depends-on): Add fcntl.
78730         * modules/fts: Likewise.
78731         * modules/mkdir-p: Likewise.
78732
78733         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78734         This undoes the most recent change, since we're now addressing the
78735         problem in a different way.
78736
78737         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78738         into output, since the output might be called Makefile.am even
78739         if $makefile_name is something different.
78740         (func_import): Use $makefile_am rather than
78741         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78742         empty.
78743
78744         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78745
78746 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78747
78748         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78749         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78750         recent change to stdint.m4, since we're now addressing the problem in a
78751         different way.
78752
78753 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78754
78755         * m4/fcntl_h.m4: New file.
78756
78757 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78758
78759         * lib/fcntl_.h: New file.
78760         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78761         the fcntl module.
78762         * lib/dirchownmod.c: Likewise.
78763         * lib/fts.c: Likewise.
78764
78765         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78766         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78767         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78768         just before including <inttypes.h>, to avoid circular inclusion.
78769
78770 2006-08-28  Jim Meyering  <jim@meyering.net>
78771
78772         * doc/visibility.texi: Actually read and correct the grammar of the
78773         sentence affected by yesterday's change.
78774
78775 2006-08-28  Eric Blake  <ebb9@byu.net>
78776
78777         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78778         needs wrapper.
78779
78780 2006-08-28  Eric Blake  <ebb9@byu.net>
78781
78782         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78783
78784 2006-08-28  Eric Blake  <ebb9@byu.net>
78785
78786         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78787
78788 2006-08-28  Bruno Haible  <bruno@clisp.org>
78789
78790         * modules/c-strstr: New file, from GNU gettext.
78791         * MODULES.html.sh (String handling): Add c-strstr.
78792
78793 2006-08-28  Bruno Haible  <bruno@clisp.org>
78794
78795         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78796         macros.
78797         Reported by Eric Blake.
78798
78799 2006-08-28  Bruno Haible  <bruno@clisp.org>
78800
78801         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78802         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78803         * lib/vasprintf.c: Include errno.h, limits.h.
78804         (EOVERFLOW): New fallback definition.
78805         (vasprintf): Test here whether the string length is > INT_MAX.
78806         * lib/vsnprintf.c: Include errno.h, limits.h.
78807         (EOVERFLOW): New fallback definition.
78808         (vsnprintf): Fix bug when generated string was too long for the buffer.
78809         Test here whether the string length is > INT_MAX.
78810
78811 2006-08-28  Bruno Haible  <bruno@clisp.org>
78812
78813         * lib/inttypes_.h (SCNX*): Remove definitions.
78814         Reported by Eric Blake.
78815
78816 2006-08-28  Bruno Haible  <bruno@clisp.org>
78817
78818         * lib/c-strstr.h: New file, from GNU gettext.
78819         * lib/c-strstr.c: New file, from GNU gettext.
78820
78821 2006-08-28  Bruno Haible  <bruno@clisp.org>
78822
78823         * gnulib-tool: Reorder some statements.
78824
78825 2006-08-28  Bruno Haible  <bruno@clisp.org>
78826
78827         * gnulib-tool: New option --makefile-name.
78828         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78829         $makefile_name.
78830         (func_import): Write $makefile_name to the cache file, and read it from
78831         there unless explicitly specified. Use $makefile_name as file name
78832         instead of Makefile.am. Adjust the recommendations accordingly.
78833
78834 2006-08-28  Bruno Haible  <bruno@clisp.org>
78835
78836         * gnulib-tool (func_verify_module): Check against misapplying patch.
78837
78838 2006-08-28  Bruno Haible  <bruno@clisp.org>
78839
78840         * gnulib-tool (func_relativize, func_relconcat): New functions.
78841         Give an error if --local-dir is given with --update.
78842         Remove trailing slashes from $local_gnulib_dir.
78843         (func_import): Store the relativized $local_gnulib_dir in
78844         gnulib-cache.m4, and read it from there if not specified explicitly.
78845
78846 2006-08-28  Bruno Haible  <bruno@clisp.org>
78847
78848         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78849         is the current directory. Respect also $local_gnulib_dir.
78850
78851 2006-08-28  Bruno Haible  <bruno@clisp.org>
78852             Simon Josefsson  <jas@extundo.com>
78853
78854         BeOS portability.
78855         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78856
78857 2006-08-27  Jim Meyering  <jim@meyering.net>
78858
78859         * doc/visibility.texi: Remove duplicate word: "pointer".
78860
78861 2006-08-26  Bruno Haible  <bruno@clisp.org>
78862
78863         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78864         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78865         (Makefile.am): Create inttypes.h from inttypes_.h.
78866         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78867
78868         * modules/imaxabs: New file.
78869
78870         * modules/imaxdiv: New file.
78871
78872 2006-08-26  Bruno Haible  <bruno@clisp.org>
78873
78874         * m4/inttypes.m4: New file.
78875         * m4/_inttypes_h.m4: Remove file.
78876         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78877         PRI_MACROS_BROKEN.
78878         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78879
78880         * m4/imaxabs.m4: New file.
78881
78882         * m4/imaxdiv.m4: New file.
78883
78884 2006-08-26  Bruno Haible  <bruno@clisp.org>
78885
78886         * lib/inttypes_.h: New file.
78887         * lib/inttypes.h: Remove file.
78888         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78889
78890         * lib/imaxabs.c: New file.
78891
78892         * lib/imaxdiv.c: New file.
78893
78894 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78895
78896         New config-h module, so that "make" output needn't be cluttered
78897         by -DHAVE_CONFIG_H.
78898         * MODULES.html.sh (Support for building libraries and executables):
78899         Add config-h.
78900         * modules/config-h: New file.
78901         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78902         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78903         the config-h module is used.
78904
78905         New configmake module, so that "make" output needn't be cluttered
78906         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78907         * MODULES.html.sh (Support for building libraries and executables):
78908         Add configmake.
78909         * modules/configmake: New file.
78910
78911 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78912
78913         * m4/config-h.m4: New file.
78914
78915 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78916
78917         * config/srclist.txt: Add elisp-comp.
78918
78919 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78920
78921         * MODULES.html.sh (Support for building libraries and executables):
78922         Add elisp-comp.
78923         * build-aux/elisp-comp: New file.
78924         * modules/elisp-comp: New file.
78925
78926 2006-08-24  Bruno Haible  <bruno@clisp.org>
78927
78928         * gnulib-tool (func_create_testdir): Use non-default values of
78929         sourcebase and m4base.
78930
78931 2006-08-24  Bruno Haible  <bruno@clisp.org>
78932
78933         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78934         HTML structure.
78935
78936 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78937
78938         * modules/openat (Depends-on): Add lchown.
78939
78940 2006-08-23  Bruno Haible  <bruno@clisp.org>
78941
78942         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78943         of gl_LOCK_EARLY instead of gl_LOCK.
78944
78945 2006-08-23  Bruno Haible  <bruno@clisp.org>
78946
78947         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78948         on OSF/1 to no.
78949         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78950
78951 2006-08-23  Bruno Haible  <bruno@clisp.org>
78952
78953         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78954         as unusable.
78955
78956         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78957         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78958         (gl_LOCK): New macro.
78959
78960 2006-08-22  Simon Josefsson  <jas@extundo.com>
78961
78962         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78963         to md5 module.
78964
78965 2006-08-22  Simon Josefsson  <jas@extundo.com>
78966
78967         * MODULES.html.sh: Add "Support for maintaining and release
78968         projects".
78969
78970         * build-aux/gnupload: New file, from coreutils.
78971
78972 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78973
78974         Avoid the need for AC_LIBSOURCES in m4 macros.
78975         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78976         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78977         * modules/check-version (EXTRA_DIST): Add check-version.h.
78978         * modules/crc (EXTRA_DIST): Add crc.h.
78979         * modules/des (EXTRA_DIST): Add des.h.
78980         * modules/gc (EXTRA_DIST): Add gc.h.
78981         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78982         * modules/getline (EXTRA_DIST): Add getline.h.
78983         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78984         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78985         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78986         * modules/md2 (EXTRA_DIST): Add md2.h.
78987         * modules/md4 (EXTRA_DIST): Add md4.h.
78988         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78989         * modules/read-file (EXTRA_DIST): Add read-file.h.
78990         * modules/readline (EXTRA_DIST): Add readline.h.
78991         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78992         rijndael-api-fst.h.
78993
78994 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78995
78996         * m4/rijndael.m4 (gl_ARCFOUR):
78997         * m4/arctwo.m4 (gl_ARCTWO):
78998         * m4/check-version.m4 (gl_CHECK_VERSION):
78999         * m4/crc.m4 (gl_CRC):
79000         * m4/des.m4 (gl_DES):
79001         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79002         * m4/gc.m4 (gl_GC):
79003         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79004         * m4/getline.m4 (gl_FUNC_GETLINE):
79005         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79006         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79007         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79008         * m4/md2.m4 (gl_MD2):
79009         * m4/md4.m4 (gl_MD4):
79010         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79011         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79012         * m4/readline.m4 (gl_FUNC_READLINE):
79013         * m4/rijndael.m4 (gl_RIJNDAEL):
79014         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79015         to get the necessary .h files and whatnot.
79016
79017 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79018
79019         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79020         gnulib rather than the other way around.
79021         * config/srclistvars.sh (COREUTILS): Remove.
79022
79023 2006-08-22  Jim Meyering  <jim@meyering.net>
79024
79025         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79026
79027         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79028
79029 2006-08-22  Eric Blake  <ebb9@byu.net>
79030
79031         * modules/regexprops-generic: New file.
79032         * MODULES.html.sh (Support for building documentation): List it.
79033
79034 2006-08-22  Eric Blake  <ebb9@byu.net>
79035
79036         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79037         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79038         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79039         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79040
79041 2006-08-22  Bruno Haible  <bruno@clisp.org>
79042
79043         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79044         and lib_LTLIBRARIES like the other lib_* variables.
79045
79046 2006-08-22  Bruno Haible  <bruno@clisp.org>
79047
79048         * build-aux/x-to-1.in: New file, from GNU gettext.
79049
79050 2006-08-22  Bruno Haible  <bruno@clisp.org>
79051
79052         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79053         <utmpx.h> exists.
79054
79055 2006-08-22  Bruno Haible  <bruno@clisp.org>
79056
79057         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79058         <utmpx.h> exists.
79059
79060 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79061
79062         BeOS portability.
79063         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79064         exist.
79065         Problem reported by Bruno Haible.
79066
79067 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79068
79069         Avoid the need for AC_LIBSOURCES in m4 macros.
79070         * modules/acl (EXTRA_DIST): Add acl.h.
79071         * modules/argmatch (Files): Add m4/argmatch.m4.
79072         (configure.ac): Add gl_ARGMATCH.
79073         (EXTRA_DIST): Renamed from lib_SOURCES, for
79074         consistency with the other modules.  Remove argmatch.c.
79075         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79076         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79077         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
79078         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
79079         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
79080         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
79081         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
79082         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79083         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79084         * modules/closeout (EXTRA_DIST): Add closeout.h.
79085         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79086         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79087         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79088         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79089         dirname.h; remove basename.c and stripslash.c.
79090         * modules/exclude (EXTRA_DIST): Add exclude.h.
79091         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79092         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79093         * modules/file-type (EXTRA_DIST): Add file-type.h.
79094         * modules/filemode (EXTRA_DIST): Add filemode.h.
79095         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79096         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79097         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79098         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79099         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79100         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79101         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79102         * modules/getdate (EXTRA_DIST): Add getdate.c.
79103         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79104         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79105         * modules/getpass (EXTRA_DIST): Add getpass.h.
79106         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79107         * modules/group-member (EXTRA_DIST): Add group-member.h.
79108         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79109         * modules/hash (EXTRA_DIST): Add hash.h.
79110         * modules/human (EXTRA_DIST): Add human.h.
79111         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79112         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79113         * modules/lchown (EXTRA_DIST): Add lchown.h.
79114         * modules/long-options (EXTRA_DIST): Add long-options.h.
79115         * modules/lstat (EXTRA_DIST): Add lstat.h.
79116         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79117         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79118         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79119         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79120         * modules/memxor (EXTRA_DIST): Add memxor.h.
79121         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79122         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79123         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79124         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79125         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79126         * modules/physmem (EXTRA_DIST): Add physmem.h.
79127         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79128         * modules/posixver (EXTRA_DIST): Add posixver.h.
79129         * modules/quote (EXTRA_DIST): Add quote.h.
79130         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79131         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79132         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79133         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79134         regex_internal.h regexec.c.
79135         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79136         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79137         * modules/same (EXTRA_DIST): Add same.h.
79138         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79139         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79140         * modules/savedir (EXTRA_DIST): Add savedir.h.
79141         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79142         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79143         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79144         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79145         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79146         * modules/strdup (EXTRA_DIST): Add strdup.h.
79147         * modules/strftime (EXTRA_DIST): Add strftime.h.
79148         * modules/strndup (EXTRA_DIST): Add strndup.h.
79149         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79150         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79151         * modules/time_r (EXTRA_DIST): Add time_r.h.
79152         * modules/timespec (EXTRA_DIST): Add timespec.h.
79153         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79154         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79155         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79156         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79157         * modules/userspec (EXTRA_DIST): Add userspec.h.
79158         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79159         * modules/utimens (EXTRA_DIST): Add utimens.h.
79160         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79161         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79162         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79163         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79164         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79165         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79166         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79167         * modules/yesno (EXTRA_DIST): Add yesno.h.
79168
79169 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79170
79171         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79172
79173         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79174         * m4/dev-ino.m4, same-inode.m4: Remove.
79175
79176         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79177         * m4/acl.m4 (AC_FUNC_ACL):
79178         * m4/backupfile.m4 (gl_BACKUPFILE):
79179         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79180         * m4/canon-host.m4 (gl_CANON_HOST):
79181         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79182         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79183         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79184         * m4/cloexec.m4 (gl_CLOEXEC):
79185         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79186         * m4/closeout.m4 (gl_CLOSEOUT):
79187         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79188         * m4/dirname.m4 (gl_DIRNAME):
79189         * m4/exclude.m4 (gl_EXCLUDE):
79190         * m4/exitfail.m4 (gl_EXITFAIL):
79191         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79192         * m4/file-type.m4 (gl_FILE_TYPE):
79193         * m4/filemode.m4 (gl_FILEMODE):
79194         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79195         * m4/fpending.m4 (gl_FUNC_FPENDING):
79196         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79197         * m4/fts.m4 (gl_FUNC_FTS):
79198         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79199         * m4/getdate.m4 (gl_GETDATE):
79200         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79201         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79202         * m4/getpass.m4 (gl_FUNC_GETPASS):
79203         * m4/gettime.m4 (gl_GETTIME):
79204         * m4/getugroups.m4 (gl_GETUGROUPS):
79205         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79206         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79207         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79208         * m4/hash.m4 (gl_HASH):
79209         * m4/idcache.m4 (gl_IDCACHE):
79210         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79211         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79212         * m4/long-options.m4 (gl_LONG_OPTIONS):
79213         * m4/lstat.m4 (gl_FUNC_LSTAT):
79214         * m4/md5.m4 (gl_MD5):
79215         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79216         * m4/memcoll.m4 (gl_MEMCOLL):
79217         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79218         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79219         * m4/memxor.m4 (gl_MEMXOR):
79220         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79221         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79222         * m4/modechange.m4 (gl_MODECHANGE):
79223         * m4/mountlist.m4 (gl_MOUNTLIST):
79224         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79225         * m4/openat.m4 (gl_FUNC_OPENAT):
79226         * m4/pathmax.m4 (gl_PATHMAX):
79227         * m4/physmem.m4 (gl_PHYSMEM):
79228         * m4/posixtm.m4 (gl_POSIXTM):
79229         * m4/posixver.m4 (gl_POSIXVER):
79230         * m4/quote.m4 (gl_QUOTE):
79231         * m4/quotearg.m4 (gl_QUOTEARG):
79232         * m4/readtokens.m4 (gl_READTOKENS):
79233         * m4/readutmp.m4 (gl_READUTMP):
79234         * m4/regex.m4 (gl_REGEX):
79235         * m4/safe-read.m4 (gl_SAFE_READ):
79236         * m4/safe-write.m4 (gl_SAFE_WRITE):
79237         * m4/same.m4 (gl_SAME):
79238         * m4/save-cwd.m4 (gl_SAVE_CWD):
79239         * m4/savedir.m4 (gl_SAVEDIR):
79240         * m4/settime.m4 (gl_SETTIME):
79241         * m4/sha1.m4 (gl_SHA1):
79242         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79243         * m4/stat-macros.m4 (gl_STAT_MACROS):
79244         * m4/stat-time.m4 (gl_STAT_TIME):
79245         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79246         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79247         * m4/strdup.m4 (gl_FUNC_STRDUP):
79248         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79249         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79250         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79251         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79252         * m4/time_r.m4 (gl_TIME_R):
79253         * m4/timespec.m4 (gl_TIMESPEC):
79254         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79255         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79256         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79257         * m4/userspec.m4 (gl_USERSPEC):
79258         * m4/utimecmp.m4 (gl_UTIMECMP):
79259         * m4/utimens.m4 (gl_UTIMENS):
79260         * m4/xalloc.m4 (gl_XALLOC):
79261         * m4/xgetcwd.m4 (gl_XGETCWD):
79262         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79263         * m4/xreadlink.m4 (gl_XREADLINK):
79264         * m4/xstrtod.m4 (gl_XSTRTOD):
79265         * m4/yesno.m4 (gl_YESNO):
79266         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79267         to get the necessary .h files and whatnot.
79268
79269 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79270             Bruno Haible  <bruno@clisp.org>
79271
79272         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79273         /bin/sh understanding of '!' conditional negation.
79274
79275 2006-08-21  Jim Meyering  <jim@meyering.net>
79276
79277         * modules/openat (Depends-on): Really alphabetize.
79278
79279         * modules/acl (Depends-on): Add error and quote.
79280
79281         * check-module (find_included_lib_files): Add at-func.c to the
79282         ok-to-include-more-than-once white list.
79283
79284         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79285
79286 2006-08-21  Bruno Haible  <bruno@clisp.org>
79287
79288         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79289         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79290         Reported by Martin Lambers <marlam@marlam.de>.
79291
79292 2006-08-21  Bruno Haible  <bruno@clisp.org>
79293
79294         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79295         specify an installation location, don't emit a noinst_LIBRARIES or
79296         noinst_LTLIBRARIES assignment.
79297
79298 2006-08-21  Bruno Haible  <bruno@clisp.org>
79299
79300         BeOS portability.
79301         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79302         BeOS has mbrtowc() but no <wctype.h>.
79303
79304 2006-08-21  Bruno Haible  <bruno@clisp.org>
79305
79306         BeOS portability.
79307         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79308         exist.
79309
79310 2006-08-21  Bruno Haible  <bruno@clisp.org>
79311
79312         BeOS portability.
79313         * lib/mbchar.h: Include <wctype.h> only if it exists.
79314
79315 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79316
79317         Remove files that are no longer needed by their respective modules.
79318         * m4/obstack.m4: Remove.
79319         * m4/strerror_r.m4: Remove.
79320         * m4/uint32_t.m4: Remove.
79321         * m4/uintptr_t.m4: Remove.
79322         * m4/ullong_max.m4: Remove.
79323         * m4/xstrtoimax.m4: Remove.
79324         * m4/xstrtoumax.m4: Remove.
79325
79326         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79327         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79328         dependencies now capture this.
79329
79330         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79331         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79332         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79333         * m4/human.m4 (gl_HUMAN): Likewise.
79334         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79335         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79336
79337         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79338
79339         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79340         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79341         stdint.
79342         * m4/human.m4 (gl_HUMAN): Likewise.
79343         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79344         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79345         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79346         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79347         * m4/xstrtol (gl_XSTRTOL): Likewise.
79348
79349         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79350         AC_TYPE_LONG_LONG_INT.
79351         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79352         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79353         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79354         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79355
79356         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79357         on stdbool.
79358
79359         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79360         (gl_PREREQ_XSTRTOUL): Remove.
79361
79362         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79363
79364         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79365         mode.
79366
79367 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79368
79369         Add and change modules to make it easier for coreutils to use
79370         gnulib-tool.
79371         * modules/backupfile (Files): Remove m4/d-ino.m4.
79372         (Depends-on): Add d-ino.
79373         * modules/cycle-check (Depends-on): Add stdint.
79374         (lib_SOURCES): Add cycle-check.h.
79375         * modules/d-ino: New module.
79376         * modules/d-type: New module.
79377         * modules/error (Files): Remove m4/strerror_r.m4.
79378         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79379         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79380         m4/inttypes_h.m4, m4/uintmax_t.m4.
79381         (Depends-on): Add stdint.
79382         (lib_SOURCES): Add fsusage.h.
79383         * modules/getcwd (Files): Remove d-ino.m4.
79384         (Depends-on): Add d-ino.
79385         * modules/getndelim2 (Depends-on): Add stdint.
79386         * modules/glob (Files): Remove m4/d-type.m4.
79387         (Depends-on): Add d-type.
79388         * modules/host-os: New module.
79389         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79390         m4/inttypes_h.m4, m4/uintmax_t.m4.
79391         * Depends-on: Add stdint.
79392         (lib_SOURCES): Add human.h.
79393         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79394         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79395         m4/uintmax_t.m4, m4/ulonglong.m4.
79396         (Depends-on): Add stdint.
79397         (EXTRA_DIST): Add inttostr.h.
79398         * modules/lchmod: New module.
79399         * modules/link-follow: New module.
79400         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79401         (Depends-on): Add lchmod.
79402         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79403         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79404         (Depends-on): Add stdint.
79405         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79406         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79407         (Depends-on): Add stdint.
79408         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79409         * modules/perl: New module.
79410         * modules/regex (Depends-on): Add stdint.
79411         * modules/rmdir-errno: New module.
79412         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79413         m4/intmax_t.m4.
79414         (Depends-on): Add stdint.
79415         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79416         m4/uintmax_t.m4.
79417         (Depends-on): Add stdint.
79418         * modules/unlink-busy: New module.
79419         * modules/utimecmp (Depends-on): Add stdint.
79420         * modules/uptime: New module.
79421         * modules/winsz-ioctl: New module.
79422         * modules/winsz-termios: New module.
79423         * modules/xnanosleep (Depends-on): Add nanosleep.
79424         * modules/ullong_max: Remove.
79425         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79426         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79427         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79428         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79429         (Depends-on): Add inttypes.
79430         (lib_SOURCES): Add xstrtol.h.
79431         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79432         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79433         * MODULES.html.sh: Move 'assert' into the assert section.
79434         Move 'dummy' into the linking section.
79435         Remove ullong_max.
79436         Add section for compatibility checks for POSIX:2001 functions,
79437         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79438         winsz-ioctl, and winsz-termios into it.
79439         Add lchmod.
79440         Add top-level Misc section and put host-os, perl, and uptime
79441         into it.
79442
79443 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79444
79445         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79446         now assume the stdint module.  Do not include inttypes.h.
79447         * lib/fsusage.h: Likewise.
79448         * lib/getndelim2.c: Likewise.
79449         * lib/human.h: Likewise.
79450         * lib/inttostr.h: Likewise.
79451         * lib/obstack.c: Likewise.
79452         * lib/regex_internal.h: Likewise.
79453         * lib/tempname.c: Likewise.
79454         * lib/utimecmp.c: Likewise.
79455         * lib/xstrtol.h: Likewise.
79456
79457         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79458
79459         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79460         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79461         * lib/xtime.h: Likewise.
79462
79463 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79464
79465         * modules/openat (Files): Add lib/fchmodat.c.
79466         Fixes problem reported by Jay Youngman.
79467
79468 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79469
79470         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79471         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79472
79473 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79474             Bruno Haible  <bruno@clisp.org>
79475
79476         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79477         and is a script that invokes bison. Tighten the code. Add comments.
79478
79479 2006-08-18  Jim Meyering  <jim@meyering.net>
79480
79481         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79482         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79483         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79484         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79485
79486 2006-08-18  Bruno Haible  <bruno@clisp.org>
79487
79488         * modules/bison-i18n: New file.
79489         * MODULES.html.sh (Internationalization functions): Add it.
79490
79491 2006-08-18  Bruno Haible  <bruno@clisp.org>
79492
79493         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79494         sys/statvfs.h. When getmntinfo was found, check its declaration and
79495         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79496
79497 2006-08-18  Bruno Haible  <bruno@clisp.org>
79498
79499         * m4/bison-i18n.m4: New file, from bison.
79500
79501 2006-08-18  Bruno Haible  <bruno@clisp.org>
79502
79503         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79504         (ME_DUMMY): Treat "kernfs" as a dummy.
79505         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79506
79507 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79508
79509         Update from coreutils.
79510
79511         2006-08-15  Jim Meyering  <jim@meyering.net>
79512
79513         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79514
79515         2006-01-17  Jim Meyering  <jim@meyering.net>
79516
79517         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79518
79519         2006-01-11  Jim Meyering  <jim@meyering.net>
79520
79521         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79522         Check for the lchmod function.
79523
79524 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79525
79526         Update from coreutils.
79527
79528         * lib/__fpending.h: Add copyright notice.
79529         * lib/fprintftime.h: Likewise.
79530         * lib/savedir.c: Use (C) in copyright notice.
79531         * lib/savedir.h: Likewise.
79532
79533         2006-08-15  Jim Meyering  <jim@meyering.net>
79534
79535         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79536         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79537         in support of the EXPECTED_ERRNO macro.
79538         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79539         definitions.  Instead, define the appropriate symbols and include
79540         "at-func.c".
79541         * lib/mkdirat.c (mkdirat): Likewise.
79542         * lib/fchmodat.c (fchmodat): Likewise.
79543         (ENOSYS): Remove definition.
79544         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79545         it.  Don't include "unistd--.h" -- it wasn't ever used.
79546
79547         2006-01-17  Jim Meyering  <jim@meyering.net>
79548
79549         Rewrite fts.c not to change the current working directory,
79550         by using openat, fstatat, fdopendir, etc..
79551
79552         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79553         (HAVE_OPENAT_SUPPORT): Define.
79554         [_LIBC] (fchdir): Don't undef or define; no longer used.
79555         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79556         Now, this `function' always succeeds, and consumes its file descriptor
79557         parameter -- so callers must not close such FDs.  Update callers.
79558         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79559         (diropen): Add parameter, SP.  Adjust all callers.
79560         Implement using diropen_fd, rather than open.
79561         (fts_open): Initialize new member, fts_cwd_fd.
79562         Remove fts_rft-setting code.
79563         (fts_close): Close fts_cwd_fd, if necessary.
79564         (__opendir2): Define in terms of opendir or opendirat,
79565         depending on whether the FST_NOCHDIR flag is set.
79566         (fts_build): Since fts_safe_changedir consumes its FD, and since
79567         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79568         and close the dup'd file descriptor upon failure.
79569         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79570         (fts_safe_changedir): Tweak semantics to reflect that this function
79571         now calls cwd_advance_fd and hence consumes its FD argument.
79572         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79573         [struct FTS] (fts_rft): Remove now-unused member.
79574         [struct FTS] (fts_cycle.state): Improve comment.
79575
79576         * lib/openat.c (openat_needs_fchdir): New function.
79577         * lib/openat.h (openat_needs_fchdir): Declare it.
79578
79579 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79580
79581         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79582         Problem and fix reported by Pádraig Brady in
79583         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79584
79585 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79586
79587         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79588
79589 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79590
79591         * lib/memcoll.c (memcoll): Optimize for the common case where the
79592         arguments are bytewise equal.
79593
79594 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79595
79596         * doc/regexprops-generic.texi: Add a copyright notice.
79597
79598 2006-08-15  Bruno Haible  <bruno@clisp.org>
79599
79600         * modules/tmpdir (License): Change to LGPL.
79601
79602 2006-08-15  Bruno Haible  <bruno@clisp.org>
79603
79604         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79605         module.
79606
79607 2006-08-14  Simon Josefsson  <jas@extundo.com>
79608
79609         * config/srclist.txt: Add gnupload.
79610
79611 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79612
79613         Change copyright notice from LGPL 2 to GPL 2, since that's the
79614         standard form used in the gnulib repository.
79615         * tests/test-lock.c: Likewise.
79616         * tests/test-stdint.c: Likewise.
79617         * tests/test-tls.c: Likewise.
79618
79619         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79620         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79621         Add copyright notice.
79622
79623         * check-module: Add copyright notice.  Output a copyright
79624         notice if "--version" is specified.
79625         * modules/COPYING: New file.
79626         * tests/test-getaddrinfo.c: Add copyright notice.
79627         * tests/test-verify.c: Likewise.
79628
79629 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79630
79631         Change copyright notice from LGPL 2 to GPL 2, since that's the
79632         standard form used in the gnulib repository.
79633         * lib/lock.c: LGPL -> GPL.
79634         * lib/lock.h: Likewise.
79635         * lib/strnlen1.c: Likewise.
79636         * lib/strnlen1.h: Likewise.
79637         * lib/tls.c: Likewise.
79638         * lib/tls.h: Likewise.
79639         * lib/tmpdir.c: Likewise.
79640
79641         * lib/TODO: Remove; this belongs only in coreutils.
79642
79643 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79644
79645         Add copyright notices to long-enough files that lack them, since
79646         otherwise the files aren't clearly free.  Use the same notice that
79647         getdate.texi already uses.
79648         * doc/alloca-opt.texi: Add copyright notice.
79649         * doc/alloca.texi: Likewise.
79650         * doc/ctime.texi: Likewise.
79651         * doc/functions.texi: Likewise.
79652         * doc/gcd.texi: Likewise.
79653         * doc/gnulib-tool.texi: Likewise.
79654         * doc/inet_ntoa.texi: Likewise.
79655         * doc/visibility.texi: Likewise.
79656
79657         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79658         * doc/quote.texi: Add copyright notice.
79659
79660         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79661         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79662         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79663         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79664         is now obsolete, and give a pointer to the Sun list.
79665         Add copyright notice.
79666
79667 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79668
79669         * config/srclistvars.sh: Add copyright notice.
79670
79671 2006-08-14  Eric Blake  <ebb9@byu.net>
79672
79673         Import the following change from libc:
79674
79675         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79676
79677         Upstream bug 2997.
79678         * lib/misc/error.c: Add space between program name and message if file
79679         name is missing.
79680
79681 2006-08-12  Karl Berry  <karl@gnu.org>
79682
79683         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79684         remove, these originate in gnulib now.
79685
79686 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79687
79688         * doc/Makefile (standards.info standards.html standards.dvi):
79689         Also depend on make-stds.texi.
79690
79691 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79692
79693         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79694         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79695
79696         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79697         in wchar_t.  Problem reported by Eric Blake.
79698
79699         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79700         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79701         Also, help the compiler to keep LEN in a register.
79702
79703 2006-08-11  Eric Blake  <ebb9@byu.net>
79704
79705         * users.txt: Sort.  Add tar.
79706
79707 2006-08-11  Bruno Haible  <bruno@clisp.org>
79708
79709         * users.txt: New file.
79710
79711 2006-08-11  Bruno Haible  <bruno@clisp.org>
79712
79713         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79714         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79715
79716 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79717
79718         * modules/snprintf (Depends-on): Remove minmax.
79719         (Maintainer): Add self and Bruno.
79720
79721 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79722
79723         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79724         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79725         (EOVERFLOW): Define if the system does not.
79726         Do not include "minmax.h"; it wasn't used.
79727         (snprintf): Don't assume size_t promotes to an unsigned type.
79728         Fix bug when generated string was too long for the buffer: the
79729         buffer's contents are supposed to be the initial prefix of the
79730         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79731         exceeds INT_MAX; do the check ourselves.
79732
79733         Import the following changes from libc:
79734
79735         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79736
79737         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79738         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79739         set wc to the byte which couldn't be converted.
79740         (re_string_reconstruct): Don't clear valid_raw_len before calling
79741         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79742         tip_context using re_string_context_at.
79743
79744         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79745
79746         * lib/posix/regex.h: g++ still cannot handled [restrict].
79747
79748         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79749
79750         * lib/posix/regex.h: Remove special handling for VMS.
79751
79752 2006-08-10  Jim Meyering  <jim@meyering.net>
79753
79754         * modules/same-inode: New module.
79755         * modules/dev-ino: New module.
79756         * modules/cycle-check: Depend on these modules, rather than simply
79757         including their .h files.
79758         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79759         required via m4/cycle-check.m4.
79760         * modules/same: Depend on new same-inode module, rather than
79761         including same-inode.h.
79762         * modules/chdir-safer: New file.
79763
79764         * modules/chown (Depends-on): Add stat-macros.
79765
79766 2006-08-10  Jim Meyering  <jim@meyering.net>
79767
79768         * m4/cycle-check.m4: New file.
79769         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79770         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79771
79772 2006-08-10  Eric Blake  <ebb9@byu.net>
79773
79774         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79775         in from original proposal.
79776
79777 2006-08-10  Eric Blake  <ebb9@byu.net>
79778         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79779
79780         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79781         namespace.
79782
79783 2006-08-10  Bruno Haible  <bruno@clisp.org>
79784
79785         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79786         as well.
79787
79788 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79789
79790         Sync from coreutils.
79791
79792         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79793
79794         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79795         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79796
79797 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79798
79799         * modules/restrict: Remove; no longer needed now that we assume
79800         Autoconf 2.59 or later.
79801         * MODULES.html.sh: Remove 'restrict'.
79802         * modules/argp (Depends-on): Remove 'restrict'.
79803         * modules/base64 (Depends-on): Likewise.
79804         * modules/gc (Depends-on): Likewise.
79805         * modules/getaddrinfo (Depends-on): Likewise.
79806         * modules/glob (Depends-on): Likewise.
79807         * modules/inet_ntop (Depends-on): Likewise.
79808         * modules/inet_pton (Depends-on): Likewise.
79809         * modules/memxor (Depends-on): Likewise.
79810         * modules/regex (Depends-on): Likewise.
79811         * modules/strtok_r (Depends-on): Likewise.
79812         * modules/time_r (Depends-on): Likewise.
79813
79814 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79815
79816         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79817         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79818         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79819         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79820         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79821         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79822         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79823         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79824
79825         Merge from coreutils.
79826         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79827         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79828         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79829         * m4/time_r.m4 (gl_TIME_R): Likewise.
79830
79831 2006-08-09  Karl Berry  <karl@gnu.org>
79832
79833         * config/srclist.txt: no more gettext-tools, per Bruno.
79834
79835 2006-08-08  Eric Blake  <ebb9@byu.net>
79836
79837         * modules/verror: New module.
79838         * MODULES.html.sh: Document it.
79839
79840 2006-08-08  Eric Blake  <ebb9@byu.net>
79841
79842         * lib/verror.h, lib/verror.c: New files.
79843
79844 2006-08-08  Eric Blake  <ebb9@byu.net>
79845
79846         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79847         verror_at_line output complies with GNU Coding Standards even when
79848         file is NULL.
79849
79850 2006-08-07  Bruno Haible  <bruno@clisp.org>
79851
79852         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79853         versions of AIX.
79854         Reported by Ralf Wildenhues.
79855
79856 2006-08-07  Bruno Haible  <bruno@clisp.org>
79857
79858         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79859         in an AC_DEFUN. Needed so that the autoconf snippets can use
79860         AC_REQUIRE.
79861
79862 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79863
79864         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79865         Initialize pkgdata_DATA.
79866         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79867         overriding it.
79868
79869 2006-08-06  Eric Blake  <ebb9@byu.net>
79870
79871         * lib/error.h: Fold in some upstream changes from glibc.
79872         * lib/error.c: Likewise.
79873
79874 2006-08-04  Bruno Haible  <bruno@clisp.org>
79875
79876         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79877         Make the mostlyclean-local rule depend on mostlyclean-generic.
79878         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79879
79880 2006-07-31  Bruno Haible  <bruno@clisp.org>
79881
79882         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79883         <stdlib.h>, <string.h>.
79884
79885 2006-07-30  Bruno Haible  <bruno@clisp.org>
79886
79887         * modules/readlink (License): Change to LGPL.
79888
79889 2006-07-30  Bruno Haible  <bruno@clisp.org>
79890
79891         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79892         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79893         set PKGDATADIR to point to it.
79894
79895 2006-07-30  Bruno Haible  <bruno@clisp.org>
79896
79897         * modules/csharpexec (configure.ac): Comment out macro invocation.
79898         * modules/javaexec (configure.ac): Likewise.
79899         * modules/javacomp-script (configure.ac): Likewise.
79900
79901         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79902
79903 2006-07-30  Bruno Haible  <bruno@clisp.org>
79904
79905         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79906         linked-list.
79907
79908 2006-07-30  Bruno Haible  <bruno@clisp.org>
79909
79910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79911
79912 2006-07-30  Bruno Haible  <bruno@clisp.org>
79913
79914         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79915         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79916         get removed.
79917
79918 2006-07-29  Bruno Haible  <bruno@clisp.org>
79919
79920         Make it possible for gnulib-tool to work with locally modified or
79921         augmented gnulib repositories.
79922         * gnulib-tool (func_usage): Document --local-dir option.
79923         (local_gnulib_dir): New variable.
79924         Handle --local-dir option.
79925         (func_lookup_file): New function.
79926         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79927         (func_get_description, func_get_filelist, func_get_description,
79928         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79929         func_get_automake_snippet, func_get_include_directive,
79930         func_get_license, func_get_maintainer): Use func_lookup_file.
79931         (func_import, func_create_testdir): Use func_lookup_file.
79932
79933 2006-07-29  Bruno Haible  <bruno@clisp.org>
79934
79935         * modules/setenv (Depends-on): Add unistd.
79936
79937 2006-07-29  Bruno Haible  <bruno@clisp.org>
79938
79939         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79940
79941 2006-07-29  Bruno Haible  <bruno@clisp.org>
79942
79943         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79944
79945 2006-07-29  Bruno Haible  <bruno@clisp.org>
79946
79947         * gnulib-tool (import, update): If there is no Makefile.am, look at
79948         aclocal.m4, instead of bailing out.
79949
79950 2006-07-29  Bruno Haible  <bruno@clisp.org>
79951
79952         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79953         Categorize the options by when they are useful.
79954
79955 2006-07-29  Bruno Haible  <bruno@clisp.org>
79956
79957         * gnulib-tool (func_usage): Document option --no-libtool.
79958         Handle option --no-libtool.
79959         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79960         for changed semantics of $libtool variable.
79961         (func_import): Likewise. If libtool is not used, show this through
79962         an option --no-libtool.
79963         (func_create_testdir): Update.
79964
79965 2006-07-29  Bruno Haible  <bruno@clisp.org>
79966
79967         * gnulib-tool (func_import): Extend error message about missing
79968         --doc-base.
79969
79970 2006-07-29  Bruno Haible  <bruno@clisp.org>
79971
79972         * gnulib-tool (func_import): Don't create the $docbase directory if
79973         there is no file to store there.
79974
79975 2006-07-29  Bruno Haible  <bruno@clisp.org>
79976
79977         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79978         relevant, look for configure.ac there, not in the current directory.
79979         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79980
79981 2006-07-29  Bruno Haible  <bruno@clisp.org>
79982
79983         * gnulib-tool (SORT): New variable.
79984         (func_usage): Undocument --assume-autoconf option.
79985         Remove --assume-autoconf option handling.
79986         (autoconf_minversion): Determine from the contents of configure.ac.
79987         (func_import): Remove autoconf_minversion handling.
79988         Suggested by Eric Blake.
79989
79990 2006-07-29  Bruno Haible  <bruno@clisp.org>
79991
79992         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79993
79994 2006-07-29  Bruno Haible  <bruno@clisp.org>
79995
79996         * config/srclist.txt (*setenv.[ch]): Remove rules.
79997
79998 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79999
80000         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80001
80002 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80003
80004         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80005         arpa/inet.h.
80006
80007 2006-07-28  Simon Josefsson  <jas@extundo.com>
80008
80009         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80010         * modules/inet_pton (Depends-on): Likewise.
80011
80012 2006-07-28  Simon Josefsson  <jas@extundo.com>
80013
80014         * m4/netinet_in_h.m4: New file.
80015
80016 2006-07-28  Simon Josefsson  <jas@extundo.com>
80017
80018         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80019         #include's.
80020
80021 2006-07-28  Simon Josefsson  <jas@extundo.com>
80022
80023         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80024         #include's.
80025
80026 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80027
80028         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80029         setgid on directories only if they set these bits.
80030         * lib/modechange.h: Remove obsolete comment about masks.
80031
80032 2006-07-28  Eric Blake  <ebb9@byu.net>
80033
80034         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80035         macro expansion.
80036
80037 2006-07-28  Bruno Haible  <bruno@clisp.org>
80038
80039         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80040
80041 2006-07-28  Bruno Haible  <bruno@clisp.org>
80042
80043         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80044
80045 2006-07-28  Bruno Haible  <bruno@clisp.org>
80046
80047         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80048         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80049         Define fallbacks.
80050         Avoids link error on FreeBSD 4.x.
80051         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80052
80053         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80054         encoding.
80055         * lib/mbswidth.c (iswcntrl): Likewise.
80056
80057 2006-07-27  Bruno Haible  <bruno@clisp.org>
80058
80059         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80060         test.
80061
80062 2006-07-27  Bruno Haible  <bruno@clisp.org>
80063
80064         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80065         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80066         defined.
80067
80068 2006-07-26  Eric Blake  <ebb9@byu.net>
80069
80070         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80071
80072 2006-07-26  Eric Blake  <ebb9@byu.net>
80073
80074         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80075         like mingw that lack mkstemp.
80076         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80077         avoid compilation warning on mingw.
80078
80079 2006-07-26  Bruno Haible  <bruno@clisp.org>
80080
80081         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
80082         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80083         INT_FAST*_MIN, INTPTR_MIN.
80084
80085 2006-07-25  Bruno Haible  <bruno@clisp.org>
80086
80087         * modules/version-etc (Depends-on): Add stdarg.
80088
80089 2006-07-25  Bruno Haible  <bruno@clisp.org>
80090
80091         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80092         complex commands.
80093
80094 2006-07-25  Bruno Haible  <bruno@clisp.org>
80095
80096         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80097         defined in <stdarg.h> or config.h.
80098
80099 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80100
80101         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80102         (gl_STDIO_SAFER): Remove.
80103
80104 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80105
80106         * MODULES.html.sh (File stream based Input/Output):
80107         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80108         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80109         * modules/fopen-safer, modules/tmpfile-safer: New files.
80110         * modules/stdio-safer: Remove.
80111
80112 2006-07-24  Bruno Haible  <bruno@clisp.org>
80113
80114         * modules/tmpdir: New file.
80115         * MODULES.html.sh (File system functions): Add it.
80116
80117 2006-07-24  Bruno Haible  <bruno@clisp.org>
80118
80119         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80120         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80121
80122 2006-07-24  Bruno Haible  <bruno@clisp.org>
80123
80124         * modules/clean-temp: New file.
80125
80126 2006-07-24  Bruno Haible  <bruno@clisp.org>
80127
80128         * m4/tmpdir.m4: New file, from GNU gettext.
80129
80130 2006-07-24  Bruno Haible  <bruno@clisp.org>
80131
80132         * lib/tmpdir.h: New file, from GNU gettext.
80133         * lib/tmpdir.c: New file, from GNU gettext.
80134
80135 2006-07-24  Bruno Haible  <bruno@clisp.org>
80136
80137         * lib/clean-temp.h: New file, from GNU gettext.
80138         * lib/clean-temp.c: New file, from GNU gettext.
80139
80140 2006-07-23  Eric Blake  <ebb9@byu.net>
80141
80142         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80143         (Depends-on): Add binary-io.
80144
80145 2006-07-23  Eric Blake  <ebb9@byu.net>
80146
80147         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80148
80149 2006-07-23  Eric Blake  <ebb9@byu.net>
80150
80151         * lib/tmpfile-safer.c: New file.
80152         * lib/stdio-safer.h (fopen_safer): Add prototype.
80153         * lib/stdio--.h (tmpfile): Make safer.
80154
80155 2006-07-23  Bruno Haible  <bruno@clisp.org>
80156
80157         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80158         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80159         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80160         gl_linked_remove_at): Use it.
80161
80162 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80163         and Simon Josefsson <jas@extundo.com>
80164
80165         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80166
80167         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80168
80169 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80170
80171         * modules/close-stream: New file.
80172         * modules/closeout (Description): Make it clear that it exits
80173         with a diagnostic on error.
80174         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80175         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80176
80177 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80178
80179         * m4/close-stream.m4: New file.
80180
80181 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80182
80183         * lib/close-stream.c, lib/close-stream.h: New files.
80184
80185 2006-07-22  Bruno Haible  <bruno@clisp.org>
80186
80187         Merge from GNU gettext 0.15.
80188
80189         2006-05-01  Bruno Haible  <bruno@clisp.org>
80190
80191                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80192
80193         2006-07-22  Bruno Haible  <bruno@clisp.org>
80194
80195                 * modules/javaversion: New file.
80196                 * MODULES.html.sh (Java): Add javaversion.
80197
80198         2006-03-12  Bruno Haible  <bruno@clisp.org>
80199
80200                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80201
80202         2005-12-04  Bruno Haible  <bruno@clisp.org>
80203
80204                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80205                 (untested).
80206
80207         2006-06-21  Bruno Haible  <bruno@clisp.org>
80208
80209                 Avoid warnings from recent versions of mcs.
80210                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80211                 -o, -L, -r any more. Use options documented since mcs-1.0
80212                 instead. Similarly for -g.
80213
80214         2005-12-04  Bruno Haible  <bruno@clisp.org>
80215
80216                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80217                 .resources, not .resource.
80218
80219         2005-07-09  Bruno Haible  <bruno@clisp.org>
80220
80221                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80222                 add a .dll suffix.
80223                 Reported by Mark Junker <mjscod@gmx.de>.
80224
80225         2006-07-22  Bruno Haible  <bruno@clisp.org>
80226
80227                 * modules/gettext: Upgrade to gettext-0.15.
80228                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80229                 m4/visibility.m4.
80230                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80231
80232 2006-07-22  Bruno Haible  <bruno@clisp.org>
80233
80234         Merge from GNU gettext 0.15.
80235
80236         2006-03-25  Bruno Haible  <bruno@clisp.org>
80237
80238                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80239
80240         2006-07-21  Bruno Haible  <bruno@clisp.org>
80241
80242                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80243                 "1.1".
80244
80245         2006-05-09  Bruno Haible  <bruno@clisp.org>
80246
80247                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80248                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80249                 for the conftestver execution.
80250
80251         2006-05-01  Bruno Haible  <bruno@clisp.org>
80252
80253                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80254                 optional target-version argument. Verify that the compiler
80255                 groks source of the specified source-version, or add -source
80256                 option as necessary. Verify that the compiler produces
80257                 bytecode in the specified target-version, or add -target and
80258                 -source options as necessary. Make the result of the test
80259                 available as variable CONF_JAVAC. Also log error output in
80260                 config.log.
80261
80262         2006-03-11  Bruno Haible  <bruno@clisp.org>
80263
80264                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80265
80266         2006-05-09  Bruno Haible  <bruno@clisp.org>
80267
80268                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80269                 CLASSPATH_SEPARATOR to a semicolon.
80270
80271         2006-03-12  Bruno Haible  <bruno@clisp.org>
80272
80273                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80274                 available as variable CONF_JAVA, for subsequent autoconf
80275                 tests. Also log error output in config.log.
80276
80277         2006-07-19  Bruno Haible  <bruno@clisp.org>
80278
80279                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80280                 that getline works on glibc2 systems. Needed to avoid trouble
80281                 in relocatable.c.
80282                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80283
80284         2005-12-04  Bruno Haible  <bruno@clisp.org>
80285
80286                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80287                 launcher (untested).
80288
80289         2005-12-04  Bruno Haible  <bruno@clisp.org>
80290
80291                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80292
80293         2006-07-22  Bruno Haible  <bruno@clisp.org>
80294
80295                 * gettext.m4: Update from GNU gettext-0.15.
80296                 * nls.m4: Likewise.
80297                 * po.m4: Likewise.
80298                 * inttypes-pri.m4: Likewise.
80299                 * inttypes-h.m4: Renamed from inttypes.m4.
80300                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80301
80302 2006-07-22  Bruno Haible  <bruno@clisp.org>
80303
80304         Merge from GNU gettext 0.15.
80305
80306         2005-07-05  Bruno Haible  <bruno@clisp.org>
80307
80308                 * printf-args.c (printf_fetchargs): Work around broken
80309                 definition of wint_t on mingw.
80310
80311         2005-02-12  Bruno Haible  <bruno@clisp.org>
80312
80313                 * xallocsa.h: Add extern "C" for C++.
80314
80315         2006-05-17  Bruno Haible  <bruno@clisp.org>
80316
80317                 Cygwin portability.
80318                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80319
80320         2006-04-30  Bruno Haible  <bruno@clisp.org>
80321
80322                 * progreloc.c: Include <mach-o/dyld.h> if available.
80323                 (find_executable): Use _NSGetExecutablePath when possible.
80324
80325         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80326
80327                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80328                 function.
80329
80330         2005-12-29  Bruno Haible  <bruno@clisp.org>
80331
80332                 * progreloc.c (set_program_name_and_installdir): Fix
80333                 compilation error.
80334
80335         2005-12-04  Bruno Haible  <bruno@clisp.org>
80336
80337                 Cygwin portability.
80338                 * progreloc.c: Include <windows.h> also on Cygwin.
80339                 (find_executable): Add support for Cygwin.
80340                 (set_program_name_and_installdir): Handle also platforms with
80341                 nonempty EXEEXT.
80342
80343         2006-07-11  Bruno Haible  <bruno@clisp.org>
80344
80345                 * javacomp.c: Fix a comment.
80346                 Reported by Jim Meyering.
80347
80348         2006-04-30  Bruno Haible  <bruno@clisp.org>
80349
80350                 * javacomp.h (compile_java_class): Add source_version,
80351                 target_version arguments.
80352                 * javacomp.c: Rewritten to choose only a compiler that
80353                 respects the specified source_version and target_version.
80354
80355         2006-06-27  Bruno Haible  <bruno@clisp.org>
80356
80357                 Assume correct S_ISDIR macro.
80358                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80359
80360         2006-07-22  Bruno Haible  <bruno@clisp.org>
80361
80362                 * javaversion.h: New file, from GNU gettext.
80363                 * javaversion.c: New file, from GNU gettext.
80364                 * javaversion.java: New file, from GNU gettext.
80365                 * javaversion.class: New file, from GNU gettext.
80366
80367         2006-05-17  Bruno Haible  <bruno@clisp.org>
80368
80369                 Cygwin portability.
80370                 * javaexec.c (execute_java_class): Test for jview program
80371                 also on Cygwin.
80372
80373         2006-04-09  Bruno Haible  <bruno@clisp.org>
80374
80375                 * fatal-signal.c: Don't include string.h.
80376                 (at_fatal_signal): Use a copying loop instead of memcpy.
80377
80378         2005-12-04  Bruno Haible  <bruno@clisp.org>
80379
80380                 * csharpexec.c: Add support for 'clix' launcher (untested).
80381                 (execute_csharp_using_sscli): New function.
80382                 (execute_csharp_program): Call it.
80383
80384         2006-06-21  Bruno Haible  <bruno@clisp.org>
80385
80386                 Avoid warnings from recent versions of mcs.
80387                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80388                 -o, -L, -r any more. Use options documented since mcs-1.0
80389                 instead. Similarly for -g.
80390
80391         2005-07-09  Bruno Haible  <bruno@clisp.org>
80392
80393                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80394                 add a .dll suffix.
80395                 Reported by Mark Junker <mjscod@gmx.de>.
80396
80397         2006-06-17  Bruno Haible  <bruno@clisp.org>
80398
80399                 * config.charset: Update for NetBSD 3.0.
80400
80401         2006-05-17  Bruno Haible  <bruno@clisp.org>
80402
80403                 Cygwin portability.
80404                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80405
80406         2006-05-16  Bruno Haible  <bruno@clisp.org>
80407
80408                 * localcharset.c [CYGWIN]: Include <windows.h>.
80409                 (get_charset_aliases): For Cygwin, return the same CPxxx
80410                 aliases list as under WIN32.
80411                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80412                 the environment variables. Fall back to GetACP().
80413
80414         2006-04-05  Bruno Haible  <bruno@clisp.org>
80415
80416                 * config.charset: Update Juan Manuel Guerrero's address.
80417
80418         2005-02-12  Bruno Haible  <bruno@clisp.org>
80419
80420                 * allocsa.h: Add extern "C" for C++.
80421
80422         2005-02-10  Bruno Haible  <bruno@clisp.org>
80423
80424                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80425                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80426
80427         2006-07-22  Bruno Haible  <bruno@clisp.org>
80428
80429                 * gettext.h: Update to GNU gettext-0.15.
80430
80431 2006-07-22  Bruno Haible  <bruno@clisp.org>
80432
80433         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80434         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80435         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80436
80437 2006-07-21  Eric Blake  <ebb9@byu.net>
80438
80439         * modules/stdlib-safer: New file.
80440         * MODULES.html.sh (File stream based Input/Output): Add
80441         stdlib-safer.
80442
80443 2006-07-21  Eric Blake  <ebb9@byu.net>
80444
80445         * lib/stdlib-safer.h: New file from coreutils, required by
80446         stdlib--.h.
80447
80448 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80449
80450         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80451
80452 2006-07-20  Bruno Haible  <bruno@clisp.org>
80453
80454         * gnulib-tool: Recognize new option --assume-autoconf.
80455         (autoconf_minversion): New variable.
80456         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80457
80458 2006-07-20  Bruno Haible  <bruno@clisp.org>
80459
80460         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80461
80462 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80463
80464         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80465         Reindent and repaginate.
80466
80467 2006-07-19  Derek Price  <derek@ximbiot.com>
80468
80469         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80470         Correct grammar.
80471
80472 2006-07-17  Bruno Haible  <bruno@clisp.org>
80473
80474         * modules/list: New file.
80475         * modules/array-list: New file.
80476         * modules/carray-list, modules/carray-list-tests: New files.
80477         * modules/linked-list, modules/linked-list-tests: New files.
80478         * modules/avltree-list, modules/avltree-list-tests: New files.
80479         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80480         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80481         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80482         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80483         * modules/oset: New file.
80484         * modules/array-oset: New file.
80485         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80486         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80487         * tests/test-carray_list.c: New file.
80488         * tests/test-linked_list.c: New file.
80489         * tests/test-avltree_list.c: New file.
80490         * tests/test-rbtree_list.c: New file.
80491         * tests/test-linkedhash_list.c: New file.
80492         * tests/test-avltreehash_list.c: New file.
80493         * tests/test-rbtreehash_list.c: New file.
80494         * tests/test-avltree_oset.c: New file.
80495         * tests/test-rbtree_oset.c: New file.
80496         * MODULES.html.sh (Container data structures): New section.
80497
80498 2006-07-17  Bruno Haible  <bruno@clisp.org>
80499
80500         * m4/gl_list.m4: New file.
80501
80502 2006-07-17  Bruno Haible  <bruno@clisp.org>
80503
80504         * lib/gl_list.h: New file.
80505         * lib/gl_list.c: New file.
80506         * lib/gl_array_list.h: New file.
80507         * lib/gl_array_list.c: New file.
80508         * lib/gl_carray_list.h: New file.
80509         * lib/gl_carray_list.c: New file.
80510         * lib/gl_linked_list.h: New file.
80511         * lib/gl_linked_list.c: New file.
80512         * lib/gl_anylinked_list1.h: New file.
80513         * lib/gl_anylinked_list2.h: New file.
80514         * lib/gl_avltree_list.h: New file.
80515         * lib/gl_avltree_list.c: New file.
80516         * lib/gl_anyavltree_list1.h: New file.
80517         * lib/gl_anyavltree_list2.h: New file.
80518         * lib/gl_rbtree_list.h: New file.
80519         * lib/gl_rbtree_list.c: New file.
80520         * lib/gl_anyrbtree_list1.h: New file.
80521         * lib/gl_anyrbtree_list2.h: New file.
80522         * lib/gl_anytree_list1.h: New file.
80523         * lib/gl_anytree_list2.h: New file.
80524         * lib/gl_linkedhash_list.h: New file.
80525         * lib/gl_linkedhash_list.c: New file.
80526         * lib/gl_anyhash_list1.h: New file.
80527         * lib/gl_anyhash_list2.h: New file.
80528         * lib/gl_avltreehash_list.h: New file.
80529         * lib/gl_avltreehash_list.c: New file.
80530         * lib/gl_rbtreehash_list.h: New file.
80531         * lib/gl_rbtreehash_list.c: New file.
80532         * lib/gl_anytreehash_list1.h: New file.
80533         * lib/gl_anytreehash_list2.h: New file.
80534
80535         * lib/gl_oset.h: New file.
80536         * lib/gl_oset.c: New file.
80537         * lib/gl_array_oset.h: New file.
80538         * lib/gl_array_oset.c: New file.
80539         * lib/gl_avltree_oset.h: New file.
80540         * lib/gl_avltree_oset.c: New file.
80541         * lib/gl_rbtree_oset.h: New file.
80542         * lib/gl_rbtree_oset.c: New file.
80543         * lib/gl_anytree_oset.h: New file.
80544
80545 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80546
80547         * m4/mkancesdirs.m4: New file.
80548         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80549         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80550         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80551         it.
80552
80553 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80556         * lib/mkancesdirs.h: New files.
80557         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80558         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80559         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80560         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80561         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80562         callers changed.  Revamp internals significantly, by not
80563         attempting to create directories that are temporarily more
80564         permissive than the final results.  Do not attempt to use
80565         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80566         This removes some race conditions, fixes some bugs, and simplifies
80567         things.  Use new dirchownmod function to do owner and mode changes.
80568         * lib/mkdir-p.h: Likewise.
80569         * lib/modechange.c (octal_to_mode): New function.
80570         (struct mode_change): New member mentioned.
80571         (make_node_op_equals): New arg mentioned.  All callers changed.
80572         (mode_compile): Keep track of which mode bits the user has explicitly
80573         mentioned.
80574         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80575         New arg PMODE_BITS, to keep track of which mode bits the user
80576         mentioned; it treats S_ISUID and S_ISGID speciall.
80577         All callers changed.
80578         * lib/modechange.h: Likewise.
80579
80580 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80581
80582         * MODULES.html.sh: Add mkancestors.
80583         * modules/mkancesdirs: New module.
80584         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80585         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80586         The chdir-safer and afs files are now orphans; I'll remove them
80587         unless someone speaks up.
80588         Add lib/dirchownmod.c, lib/dirchownmod.h.
80589         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80590         Add lchown, mkancesdirs.
80591         (Maintainer): Add self.
80592
80593 2006-07-15  Karl Berry  <karl@gnu.org>
80594
80595         * gnulib-tool: help message wording/arrangement.
80596
80597 2006-07-14  Simon Josefsson  <jas@extundo.com>
80598
80599         * doc/gnulib.texi (Libtool and Windows): New section.
80600
80601 2006-07-12  Simon Josefsson  <jas@extundo.com>
80602
80603         * modules/gendocs (License): Fix license, approved by Karl.
80604
80605 2006-07-12  Eric Blake  <ebb9@byu.net>
80606
80607         * MODULES.html.sh: Add gendocs.
80608
80609 2006-07-11  Eric Blake  <ebb9@byu.net>
80610
80611         * modules/fdl: New module, to install doc/fdl.texi.
80612         * MODULES.html.sh: Add new section for documentation modules.
80613         * gnulib-tool: Avoid space-tab.
80614         (--doc-base): New option, to manage files from doc.
80615
80616 2006-07-11  Eric Blake  <ebb9@byu.net>
80617
80618         * m4/absolute-header.m4: Fix comments to match recent change.
80619
80620 2006-07-11  Eric Blake  <ebb9@byu.net>
80621
80622         * gnulib-tool: List --doc-base before --tests-base.
80623
80624 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80625
80626         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80627
80628 2006-07-11  Bruno Haible  <bruno@clisp.org>
80629
80630         * README: Mention where to put documentation.
80631
80632 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80633
80634         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80635
80636 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80637
80638         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80639         to stdint.m4.
80640
80641 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80642
80643         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80644         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80645         "no/such/file/stdint.h" when there is no such file, so that
80646         the resulting C code can be parsed by dodgy compilers.
80647         Problems reported by Bob Proulx.
80648
80649 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80650
80651         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80652         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80653         macros into the GNU _D_EXACT_NAMLEN.
80654         * lib/savedir.c:  Likewise.
80655         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80656
80657 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80658         and Paul Eggert  <eggert@cs.ucla.edu>
80659
80660         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80661         * m4/savedir.m4:
80662         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80663         macros into the GNU _D_EXACT_NAMLEN.
80664
80665 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80666
80667         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80668         around the absolute name, to work around a problem with the HP-UX
80669         11.23 native C compiler, reported by Bob Proulx.
80670
80671 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80672
80673         * doc/maintain.texi, make-stds.texi: Sync from
80674         <http://savannah.gnu.org/projects/gnustandards>.
80675
80676 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80677
80678         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80679
80680 2006-07-09  Jim Meyering  <jim@meyering.net>
80681
80682         * m4/glob.m4: Remove a doubled word in a comment.
80683
80684 2006-07-09  Jim Meyering  <jim@meyering.net>
80685
80686         * lib/argp-pv.c: Remove a doubled word in a comment.
80687         * lib/check-version.c (check_version): Likewise.
80688         * lib/javacomp.c (compile_java_class): Likewise.
80689
80690 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80691
80692         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80693         for the benefit of people using Autoconf 2.60.  If you want to
80694         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80695         (or m4/onceonly.m4, if pre-2.57) manually.
80696
80697 2006-07-08  Jim Meyering  <jim@meyering.net>
80698
80699         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80700         comment.
80701         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80702         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80703         comment.
80704
80705 2006-07-08  Jim Meyering  <jim@meyering.net>
80706
80707         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80708
80709 2006-07-07  Simon Josefsson  <jas@extundo.com>
80710
80711         * tests/test-crc.c: Change expected crc value, the test vector
80712         were probably computed using the old broken crc.c?
80713
80714 2006-07-06  Simon Josefsson  <jas@extundo.com>
80715
80716         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80717         now the canonical place for the M4 file).
80718
80719         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80720         from the sys_socket dependency now.
80721
80722         * modules/inet_pton (Files): Ditto.
80723
80724         * modules/inet_ntop (Files): Ditto.
80725
80726 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80727
80728         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80729         not gl_PREREQ_GETUSERSHELL.
80730
80731 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80732
80733         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80734         with only one argument, for Autoconf 2.60.
80735         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80736         expand to nothing, so add a shell command to avoid syntax error.
80737         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80738
80739 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80740
80741         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80742
80743 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80744
80745         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80746         no longer needed.  Check for isblank decl.
80747         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80748         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80749         of existence.
80750
80751 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80752
80753         * lib/getloadavg.c: Use __VMS, not VMS.
80754         * lib/getopt.c: Likewise.
80755         * lib/getpagesize.h: Likewise.
80756         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80757         and probably does not work.
80758
80759 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80760
80761         * lib/.cppi-disable: Add wcwidth.
80762         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80763         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80764         (ISGRAPH): Remove.  All uses changed to isgraph.
80765         (FOLD) [!defined _LIBC]: Remove special case.
80766         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80767         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80768         HAVE_ISBLANK.
80769         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80770         case.
80771
80772 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80773
80774         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80775         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80776         brackets.  Other minor changes to suppress some compiler
80777         warnings.
80778
80779 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80780         and Paul Eggert  <eggert@cs.ucla.edu>
80781
80782         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80783         of invoking obsolescent AC_HEADER_DIRENT macro.
80784         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80785         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80786         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80787         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80788         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80789         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80790         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80791         * m4/readdir.m4: Remove; no longer needed.
80792
80793 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80794         and Paul Eggert  <eggert@cs.ucla.edu>
80795
80796         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80797         Don't worry about this obsolete case any more.
80798         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80799         directories.
80800         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80801         worry about this obsolete case any more.
80802         * lib/fts.c: Likewise.
80803         * lib/getcwd.c: Likewise.
80804         * lib/glob.h: Likewise.
80805         * lib/savedir.c: Likewise.
80806
80807 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80808
80809         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80810         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80811         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80812         needed.
80813         All uses removed.
80814         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80815         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80816         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80817         needed.
80818         * m4/getdate.m4 (gl_GETDATE): Likewise.
80819         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80820         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80821         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80822         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80823         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80824         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80825         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80826         needed.
80827
80828 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80829
80830         * lib/memcasecmp.c: Include <limits.h>.
80831         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80832         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80833         Don't assume isdigit succeeds only on '0' through '9'.
80834
80835 2006-07-05  Eric Blake  <ebb9@byu.net>
80836
80837         * modules/getaddrinfo (Depends-on): Add snprintf.
80838
80839 2006-07-05  Eric Blake  <ebb9@byu.net>
80840
80841         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80842         to avoid 'header present but could not be compiled' on cygwin.
80843
80844 2006-07-05  Eric Blake  <ebb9@byu.net>
80845
80846         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80847         missing from netdb.h.
80848         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80849
80850 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80851
80852         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80853         no longer needed.
80854         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80855         * m4/getdate.m4 (gl_GETDATE): Likewise.
80856         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80857         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80858         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80859         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80860         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80861
80862 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80863
80864         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80865         All uses of is_space replaced by isspace.
80866         * lib/exit.h: Don't talk about STDC_HEADERS.
80867         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80868         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80869         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80870         replaced by isprint etc.
80871         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80872         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80873         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80874         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80875         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80876         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80877
80878 2006-07-05  Bruno Haible  <bruno@clisp.org>
80879
80880         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80881         the function exists, before testing against AIX.
80882         Reported by Martin Lambers <marlam@marlam.de>.
80883
80884 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80885
80886         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80887         From Mark D. Baushke.
80888
80889 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80890
80891         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80892         to the absolute name, not just one, to bypass Sun C 5.8's
80893         "warning: #include of /usr/include/... may be non-portable".
80894
80895 2006-07-04  Eric Blake  <ebb9@byu.net>
80896
80897         * modules/dirname-tests: New test module.
80898         * tests/test-dirname.c: New file, replacing dirname.c
80899         TEST_DIRNAME section that was recently deleted.
80900
80901 2006-07-04  Bruno Haible  <bruno@clisp.org>
80902
80903         Assume ANSI C header files and <ctype.h> functions.
80904         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80905         (mbsnwidth): Use isprint, iscntrl instead.
80906
80907 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80908
80909         Merge from coreutils.
80910         * MODULES.html.sh: Add xstrtold.
80911         * modules/xstrtold: New file.
80912         * modules/cycle-check (Files): Add lib/same-inode.h.
80913         * modules/dirname (Files): Add m4/double-slash-root.m4.
80914         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80915         * modules/mkdir-p (Files): Add lib/same-inode.h.
80916         * modules/same (Files): Add lib/same-inode.h.
80917
80918 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80919
80920         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80921         This is to keep the terminology clean; POSIX talks about
80922         "absolute pathnames", not "full pathnames", but the GNU
80923         Coding Standards say to use "path" for something else;
80924         so use "absolute" to keep both sides happy.
80925         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80926         Set gl_absolute_header, not gl_full_header_path.
80927         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80928         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80929         All uses changed.
80930
80931         Merge from coreutils.
80932
80933         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80934
80935         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80936         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80937         want to require the building of c-strtod.o.
80938         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80939         needs -lm directly.
80940         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80941
80942         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80943
80944         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80945         --as-needed option if available.  Problem reported by Albert Chin in
80946         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80947         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80948         cc merely issues a bunch of annoying warnings for --as-needed
80949         (this problem was reported by Bob Proulx).  Also, try linking with
80950         -lm to detect a bug in binutils 2.16 (this problem was reported
80951         by Ralf Wildenhues).
80952
80953         2006-06-18  Jim Meyering  <jim@meyering.net>
80954
80955         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80956         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80957         macro.
80958         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80959         also check for glibc-2.4's abort-inducing bug.
80960
80961         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80962         Low-probability clean-up should be to use rmdir to get rid of
80963         the just-created directory, not unlink.
80964
80965         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80966         configure fail, and request a bug report to inform us about it.
80967         Add a comment that, barring reports to the contrary, in 2007 we'll
80968         assume ftruncate is universally available.
80969
80970         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80971
80972         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80973
80974         2006-03-12  Jim Meyering  <jim@meyering.net>
80975
80976         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80977         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80978         * m4/same.m4 (gl_SAME): Likewise.
80979         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80980
80981         2006-03-11  Eric Blake  <ebb9@byu.net>
80982
80983         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80984         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80985         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80986         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80987
80988 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80989
80990         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80991         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80992         reported by Mark D. Baushke, one in
80993         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80994
80995         Merge from coreutils.
80996
80997         * lib/.cppi-disable: Add stdint_.h.
80998         * lib/.cvsignore: Add stdint.h.
80999
81000         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81001
81002         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81003         both double and long double versions.
81004         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81005         * lib/xstrtold.c: New file.
81006         * lib/xstrtod.h (xstrtold): New decl.
81007
81008         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81009
81010         * lib/filemode.c (setst): Remove.
81011         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81012         (arguably) clearer, and the generated code is a bit smaller on my
81013         Debian GNU/Linux stable x86 host.
81014
81015         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81016
81017         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81018         Assume that filemode.h includes sys/types.h and sys/stat.h.
81019         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81020         (ftypelet): Reorder to put common cases first, for efficiency.
81021         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81022         to do 'M'.
81023         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81024         of 10, for compatibility with FreeBSD.  All callers changed.
81025         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81026         types that can't be deduced solely from st_mode.  First arg is now a
81027         const pointer.
81028         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81029         (strmode): Renamed from mode_string.
81030         (filemodestring): New decl.
81031         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81032         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81033         needed.
81034         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81035
81036         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81037
81038         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81039         fsusage.h now does that.  Include fsusage.h first, to test interface.
81040         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81041         at most one method (the old code could have generated decls that
81042         didn't conform to C89, not that this was ever exercised).
81043         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81044
81045         2006-03-19  Jim Meyering  <jim@meyering.net>
81046
81047         Work even in a chroot where d_ino values for entries in "/"
81048         don't match the stat.st_ino values for the same names.
81049         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81050         number, iterate through all entries again, using lstat instead.
81051         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81052         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81053
81054         * lib/getcwd.c (__getcwd): Clarify a comment.
81055         Use memcpy in place of a call to strcpy.
81056
81057         2006-03-12  Jim Meyering  <jim@meyering.net>
81058
81059         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81060         matches that of the current directory (which we're about to chdir ".."
81061         out of), then save the dev-ino of the parent, instead.
81062
81063         * lib/same-inode.h (SAME_INODE): New file/macro.
81064         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81065         Include "same-inode.h", instead.
81066         * lib/same.c: Likewise.
81067         * lib/cycle-check.h: Include "same-inode.h".
81068         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81069         * lib/cycle-check.c (SAME_INODE): Remove definition.
81070         * lib/root-dev-ino.h: Include "same-inode.h".
81071
81072         2006-03-11  Eric Blake  <ebb9@byu.net>
81073
81074         * lib/same.c (same_name): s/base_name/last_component/
81075         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81076         * lib/filenamecat.c (file_name_concat): Likewise.
81077
81078         2006-03-11  Eric Blake  <ebb9@byu.net>,
81079                     Paul Eggert  <eggert@cs.ucla.edu>
81080
81081         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
81082         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81083         drive prefix.
81084         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81085         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81086         (last_component): New method.
81087         * lib/dirname.c (dir_len): Determine when drive letters need a
81088         subsequent slash.  Preserve // when it is special.
81089         (dir_name): Don't append dot when drive letter is absolute.
81090         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81091         * lib/basename.c (base_name): New semantics - malloc the result.
81092         Preserve // when it is special.  Preserve relative files that look
81093         like drive letters.
81094         (base_len): Preserve // when it is special.
81095         (last_component): New method, similar to old base_name semantics.
81096         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81097         base_name.  Strip redundant slashes from ///.
81098
81099 2006-07-03  Jim Meyering  <jim@meyering.net>
81100
81101         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81102         macro is used before the first cycle_check call.
81103
81104 2006-07-03  Eric Blake  <ebb9@byu.net>
81105
81106         * modules/dirname (Depends-on): Add xstrndup.
81107
81108 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81109
81110         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81111         test cases, so that config.log is a bit easier to follow.
81112
81113 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81114
81115         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81116         both are 64 bits, since this seems to be the tradition, and this
81117         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81118         we ever run into a host that prefers long long to long in this
81119         case, we'll need another configure-time test.  Problem reported by
81120         Jim Meyering.
81121
81122 2006-07-02  Eric Blake  <ebb9@byu.net>
81123
81124         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81125
81126 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81127
81128         * modules/inttypes (Depends-on): No longer depends on stdint.
81129         * modules/stdint (Description): Say more about assumptions.
81130         Say that the fast types might differ.  Say macros are used.
81131         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81132         (Makefile.am): Revise list of substituted symbols to match
81133         new stdint.m4.
81134         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81135         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81136         * tests/test-stdint.c (verify_same_types)
81137         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81138         the code conforms to C99/C89.
81139         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81140         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81141
81142 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81143
81144         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81145         but fix a bug, by requiring at least 64 bits.
81146         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81147         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81148         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81149         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81150
81151         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81152         changes.  Make 2.59 a prerequisite.  Check and substitute for
81153         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81154         inttypes.h.  Do not use special include files; just use the
81155         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81156         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81157         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81158         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81159         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81160         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81161         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81162         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81163         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81164         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81165         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81166         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81167         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81168         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81169         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81170         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81171         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81172         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81173         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81174         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81175         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81176         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81177         not check for things that C99 does not require, e.g., int8_t.  If
81178         a test isn't needed unless <stdint.h> isn't working, and is
81179         unlikely to be needed for any other reason, then don't do it
81180         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81181         size_t, since we assume C89 freestanding at least.  Do not check
81182         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81183         the right thing even if the types are not defined.  Instead use:
81184         (gl_STDINT_TYPE_PROPERTIES): New macro.
81185         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81186         testing whether <sys/types.h> clashes, as Autoconf does this for
81187         us now.  All uses removed.
81188         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81189         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81190         (gl_CHECK_TYPE_SAME):
81191         Remove; no longer needed.
81192         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81193         exists, since we'll return 0 anyway in that case.
81194         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81195
81196 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81197
81198         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81199         possible collision with system files.
81200         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81201         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81202         WCHAR_MIN and WCHAR_MAX in this case.
81203         (<stddef.h>): Do not include; no longer needed.
81204         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81205         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81206         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81207         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81208         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81209         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81210         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81211         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81212         !defined(__c99))]: Include in this case too, since it's harmless
81213         now.
81214         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81215         dangerous to do so.
81216         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81217         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81218         (_STDINT_MIN, _STDINT_MAX): New macros.
81219         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81220         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81221         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81222         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81223         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81224         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81225         macros, not typedefs; this simplifies things quite a bit.
81226         Use long int for all types narrower than int64_t.
81227         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81228         Define in terms of long long int or int64_t or long int,
81229         not int64_t or int32_t.  This saves some compile-time testing.
81230         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81231         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81232         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81233         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81234         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81235         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81236         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81237         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81238         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81239         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81240         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81241         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81242         undef any previous version and define our own version, for
81243         simplicity and consistency with the new macros for types.
81244         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81245         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81246         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81247         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81248         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81249         @WINT_T_SUFFIX@ to keep things simple here.
81250         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81251         Simplify by assuming typical 8/16/32/64 host, since we're
81252         already doing that elsewhere anyway.
81253         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81254         and assume long long int is 64 bits if available.  This
81255         speeds up 'configure'.
81256
81257 2006-07-01  Eric Blake  <ebb9@byu.net>
81258
81259         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81260         Reported by Andreas Buening.
81261
81262 2006-07-01  Eric Blake  <ebb9@byu.net>
81263
81264         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81265
81266 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81267
81268         * lib/getaddrinfo.c: fixed typo
81269
81270 2006-06-29  Jim Meyering  <jim@meyering.net>
81271
81272         * modules/strftime (Maintainer): Add my name, since with the
81273         FPRINTFTIME changes strftime.c has forked from glibc.
81274
81275 2006-06-29  Eric Blake  <ebb9@byu.net>
81276
81277         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81278
81279 2006-06-29  Eric Blake  <ebb9@byu.net>
81280
81281         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81282
81283 2006-06-29  Eric Blake  <ebb9@byu.net>
81284
81285         * lib/stat_.h: New file.
81286
81287 2006-06-29  Eric Blake  <ebb9@byu.net>
81288
81289         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81290         unused static function.
81291
81292 2006-06-29  Eric Blake  <ebb9@byu.net>
81293
81294         * doc/functions.texi (Function Portability): Document missing lstat
81295         on mingw.
81296
81297 2006-06-29  Eric Blake  <ebb9@byu.net>
81298
81299         * MODULES.html.sh: Add sys_stat.
81300         * modules/sys_stat: New module.
81301         * modules/mkstemp (Depends-on): Add sys_stat.
81302
81303 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81304
81305         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81306
81307 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81308
81309         * m4/c-bs-a.m4: Removed.
81310
81311 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81312
81313         * lib/strftime.c: Assume strftime() exists.
81314
81315 2006-06-29  Derek Price  <derek@ximbiot.com>
81316
81317         * modules/c-bs-a: Removed - \a is C89.
81318         * MODULES.html.sh: Remove c-bs-a.
81319
81320 2006-06-29  Bruno Haible  <bruno@clisp.org>
81321
81322         * modules/wcwidth (License): Change to LGPL.
81323
81324 2006-06-28  Simon Josefsson  <jas@extundo.com>
81325
81326         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81327         on _WIN32.
81328
81329         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81330         getnameinfo.
81331
81332 2006-06-28  Simon Josefsson  <jas@extundo.com>
81333
81334         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81335
81336 2006-06-28  Simon Josefsson  <jas@extundo.com>
81337
81338         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81339         functions there.  It will succeed on Windows XP, but on Windows
81340         2000 and (presumably) earlier, it will fail, and use the internal
81341         re-implementation.
81342         (use_win32_p): New function.
81343         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81344         Support AI_NUMERICSERV to disable getservbyname.
81345         (getnameinfo): New function, only supports
81346         NI_NUMERICHOST|NI_NUMERICSERV for now.
81347
81348         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81349         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81350         getnameinfo.
81351
81352 2006-06-28  Eric Blake  <ebb9@byu.net>
81353
81354         * modules/wcwidth: New file.
81355         * modules/mbchar (Depends-on): Add wcwidth.
81356         * modules/mbswidth (Depends-on): Add wcwidth.
81357         * MODULES.html.sh: Add wcwidth.
81358
81359 2006-06-28  Eric Blake  <ebb9@byu.net>
81360
81361         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81362         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81363
81364 2006-06-28  Eric Blake  <ebb9@byu.net>
81365
81366         * lib/xvasprintf.h: Fix comments.
81367
81368 2006-06-28  Eric Blake  <ebb9@byu.net>
81369
81370         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81371         * lib/mbswidth.c (wcwidth): Move from here...
81372         * lib/wcwidth.h: ...to this new file.
81373
81374 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81375
81376         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81377
81378         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81379         it's obsolete.
81380         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81381
81382 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81383
81384         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81385         Autoconf 2.60 says this stuff was obsolete.
81386
81387 2006-06-28  Bruno Haible  <bruno@clisp.org>
81388
81389         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81390
81391 2006-06-28  Bruno Haible  <bruno@clisp.org>
81392
81393         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81394         gt_TYPE_WCHAR_T.
81395
81396 2006-06-28  Bruno Haible  <bruno@clisp.org>
81397
81398         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81399         declaration for wcwidth.
81400         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81401
81402 2006-06-28  Bruno Haible  <bruno@clisp.org>
81403
81404         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81405         (mkdir): Define using _mkdir.
81406
81407 2006-06-28  Bruno Haible  <bruno@clisp.org>
81408
81409         * lib/getaddrinfo.h: Fix POSIX URL.
81410         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81411         _WIN32.
81412         (use_win32_p): Make static.
81413         (getaddrinfo): Reject service name if it is empty or does not consist
81414         solely of decimal digits, or if its value is > 65535.
81415         (getnameinfo): Remove useless casts.
81416
81417 2006-06-27  Simon Josefsson  <jas@extundo.com>
81418
81419         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81420         Eggert and Martin Lambers.
81421
81422 2006-06-27  Simon Josefsson  <jas@extundo.com>
81423
81424         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81425         Eggert and Martin Lambers.
81426
81427 2006-06-27  Bruno Haible  <bruno@clisp.org>
81428
81429         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81430         result to 0, not to empty.
81431         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81432
81433 2006-06-27  Bruno Haible  <bruno@clisp.org>
81434
81435         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81436
81437 2006-06-26  Simon Josefsson  <jas@extundo.com>
81438
81439         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81440         present.
81441
81442 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81443
81444         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81445         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81446         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81447
81448 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81449
81450         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81451
81452 2006-06-26  Bruno Haible  <bruno@clisp.org>
81453
81454         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81455
81456 2006-06-26  Bruno Haible  <bruno@clisp.org>
81457
81458         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81459
81460 2006-06-26  Bruno Haible  <bruno@clisp.org>
81461
81462         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81463         SGI C compiler in pre-C99 mode.
81464         Suggested by Mark D. Baushke and Larry Jones.
81465
81466 2006-06-26  Bruno Haible  <bruno@clisp.org>
81467
81468         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81469         WCHAR_MAX.
81470         Reported by Mark D. Baushke and Larry Jones.
81471
81472 2006-06-26  Bruno Haible  <bruno@clisp.org>
81473
81474         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81475         in pre-C99 mode.
81476         Suggested by Mark D. Baushke and Larry Jones.
81477
81478 2006-06-23  Simon Josefsson  <jas@extundo.com>
81479             Bruno Haible  <bruno@clisp.org>
81480
81481         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81482         Emit mostlyclean-local rule.
81483         (func_emit_tests_Makefile_am): Likewise.
81484         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81485
81486 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81487
81488         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81489
81490 2006-06-23  Bruno Haible  <bruno@clisp.org>
81491
81492         * tests/test-stdint.c: Update to match ISO C 99 Technical
81493         Corrigendum 1.
81494
81495 2006-06-23  Bruno Haible  <bruno@clisp.org>
81496
81497         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81498
81499 2006-06-23  Bruno Haible  <bruno@clisp.org>
81500
81501         * lib/stdint_.h: Treat IRIX like OpenBSD.
81502
81503 2006-06-23  Bruno Haible  <bruno@clisp.org>
81504
81505         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81506         ISO C 99 Technical Corrigendum 1.
81507
81508 2006-06-22  Simon Josefsson  <jas@extundo.com>
81509
81510         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81511         MinGW.
81512
81513 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81514
81515         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81516         needed.  Some compiler complained about some of them.  Problem reported
81517         by Larry Jones in
81518         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81519
81520 2006-06-21  Simon Josefsson  <jas@extundo.com>
81521
81522         * tests/test-getaddrinfo.c: New file.
81523
81524         * modules/getaddrinfo-tests: New file.
81525
81526         * MODULES.html.sh: Add inet_pton.
81527
81528         * modules/inet_pton: New file.
81529
81530 2006-06-21  Simon Josefsson  <jas@extundo.com>
81531
81532         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81533         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81534         of using the (limited) gnulib implementation on Windows XP.
81535
81536         * m4/inet_pton.m4: New file.
81537
81538 2006-06-21  Simon Josefsson  <jas@extundo.com>
81539
81540         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81541         variable.
81542
81543         * lib/socket_.h: Don't define WINVER.
81544
81545         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81546         slightly modified to work in gnulib.
81547
81548 2006-06-21  Simon Josefsson  <jas@extundo.com>
81549
81550         * doc/gnulib.texi (Windows sockets): Add.
81551
81552 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81553
81554         * lib/read-file.c (fread_file): Start with buffer allocation of
81555         0 bytes rather than 1 byte; this simplifies the code.
81556         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81557         code to free buffer and save/restore errno.
81558         (internal_read_file): Remove unused local.
81559
81560 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81561
81562         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81563         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81564         Problem reported by Denis Excoffier in
81565         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81566
81567 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81568
81569         * modules/sys_socket, modules/socklen: Include sys/types since
81570         FreeBSD 4.x's sys/socket.h needs it.
81571
81572 2006-06-19  Simon Josefsson  <jas@extundo.com>
81573
81574         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81575
81576 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81577
81578         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81579
81580 2006-06-19  Bruno Haible  <bruno@clisp.org>
81581
81582         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81583         and FULL_PATH_INTTYPES_H in angle brackets.
81584         Reported by Mark D. Baushke <mdb@gnu.org>.
81585
81586 2006-06-17  Eric Blake  <ebb9@byu.net>
81587
81588         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81589         errno.
81590
81591 2006-06-17  Bruno Haible  <bruno@clisp.org>
81592
81593         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81594         <sys/inttypes.h>.
81595
81596 2006-06-17  Bruno Haible  <bruno@clisp.org>
81597
81598         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81599         whether errno is declared. Assume <errno.h> declares errno.
81600
81601 2006-06-17  Bruno Haible  <bruno@clisp.org>
81602
81603         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81604
81605 2006-06-17  Bruno Haible  <bruno@clisp.org>
81606
81607         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81608         problem on Solaris 2.5.1.
81609
81610 2006-06-16  Eric Blake  <ebb9@byu.net>
81611
81612         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81613         * lib/unicodeio.c [!defined errno]: Likewise.
81614         * lib/strtol.c [!defined errno]: Likewise.
81615         * lib/strtod.c [!defined errno]: Likewise.
81616
81617 2006-06-15  Eric Blake  <ebb9@byu.net>
81618
81619         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81620
81621 2006-06-15  Eric Blake  <ebb9@byu.net>
81622
81623         * config/srclist.txt (ssize_t.m4): Lose sync.
81624
81625 2006-06-15  Bruno Haible  <bruno@clisp.org>
81626
81627         * modules/stdint (Files): Include m4/full-header-path.m4,
81628         m4/size_max.m4, m4/wchar_t.m4.
81629         (Makefile.am): Many more substitutions.
81630         * modules/stdint-tests: New file.
81631         * tests/test-stdint.c: New file.
81632
81633 2006-06-15  Bruno Haible  <bruno@clisp.org>
81634
81635         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81636         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81637         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81638         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81639         gl_CHECK_TYPE_SAME): New macros.
81640
81641 2006-06-15  Bruno Haible  <bruno@clisp.org>
81642
81643         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81644
81645 2006-06-15  Bruno Haible  <bruno@clisp.org>
81646
81647         * lib/stdint_.h: Rewritten to be fully auto-configured.
81648         Fixes bug on HP-UX/IA64.
81649
81650 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81651
81652         * lib/getdate.y (__attribute__): Don't define if already defined.
81653         Problem reported by Larry Jones.
81654         * lib/utimens.c (__attribute__): Likewise.
81655
81656 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81657
81658         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81659         reported by Andreas Schwab.
81660
81661 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81662             Bruno Haible  <bruno@clisp.org>
81663
81664         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81665         check for the declaration of strnlen and a run test that exposes the
81666         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81667         rpl_strndup.
81668
81669 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81670             Bruno Haible  <bruno@clisp.org>
81671
81672         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81673
81674 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81675
81676         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81677         compile test, for Tru64 4.0D.
81678
81679 2006-05-28  Karl Berry  <karl@gnu.org>
81680
81681         * config/srclist.txt (printf-args.c): lose sync.
81682
81683 2006-05-26  Martin Lambers  <marlam@marlam.de>
81684
81685         * lib/getpass.c: Updates the test for the native W32 API, and adds
81686         missing includes, thus fixing compilation warnings.
81687
81688 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81689
81690         * lib/exclude.c (exclude_fnmatch): New function.
81691         (excluded_file_name): Call exclude_fnmatch.
81692         * lib/exclude.h (excluded_file_name): New prototype
81693
81694 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81695
81696         * lib/tempname.c (small_open, large_open): New macros.
81697         (__open, __open64) [!_LIBC]: Remove.
81698         (__gen_tempname): Use small_open and large_open instead of __open
81699         and __open64.  This fixes a portability bug on HP-UX 11.11i
81700         reported by Simon Wing-Tang in
81701         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81702
81703 2006-05-24  Bruno Haible  <bruno@clisp.org>
81704
81705         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81706         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81707         Reported by Thorsten Maerz <torte@netztorte.de> via
81708         Aaron Stone <aaron@serendipity.cx>.
81709
81710 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81711
81712         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81713         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81714         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81715         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81716         not really conditional on the cache.
81717         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81718
81719 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81720
81721         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81722         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81723         (my_usleep): Don't mishandle maximum value.
81724
81725 2006-05-19  Jim Meyering  <jim@meyering.net>
81726
81727         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81728
81729 2006-05-17  Bruno Haible  <bruno@clisp.org>
81730
81731         Cygwin portability.
81732         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81733
81734 2006-05-17  Bruno Haible  <bruno@clisp.org>
81735
81736         * lib/stdint_.h: Fix recognition of Cygwin.
81737
81738 2006-05-15  Bruno Haible  <bruno@clisp.org>
81739
81740         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81741         on libtool patch by Ralf Wildenhues.
81742
81743 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81744
81745         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81746         test for C99 conformance; (bool) 0.5 is an integer constant
81747         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81748         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81749
81750 2006-05-11  Simon Josefsson  <jas@extundo.com>
81751
81752         * m4/xvasprintf.m4: Fix obvious typo.
81753
81754 2006-05-11  Jim Meyering  <jim@meyering.net>
81755
81756         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81757         James Lemley.
81758
81759 2006-05-10  Simon Josefsson  <jas@extundo.com>
81760
81761         * lib/md4.c: Typo fix, update copyright years.
81762         (K1, K2): Don't use L because it turn computations into 64-bit on
81763         64-bit platforms.
81764
81765 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81766
81767         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81768         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81769         unwanted sign propagation, e.g., on hosts with 64-bit int.
81770         There still are some problems with reeelly weird theoretical hosts
81771         (e.g., 33-bit int) but it's not worth worrying about now.
81772         * lib/sha1.c (rol): Likewise.
81773         (K1, K2, K3, K4): Remove unnecessary L suffix.
81774
81775 2006-05-10  Bruno Haible  <bruno@clisp.org>
81776
81777         * lib/des.c: Cast to avoid warnings.
81778
81779 2006-05-09  Bruno Haible  <bruno@clisp.org>
81780
81781         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81782         (Depends-on): Depend also on xsize, stdarg.
81783         (configure.ac): Add gl_XVASPRINTF.
81784
81785 2006-05-09  Bruno Haible  <bruno@clisp.org>
81786
81787         * m4/xvasprintf.m4: New file.
81788
81789 2006-05-09  Bruno Haible  <bruno@clisp.org>
81790
81791         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81792         (EOVERFLOW): Define fallback value.
81793         (xstrcat): New function.
81794         (xvasprintf): Recognize the special case of a string concatenation.
81795
81796 2006-05-08  Eric Blake  <ebb9@byu.net>
81797
81798         * gnulib-tool (func_version): Base copyright year on CVS date.
81799         (func_emit_copyright_notice): New function.
81800         (func_emit_lib_Makefile_am): Use it.
81801         (func_emit_tests_Makefile_am): Likewise.
81802         (func_import): Likewise.
81803
81804 2006-05-08  Bruno Haible  <bruno@clisp.org>
81805
81806         * modules/stdarg: New file.
81807         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81808
81809 2006-05-08  Bruno Haible  <bruno@clisp.org>
81810
81811         * m4/stdarg.m4: New file, from GNU gettext.
81812
81813 2006-05-08  Bruno Haible  <bruno@clisp.org>
81814
81815         * config/srclist.txt (build-aux/config.rpath): different from latest
81816         release.
81817
81818 2006-05-08  Bruno Haible  <bruno@clisp.org>
81819
81820         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81821
81822 2006-05-05  Jim Meyering  <jim@meyering.net>
81823
81824         * m4/warning.m4: New file, derived from bison's file by the same name.
81825
81826 2006-05-03  Bruno Haible  <bruno@clisp.org>
81827
81828         * lib/stdint_.h: Shorter URL.
81829         * lib/inttypes.h: Likewise.
81830
81831 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81832
81833         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81834
81835 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81836
81837         * lib/verify.h: Document the internals better.  Most of this change
81838         was written by Bruno Haible.
81839
81840 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81841
81842         * doc/verify.texi: New file, partly based on a proposal by
81843         Bruno Haible.
81844
81845 2006-05-02  Bruno Haible  <bruno@clisp.org>
81846
81847         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81848         test from here...
81849         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81850
81851 2006-04-29  Bruno Haible  <bruno@clisp.org>
81852
81853         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81854         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81855
81856 2006-04-29  Bruno Haible  <bruno@clisp.org>
81857
81858         * gnulib-tool: Make --update option actually work.
81859
81860 2006-04-29  Bruno Haible  <bruno@clisp.org>
81861
81862         * doc/gcd.texi: New file.
81863         * doc/gnulib.texi: Include it.
81864
81865 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81866
81867         * lib/getdate.y (get_date): When adding relative date, start with the
81868         initial time, not with the result of the first mktime call.
81869
81870 2006-04-25  Bruno Haible  <bruno@clisp.org>
81871
81872         * gnulib-tool (func_import): Output the include directives in three
81873         blocks, sorted separately.
81874         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81875
81876 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81877
81878         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81879         to define main with arguments, for C++.  Reported by Eric Blake.
81880         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81881         Prefer 'int main ()' to 'int main (void)', for C++.
81882         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81883         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81884         for 'main', for C99 and C++.
81885
81886 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81887
81888         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81889         Don't assume that exit status -1 is valid.
81890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81891         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81892         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81893         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81894         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81895         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81896         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81897         functions can be used without declaring them, or that you can
81898         exit with status -1.
81899         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81900
81901 2006-04-24  Karl Berry  <karl@gnu.org>
81902
81903         * config/srclist.txt (longdouble.m4): sync lost.
81904
81905 2006-04-24  Eric Blake  <ebb9@byu.net>
81906
81907         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81908
81909 2006-04-24  Bruno Haible  <bruno@clisp.org>
81910
81911         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81912         poll() implementation in AIX.
81913         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81914
81915 2006-04-24  Bruno Haible  <bruno@clisp.org>
81916
81917         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81918         assigned exactly once.
81919
81920 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81921             Bruno Haible  <bruno@clisp.org>
81922
81923         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81924         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81925         for AM_CPPFLAGS.
81926
81927 2006-04-23  Bruno Haible  <bruno@clisp.org>
81928
81929         * modules/copy-file: Depend on unistd.
81930         * modules/execute: Likewise.
81931         * modules/fatal-signal: Likewise.
81932         * modules/findprog: Likewise.
81933         * modules/mkdtemp : Likewise.
81934         * modules/pipe: Likewise.
81935         * modules/wait-process: Likewise.
81936
81937 2006-04-23  Bruno Haible  <bruno@clisp.org>
81938
81939         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81940         condition was already detected.
81941         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81942
81943 2006-04-23  Bruno Haible  <bruno@clisp.org>
81944
81945         * lib/copy-file.c: Include <unistd.h> unconditionally.
81946         * lib/execute.c: Likewise.
81947         * lib/fatal-signal.c: Likewise.
81948         * lib/findprog.c: Likewise.
81949         * lib/mkdtemp.c: Likewise.
81950         * lib/pipe.h: Likewise.
81951         * lib/pipe.c: Likewise.
81952         * lib/wait-process.h: Likewise.
81953
81954 2006-04-23  Bruno Haible  <bruno@clisp.org>
81955
81956         * gnulib-tool (func_usage): Fix --import description. Document
81957         --update.
81958         (func_import): Create temporary file in a temporary directory, if
81959         --dry-run is specified. Silence errors from 'grep' when there are no
81960         m4 files in $m4dir.
81961         (func_create_testdir): Silence errors from 'grep' when there are no
81962         m4 files in $m4dir.
81963         Reported by Karl Berry <karl@freefriends.org>.
81964
81965 2006-04-20  Bruno Haible  <bruno@clisp.org>
81966
81967         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81968         one argument, so that the code will be portable to Autoconf 2.60.
81969         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81970         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81971         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81972
81973 2006-04-19  Derek Price  <derek@ximbiot.com>
81974             Eric Blake  <ebb9@byu.net>
81975
81976         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81977         rather than "/full/path.h".  Update comment to match.  Shorten &
81978         generalize m4_translit call via AS_TR_CPP.
81979
81980 2006-04-19  Derek Price  <derek@ximbiot.com>
81981             Eric Blake  <ebb9@byu.net>
81982
81983         * lib/inttypes.h: Correct grammar in comment.
81984
81985 2006-04-18  Derek Price  <derek@ximbiot.com>
81986             Paul Eggert  <eggert@cs.ucla.edu>
81987
81988         * modules/inttypes: New file.
81989         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81990
81991 2006-04-18  Derek Price  <derek@ximbiot.com>
81992             Paul Eggert  <eggert@cs.ucla.edu>
81993
81994         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81995         New files.
81996
81997 2006-04-18  Derek Price  <derek@ximbiot.com>
81998             Paul Eggert  <eggert@cs.ucla.edu>
81999
82000         * lib/inttypes.h: New file.
82001         * lib/strtoimax.c: Assume <inttypes.h>.
82002
82003 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82004
82005         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82006         isn't mounted.  Problem reported by Kir Kolyshkin.
82007
82008 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82009
82010         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82011         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82012         Derek R. Price.
82013         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82014         implementation.
82015
82016 2006-04-12  Eric Blake  <ebb9@byu.net>
82017
82018         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82019         is now done automatically by the corresponding Autoconf macro.
82020
82021 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82022
82023         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82024         time_r.h.
82025
82026 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82027
82028         Merge regex changes from libc, removing some of our
82029         POSIX-conformance changes that were rejected and redoing them in a
82030         less-intrusive way.
82031
82032         * lib/regcomp.c (re_compile_internal, init_dfa):
82033         Length arg is now size_t, not Idx.  All uses changed.
82034         (peek_token): Forward decl now says internal_function.
82035         (__re_error_msgid, __re_error_msgid_idx):
82036         Now static rather than extern with attribute_hidden.
82037         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82038         For some reason libc prefers K&R style defns for external functions.
82039         (regerror) [!defined _LIBC]: Likewise.
82040         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82041         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82042         (build_range_exp, build_collating_symbol):
82043         Use K&R-style defn.
82044         (re_compile_fastmap): Use '\0' to memset, not 0.
82045         (utf8_sb_map): Make the calculations more obvious.
82046         (init_dfa, parse_bracket_exp, build_charclass_op):
82047         Call calloc and cast result, as glibc does.
82048         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82049         (build_range_exp, build_collating_symbol):
82050         Now internal functions.
82051
82052         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82053
82054         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82055         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82056         Don't depend on VMS; depend on __VMS instead, for POSIX
82057         namespace cleanness.
82058         (regoff_t): Define to ssize_t, not long int.
82059
82060         Remove the REG_ macros named below.  Instead, make the old names
82061         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82062         __USE_GNU_REGEX.
82063         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82064         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82065         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82066         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82067         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82068         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82069         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82070         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82071         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82072         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82073         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82074         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82075         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82076         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82077         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
82078         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
82079         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
82080         (REG_NREGS):
82081         Remove.  All uses replaced by the old RE_* names.
82082         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82083         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82084         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82085         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82086         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82087         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82088         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82089         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82090         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82091         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82092         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82093         Don't bother having these macros be independent of each others'
82094         values, since they no longer exist in the POSIX name space.
82095
82096         Rename the following member names back to their old names,
82097         unless !__USE_GNU_REGEX.  All uses changed back.
82098         (buffer): Renamed from re_buffer.
82099         (allocated): Renamed from re_allocated.
82100         (used): Renamed from re_used.
82101         (syntax): Renamed from re_syntax.
82102         (fastmap): Renamed from re_fastmap.
82103         (translate): Renamed from re_translate.
82104         (can_be_null): Renamed from re_can_be_null.
82105         (regs_allocated): Renamed from re_regs_allocated.
82106         (fastmap_accurate): Renamed from re_fastmap_accurate.
82107         (no_sub): Renamed from re_no_sub.
82108         (not_bol): Renamed from re_not_bol.
82109         (not_eol): Renamed from re_not_eol.
82110         (newline_anchor): Renamed from re_newline_anchor.
82111         (num_regs): Renamed from rm_num_regs.
82112         (start): Renamed from rm_start.
82113         (end): Renamed from rm_end.
82114
82115         (free_state): Move up a bit.
82116
82117         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82118         #define to be empty.
82119         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82120         when that is what is intended.
82121         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82122         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82123         (MAX): New macro.
82124         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82125         All uses changed back to re_malloc, etc.  It's now the caller's
82126         responsibility to check for overflow; all callers changed.
82127         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82128         (re_x2nrealloc): Remove.
82129         (free_state): Remove decl.
82130
82131         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82132         (re_set_registers, re_exec):
82133         Use K&R-style defn.
82134
82135         2006-01-31  Roland McGrath  <roland@redhat.com>
82136
82137         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82138         Reported by Mike Frysinger <vapier@gentoo.org>.
82139
82140         2006-01-15  Andreas Jaeger  <aj@suse.de>
82141
82142         [BZ #1950]
82143         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82144         build_wcs_upper_buffer change.
82145         (build_wcs_upper_buffer): Change return type.
82146
82147         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82148
82149         * lib/regex_internal.h: Include <stdint.h> if available.
82150
82151         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82152
82153         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82154
82155         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82156
82157         * lib/regcomp.c: Adjust for changed secondary hash function.
82158
82159         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82160
82161         * lib/regex.h: Pretty printing.
82162         Clean up namespace a bit.
82163
82164         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82165
82166         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82167         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82168
82169         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82170                     Ulrich Drepper  <drepper@redhat.com>
82171
82172         [BZ #1302]
82173         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82174         changed.
82175         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82176
82177         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82178
82179         [BZ #281]
82180         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82181         * lib/regcomp.c: Remove unnecessary uses of
82182         unsigned RE_TRANSLATE_TYPE.
82183         * lib/regex_internal.h: Likewise.
82184         * lib/regex_internal.c: Likewise.
82185         * lib/regexec.c: Likewise.
82186         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82187
82188         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82189
82190         * lib/regexec.c (find_recover_state): Remove unnecessary
82191         initialization.
82192         (transit_state_bkref): Make DFA a const pointer.
82193         (get_subexp): Likewise.
82194         (check_arrival): Likewise.
82195         (update_cur_sifted_state): Likewise.
82196         (re_search_internal): Likewise.
82197         (prune_impossible_nodes): Likewise.
82198         (acquire_init_state_context): Likewise.
82199         (proceed_next_node): Likewise.
82200         (set_regs): Likewise.
82201         (free_fail_stack_return): Likewise.
82202         (check_arrival_expand_ecl): Mark DFA parameter as const.
82203         (check_arrival_expand_ecl_sub): Likewise.
82204         (check_subexp_limits): Likewise.
82205         (sub_epsilon_src_nodes):  Likewise.
82206         (add_epsilon_src_nodes):  Likewise.
82207         (merge_state_array): Likewise.
82208         (update_regs): Likewise.
82209         (build_trtable): Likewise.
82210         (sift_states_backward): Mark MCTX parameter as const.
82211         (build_sifted_states): Likewise.
82212         (update_cur_sifted_state): Likewise.
82213         (sift_states_mkref): Likewise.
82214         (check_arrival_expand_ecl): Mark eclosure as const.
82215         (check_dst_limits_calc_pos_1): Likewise.
82216         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82217         pointer.
82218
82219         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82220
82221         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82222         (transit_state_sb): Likewise.
82223         (transit_state_mb): Likewise.
82224         (sift_states_iter_mb): Likewise.
82225         (check_arrival_add_next_nodes): Likewise.
82226         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82227         [_LIBC] (re_search_2_stub): Use mempcpy.
82228
82229         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82230         mbrtowc for very simple UTF-8 case.
82231
82232         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82233         a pointer-to-const.
82234         (re_acquire_state_context): Likewise.
82235         * lib/regex_internal.h: Adjust prototypes.
82236
82237         * lib/regex.c: Prevent using C++ compilers.
82238
82239         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82240         (re_acquire_state_context): Likewise.
82241
82242 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82243
82244         * modules/regex (Depends-on): Add ssize_t.
82245
82246 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82247
82248         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82249         translation table.
82250
82251 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82252
82253         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82254
82255 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82256             Bruno Haible  <bruno@clisp.org>
82257
82258         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82259         <sys/types.h> and <inttypes.h>.
82260
82261 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82262
82263         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82264         `__error_t_defined', so argp.h will not typedef the former.
82265
82266 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82267
82268         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82269         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82270         glibc names.  Even if glibc is changed to conform to POSIX, the
82271         traditional names will be available anyway, since regex depends on
82272         the extensions module.  Also, fix a longstanding typo in the
82273         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82274         reported by Emanuele Giaquinta.  Also, change sense of cached
82275         variable, so that the message makes sense.
82276
82277 2006-03-24  Simon Josefsson  <jas@extundo.com>
82278
82279         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82280         including some doc fixes.
82281         (base64_encode_alloc): Fix +1 bug on allocation failures.
82282
82283 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82284
82285         * lib/base64.c (base64_encode): Do not read past end of array with
82286         unsanitized input on systems with CHAR_BIT > 8.
82287
82288 2006-03-24  Eric Blake  <ebb9@byu.net>
82289
82290         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82291
82292 2006-03-22  Karl Berry  <karl@gnu.org>
82293
82294         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82295         * config/srclistvars.sh (COREUTILS): new var.
82296
82297 2006-03-17  Jim Meyering  <jim@meyering.net>
82298
82299         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82300         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82301
82302 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82303
82304         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82305         no longer needs it.  Instead, check that regoff_t is as least
82306         as wide as ptrdiff_t.
82307
82308         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82309         so that our regex.h stays compatible with the installed regex.
82310         This is helpful for installers who configure --without-included-regex.
82311         Problem reported by Emanuele Giaquinta.
82312
82313 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82314
82315         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82316         Typedef to long int, not to off_, as POSIX will likely change
82317         in that direction.
82318
82319 2006-03-15  Eric Blake  <ebb9@byu.net>
82320
82321         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82322
82323 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82324
82325         * lib/argp-help.c (validate_uparams): Fix typo
82326         * lib/argp-parse.c (argp_default_options): Consistently begin help
82327         messages with a lowercase letter.
82328
82329 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82330
82331         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82332         overrun buffers and shouldn't be used (much as gets shouldn't be
82333         used).
82334         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82335
82336 2006-03-08  Simon Josefsson  <jas@extundo.com>
82337
82338         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82339         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82340
82341 2006-03-08  Simon Josefsson  <jas@extundo.com>
82342
82343         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82344         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82345
82346 2006-03-08  Simon Josefsson  <jas@extundo.com>
82347
82348         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82349         signal that configure disabled the device.
82350
82351 2006-03-08  Simon Josefsson  <jas@extundo.com>
82352
82353         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82354         languages.
82355
82356 2006-03-07  Simon Josefsson  <jas@extundo.com>
82357
82358         * modules/getopt (Depends-on): Add unistd.
82359
82360         * modules/unistd: New file.
82361
82362 2006-03-07  Simon Josefsson  <jas@extundo.com>
82363
82364         * modules/gc-random: New file.
82365
82366 2006-03-07  Simon Josefsson  <jas@extundo.com>
82367
82368         * m4/unistd_h.m4: New file.
82369
82370 2006-03-07  Simon Josefsson  <jas@extundo.com>
82371
82372         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82373         test to be side-effect free by storing the result in the cache
82374         variable gl_cv_lib_readline, and moving the assignment of
82375         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82376         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82377
82378 2006-03-07  Simon Josefsson  <jas@extundo.com>
82379
82380         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82381         error on missing devices (the functions will return an error).
82382
82383         * m4/gc.m4: Move random stuff to gc-random.m4
82384
82385 2006-03-07  Simon Josefsson  <jas@extundo.com>
82386
82387         * lib/unistd_.h: New file.
82388
82389 2006-03-07  Simon Josefsson  <jas@extundo.com>
82390
82391         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82392
82393 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82394
82395         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82396         Problem reported by Juan Manuel Guerrero.
82397
82398 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82399
82400         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82401         the unistd module.
82402         * lib/getlogin_r.c: Likewise.
82403         * lib/getlogin_r.h: Likewise.
82404         * lib/glob.c: Likewise.
82405         * lib/pagealign_alloc.c: Likewise.
82406         * lib/unistd_.h: Remove; no longer needed.
82407
82408 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82409
82410         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82411         Add unistd.
82412         * modules/c-stack (Depends-on): Add unistd.
82413         * modules/getlogin_r: Likewise.
82414         * modules/glob: Likewise.
82415         * modules/pagealign_alloc: Likewise.
82416         * modules/unistd (Files): Remove lib/unistd_.h.
82417         (EXTRA_DIST): Remove.
82418         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82419         need unistd_.h.
82420         (MOSTLYCLEANFILES): Remove unistd.h-t.
82421
82422 2006-03-03  Simon Josefsson  <jas@extundo.com>
82423
82424         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82425
82426 2006-03-03  Simon Josefsson  <jas@extundo.com>
82427
82428         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82429         libidn and bison.
82430
82431 2006-03-03  Simon Josefsson  <jas@extundo.com>
82432
82433         * build-aux/maint.mk: Add indent target.
82434
82435 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82436
82437         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82438         our replacement poll.h in any case, to avoid a differing
82439         declaration from a system header.  Seen on AIX.
82440
82441 2006-03-01  Simon Josefsson  <jas@extundo.com>
82442
82443         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82444         <kasal@ucw.cz>.
82445
82446 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82447
82448         * modules/gettime (Depends-on): Add extensions module.
82449         * modules/nanosleep (Depends-on): Likewise.
82450         * modules/settime (Depends-on): Likewise.
82451
82452 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82453
82454         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82455         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82456         pedantically.
82457         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82458         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82459
82460         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82461         not "==".  Reported by Ralf Wildenhues.
82462
82463 2006-03-01  Karl Berry  <karl@gnu.org>
82464
82465         * doc/Copyright/request-*: new files, synced from gnuorg.
82466
82467 2006-03-01  Karl Berry  <karl@gnu.org>
82468
82469         * config/srclist.txt (Copyright/*): new entries.
82470
82471 2006-02-28  Simon Josefsson  <jas@extundo.com>
82472
82473         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82474
82475 2006-02-27  Simon Josefsson  <jas@extundo.com>
82476
82477         * lib/base64.h: Indent #define's.  From Jim Meyering
82478         <jim@meyering.net>.
82479
82480 2006-02-27  Jim Meyering  <jim@meyering.net>
82481
82482         Revert the change of 2006-02-24, so these files can continue
82483         to be sync'd from gettext.
82484         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82485         of `config.h'.
82486
82487 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82488
82489         * modules/intprops: New file.
82490         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82491         Add intprops.
82492         * modules/getloadavg (Files): Remove lib/intprops.h.
82493         (Depends-on): Add intprops.
82494         * modules/human: Likewise.
82495         * modules/inttostr: Likewise.
82496         * modules/openat: Likewise.
82497         * modules/sig2str: Likewise.
82498         * modules/userspec: Likewise.
82499         * modules/utimecmp: Likewise.
82500         * modules/xnanosleep: Likewise.
82501         * modules/xstrtol: Likewise.
82502
82503 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82504
82505         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82506         * modules/lock-tests (TESTS): Use $(EXEEXT).
82507         * modules/tls-tests: Likewise.
82508         * modules/argp-tests: Likewise.
82509         (check_PROGRAMS): New var, replacing...
82510         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82511
82512 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82513
82514         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82515         `config.h'.
82516
82517 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82518
82519         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82520
82521 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82522
82523         Sync from coreutils.
82524         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82525         gl_CHDIR_SAFER.
82526
82527 2006-02-22  Jim Meyering  <jim@meyering.net>
82528
82529         Sync from coreutils.
82530         * m4/chdir-safer.m4: New file.
82531
82532 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82533
82534         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82535         AT_FDCWD exceeds INT_MAX.
82536         * lib/openat.h (AT_FDCWD): Likewise.
82537
82538 2006-02-17  Eric Blake  <address@hidden>
82539
82540         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82541
82542 2006-02-16  Simon Josefsson  <jas@extundo.com>
82543
82544         * modules/getaddrinfo (Depends-on): Add sys_socket.
82545
82546 2006-02-15  Simon Josefsson  <jas@extundo.com>
82547
82548         * build-aux/maint.mk: Add dsyntax-check rule.
82549
82550 2006-02-15  Eric Blake  <ebb9@byu.net>
82551
82552         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82553         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82554         'present but cannot compile' warnings on cygwin.
82555         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82556         use ws2tcpip.h if sys/socket.h works.
82557         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82558         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82559
82560 2006-02-14  Simon Josefsson  <jas@extundo.com>
82561
82562         * modules/maintainer-makefile (Files): Rename.
82563
82564         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82565         and (the local) Makefile.cfg to maint-cfg.mk.
82566
82567         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82568         to the latter.
82569
82570         * modules/maintainer-makefile: New module.
82571
82572         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82573         severaly stripped to make it possible to build it up from scratch
82574         with reliable tests.
82575
82576         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82577         fixes to permit overriding the default actions when configure and
82578         makefile are not available.
82579
82580 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82581
82582         Sync from coreutils.
82583         * modules/lstat (Depends-on): Don't depend on xalloc.
82584         (License): Change from GPL to LGPL, since this is now simply a
82585         replacement for a libc function.
82586
82587 2006-02-14  Jim Meyering  <jim@meyering.net>
82588
82589         Sync from coreutils.
82590
82591         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82592         failure on deficient systems, and simplify gnulib lgpl dependencies.
82593         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82594         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82595
82596         * lib/xalloc-die.c: Remove unused definition of N_.
82597
82598 2006-02-14  Jim Meyering  <jim@meyering.net>
82599
82600         Sync from coreutils.
82601         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82602         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82603         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82604         double-quote uses of that variable, to accommodate the rare case in
82605         which getmntent is available in none of the libraries checked.  This
82606         happens at least on FreeBSD 5.0.
82607
82608 2006-02-13  Simon Josefsson  <jas@extundo.com>
82609
82610         * gnulib-tool (Usage): Fix --import, from
82611         karl@freefriends.org (Karl Berry).
82612
82613 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82614
82615         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82616
82617 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82618
82619         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82620         "autoupdate" on 2005-12-12.
82621
82622 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82623
82624         * modules/closeout (Depends-on): Remove atexit.
82625
82626 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82627
82628         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82629         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82630
82631 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82632
82633         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82634         __EXTENSIONS__ if this causes compilation to fail.  Problem
82635         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82636         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82637
82638 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82639
82640         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82641         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82642         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82643         All uses changed.
82644
82645 2006-01-26  Simon Josefsson  <jas@extundo.com>
82646
82647         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82648         prototype is visible on mingw32.
82649
82650         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82651         for mingw32.
82652
82653         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82654         mingw32).
82655
82656 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82657
82658         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82659         attempt to open for write; this always fails, at least on POSIX
82660         hosts.  This reinstates the 2006-01-09 change, which was
82661         inadvertently removed.
82662
82663 2006-01-26  Bruno Haible  <bruno@clisp.org>
82664
82665         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82666         Reported by Paul Eggert.
82667
82668 2006-01-26  Bruno Haible  <bruno@clisp.org>
82669             Paul Eggert  <eggert@cs.ucla.edu>
82670
82671         * lib/stdbool_.h (_Bool)
82672         [(! (defined __cplusplus || defined __BEOS__)
82673           && !defined __GNUC__
82674           && !(defined __HP_cc || defined __xlc__
82675                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82676                || defined __sgi))]:
82677         #define to signed char in these cases too; this simplifies
82678         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82679         etc., separately) and makes it more conservative.
82680
82681 2006-01-25  Simon Josefsson  <jas@extundo.com>
82682
82683         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82684         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82685         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82686
82687 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82688
82689         * lib/argp-namefrob.h: Bugfix. Remove stray #
82690
82691 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82692
82693         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82694         so that we test the test.
82695         Check for yet another HP-UX cc bug involving *bool |= bool.
82696
82697 2006-01-25  Karl Berry  <karl@gnu.org>
82698
82699         * config/srclist.txt (vasnprintf.c): sync lost.
82700
82701 2006-01-25  Jim Meyering  <jim@meyering.net>
82702
82703         Sync from the stable (b5) branch of coreutils:
82704
82705         * lib/fts.c (fts_children): Don't let close() clobber errno from
82706         failed fchdir().
82707
82708         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82709         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82710         a dangling symlink.  That can also happen at least for ELOOP.
82711         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82712         FYI, this bug predates the inclusion of fts.c in coreutils.
82713
82714         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82715         in their own block, so pre-c99 compilers don't object.
82716
82717         Avoid the double-free (first in fts_read, second in fts_close) that
82718         would occur when an `active' directory is made inaccessible (e.g.,
82719         via chmod a-x) during a traversal.
82720         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82721         before returning.  Reproduce this failure by
82722         mkdir -p a/b; cd a; chmod a-x . b
82723         Reported by Stavros Passas.
82724
82725 2006-01-25  Jim Meyering  <jim@meyering.net>
82726
82727         * lib/fileblocks.c: Remove more useless parentheses.
82728         * lib/readutmp.h: Likewise.
82729
82730 2006-01-25  Bruno Haible  <bruno@clisp.org>
82731
82732         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82733         warnings.
82734         Reported by Paul Eggert.
82735
82736 2006-01-25  Bruno Haible  <bruno@clisp.org>
82737
82738         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82739         rid of a trap command. For Solaris sh.
82740         Reported by Mark D. Baushke <mdb@gnu.org>.
82741
82742 2006-01-24  Simon Josefsson  <jas@extundo.com>
82743
82744         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82745         Bruno.
82746
82747 2006-01-24  Karl Berry  <karl@gnu.org>
82748
82749         * config/srclist.txt (argp-namefrob.h): sync lost.
82750
82751 2006-01-24  Jim Meyering  <jim@meyering.net>
82752
82753         * modules/openat (Files): Add lib/intprops.h.
82754         From Mark D. Baushke.
82755
82756 2006-01-24  Jim Meyering  <jim@meyering.net>
82757
82758         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82759         Reported by Mark D. Baushke.
82760
82761 2006-01-24  Jim Meyering  <jim@meyering.net>
82762
82763         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82764
82765 2006-01-24  Bruno Haible  <bruno@clisp.org>
82766
82767         * modules/strnlen (Maintainer): Change from glibc to all.
82768
82769 2006-01-24  Bruno Haible  <bruno@clisp.org>
82770
82771         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82772         Patch by Paul Eggert.
82773
82774 2006-01-24  Bruno Haible  <bruno@clisp.org>
82775
82776         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82777         already has it.
82778         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82779         2005-11-26.
82780
82781         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82782         'signed char' to avoid problems with the built-in _Bool type.
82783         Reported by Paul Eggert on 2005-11-26.
82784
82785 2006-01-24  Bruno Haible  <bruno@clisp.org>
82786
82787         * gnulib-tool (func_import): Avoid constructing complicated sed
82788         expressions inside backquote.
82789         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82790
82791 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82792
82793         These changes imported from libc.
82794         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82795         test and two separate function calls.
82796         * lib/strndup.c (__strndup): Add libc_hidden_def.
82797
82798 2006-01-23  Simon Josefsson  <jas@extundo.com>
82799
82800         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82801         Remove the test_*_SOURCES variable: automake infers it by default.
82802         * modules/tls-tests: Likewise.
82803
82804 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82805
82806         Work around porting bugs reported by Dieter in
82807         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82808         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82809         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82810         Include "getopt.h" first, to check interface.
82811         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82812         !HAVE_DECL_GETENV.
82813         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82814         (__strndup): Revert to K&R-style function dfns, the glibc style.
82815         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82816         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82817         Include strnlen.h first, to get prototype properly.
82818         (strnlen): Renamed from __strnlen.
82819         Remove weak alias.
82820
82821 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82822
82823         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82824
82825 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82826
82827         * config/srclist.txt: Adjust to reflect glibc reorganization.
82828         This affects only comments.
82829
82830 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82831
82832          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82833          Reported by Bruce Korb <bkorb@gnu.org>.
82834
82835 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82836
82837         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82838         to pacify gcc -Wswitch-default.
82839
82840 2006-01-22  Bruno Haible  <bruno@clisp.org>
82841
82842         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82843         temporary buffer for sprintf, take into account the precision also
82844         for 'd', 'i', 'u', 'o', 'x', 'X'.
82845
82846 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82847
82848         * modules/argp-tests: New module
82849         * tests/test-argp.c: New file
82850         * tests/test-argp-2.sh: New file
82851
82852 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82853
82854         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82855         (__argp_base_name): Removed
82856         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82857         typo.
82858         (__argp_base_name): Provide macro definition or extern declaration
82859         depending on the configuration
82860
82861 2006-01-20  Simon Josefsson  <jas@extundo.com>
82862
82863         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82864
82865 2006-01-20  Simon Josefsson  <jas@extundo.com>
82866
82867         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82868
82869 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82870
82871         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82872         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82873         Suggested by Bruno Haible.
82874
82875 2006-01-20  Karl Berry  <karl@gnu.org>
82876
82877         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82878         until changes propagate, I guess.
82879
82880 2006-01-19  Simon Josefsson  <jas@extundo.com>
82881
82882         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82883
82884 2006-01-19  Simon Josefsson  <jas@extundo.com>
82885
82886         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82887
82888 2006-01-19  Simon Josefsson  <jas@extundo.com>
82889
82890         * gnulib-tool: Set check_PROGRAMS.
82891
82892         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82893         modules/des-tests, modules/gc-arcfour-tests,
82894         modules/gc-arctwo-tests, modules/gc-des-tests,
82895         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82896         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82897         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82898         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82899         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82900         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82901         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82902         test_*_SOURCES.
82903
82904 2006-01-18  Simon Josefsson  <jas@extundo.com>
82905
82906         * modules/socklen (Depends-on): Depend on sys_socket.
82907
82908 2006-01-18  Simon Josefsson  <jas@extundo.com>
82909
82910         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82911         modules/des-tests, modules/gc-arcfour-tests,
82912         modules/gc-arctwo-tests, modules/gc-des-tests,
82913         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82914         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82915         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82916         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82917         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82918         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82919         $(EXEEXT) to automake TESTS variable, for mingw32.
82920
82921 2006-01-17  Simon Josefsson  <jas@extundo.com>
82922
82923         * modules/socklen (Include): Need sys/socket.h.
82924
82925 2006-01-17  Bruno Haible  <bruno@clisp.org>
82926
82927         * modules/ssize_t (Include): Add <sys/types.h>.
82928
82929 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82930
82931         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82932         it's not portable and it doesn't work with cross-compiles.
82933         Problem reported by Bruno Haible.  Fix missing-$ typo in
82934         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82935         -zignore from being used with Sun's C compiler.
82936
82937 2006-01-12  Simon Josefsson  <jas@extundo.com>
82938
82939         * lib/base64.c: Fix warning, reported by Bruno Haible
82940         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82941
82942 2006-01-12  Bruno Haible  <bruno@clisp.org>
82943
82944         * modules/ldd: New file.
82945         * build-aux/ldd.sh.in: New file.
82946         * MODULES.html.sh (Support for building libraries and executables): Add
82947         ldd.
82948
82949 2006-01-12  Bruno Haible  <bruno@clisp.org>
82950
82951         * m4/ldd.m4: New file.
82952
82953 2006-01-12  Bruno Haible  <bruno@clisp.org>
82954
82955         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82956         endless loop while replacing $auxdir with build-aux.
82957
82958 2006-01-11  Simon Josefsson  <jas@extundo.com>
82959
82960         * lib/stdint_.h (SIZE_MAX): Add missing (.
82961
82962 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82963
82964         Sync from coreutils.
82965         * lib/md5.c: Fix commentary typos.
82966         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82967         * lib/md5.h (__attribute__): Remove; unused.
82968         * lib/sha1.c: Fix commentary to match md5 better.
82969         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82970         so that we don't need to worry about alignment.  All uses changed.
82971         This merges the 2005-10-28 md5 change into sha1.
82972
82973 2006-01-11  Jim Meyering  <jim@meyering.net>
82974
82975         Sync from coreutils.
82976         * lib/md5.c (OP): Fix spacing.
82977
82978 2006-01-11  Bruno Haible  <bruno@clisp.org>
82979
82980         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82981         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82982         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82983
82984 2006-01-11  Bruno Haible  <bruno@clisp.org>
82985
82986         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82987         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82988         the "early" section as well.
82989
82990 2006-01-11  Bruno Haible  <bruno@clisp.org>
82991
82992         Avoid "ar: no archive members specified" error on MacOS X.
82993         * gnulib-tool (func_modules_add_dummy): New function.
82994         (func_import, func_create_testdir): Invoke it.
82995
82996 2006-01-11  Bruno Haible  <bruno@clisp.org>
82997
82998         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82999         with $auxdir in AC_CONFIG_FILES statements.
83000
83001 2006-01-11  Bruno Haible  <bruno@clisp.org>
83002
83003         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83004         Initialize also noinst_HEADERS to empty.
83005
83006 2006-01-11  Bruno Haible  <bruno@clisp.org>
83007
83008         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83009         variables.
83010         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83011         autoreconf.
83012
83013 2006-01-11  Bruno Haible  <bruno@clisp.org>
83014
83015         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83016         overridable by the user.
83017         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83018
83019 2006-01-10  Simon Josefsson  <jas@extundo.com>
83020
83021         * modules/sys_socket: New file.
83022
83023 2006-01-10  Simon Josefsson  <jas@extundo.com>
83024
83025         * m4/sys_socket_h.m4: New file.
83026
83027 2006-01-10  Simon Josefsson  <jas@extundo.com>
83028
83029         * lib/socket_.h: New file.
83030
83031 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83032
83033         * modules/readutmp (Maintainer): Add myself.
83034
83035 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83036
83037         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83038         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83039         People who are still concerned with buggy memcmp implementations
83040         can invoke gl_FUNC_MEMCMP themselves.
83041
83042 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83043
83044         * lib/regex_internal.h (BITSET_WORD_BITS):
83045         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83046         preprocessor mishandles large unsigned values as if they were signed.
83047         Problem reported by Claudio Fontana in
83048         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83049
83050 2006-01-10  Jim Meyering  <jim@meyering.net>
83051
83052         Avoid the double-free (first in fts_read, second in fts_close) that
83053         would occur when an `active' directory is made inaccessible (e.g.,
83054         via chmod a-x) during a traversal.
83055         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83056         before returning.  Reproduce this failure by
83057         mkdir -p a/b; cd a; chmod a-x . b
83058         Reported by Stavros Passas.
83059
83060         Sync from coreutils.
83061         * lib/sha1.c: Tweak grammar in a comment.
83062
83063 2006-01-10  Jim Meyering  <jim@meyering.net>
83064
83065         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83066         Patch by Joerg Sonnenberger.
83067
83068 2006-01-10  Bruno Haible  <bruno@clisp.org>
83069
83070         * modules/readutmp: Depend on module free.
83071         * modules/strtok_r: Depend on module restrict.
83072
83073 2006-01-10  Bruno Haible  <bruno@clisp.org>
83074
83075         * modules/gettext (configure.ac): Add an invocation of
83076         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83077
83078 2006-01-10  Bruno Haible  <bruno@clisp.org>
83079
83080         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
83081         Reported by Werner Lemberg <wl@gnu.org>.
83082
83083 2006-01-10  Bruno Haible  <bruno@clisp.org>
83084
83085         * lib/localcharset.c: Update from GNU gettext.
83086
83087 2006-01-10  Bruno Haible  <bruno@clisp.org>
83088
83089         * lib/argp.h (__const): Remove macro. Use const instead.
83090         * lib/argp-fmtstream.h (__const): Likewise.
83091         * lib/glob_.h (__const): Remove macro.
83092         * lib/glob-libc.h: Use const instead of __const.
83093
83094 2006-01-10  Bruno Haible  <bruno@clisp.org>
83095
83096         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83097         variable.
83098         Needed to avoid an automake error regarding the 'gettext' module.
83099
83100 2006-01-09  Simon Josefsson  <jas@extundo.com>
83101
83102         * modules/inet_ntop (Depends-on): Add restrict.
83103
83104 2006-01-09  Simon Josefsson  <jas@extundo.com>
83105
83106         * modules/gc-rijndael-tests (License): Put under LGPL.
83107
83108         * modules/gc-des-tests (License): Likewise.
83109
83110         * modules/gc-arcfour-tests (License): Likewise.
83111
83112         * modules/gc-arctwo-tests (License): Likewise.
83113
83114         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83115
83116         * modules/gc-hmac-sha1-tests (Files): Likewise.
83117
83118         * modules/gc-hmac-md5-tests (License): Likewise.
83119
83120         * modules/gc-sha1-tests (License): Likewise.
83121
83122         * modules/gc-md5-tests (License): Likewise.
83123
83124         * modules/gc-md4-tests (License): Likewise.
83125
83126         * modules/gc-md2-tests (License): Likewise.
83127
83128         * modules/gc-tests (License): Likewise.
83129
83130         * modules/des-tests (License): Likewise.
83131
83132         * modules/md4-tests (License): Likewise.
83133
83134         * modules/md2-tests (License): Likewise.
83135
83136 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83137
83138         Sync from coreutils:
83139
83140         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83141         * modules/lib-ignore: New file.
83142         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83143         chdir-safer.m4, lchmod.m4.
83144         * modules/openat: Add mkdirat.c, openat-priv.h.
83145
83146 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83147
83148         Sync from coreutils.
83149         * m4/lib-ignore.m4: New file.
83150         * m4/lchmod.m4: New file.
83151
83152 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83153
83154         Sync from coreutils.
83155         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83156         for write access: POSIX says that must fail.
83157         * lib/fts.c (diropen): Likewise.
83158         * lib/save-cwd.c (save_cwd): Likewise.
83159         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83160         well, for minor improvements on hosts that lack O_DIRECTORY.
83161         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83162         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83163         Fall back on chown if open failed with EACCES.
83164
83165         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83166         Report an error at compile-time if only a 1-second nominal clock
83167         resolution is found.
83168
83169         * lib/lchmod.h: New file.
83170         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83171         (make_dir_parents): Use lchown rather than chown, and
83172         lchmod rather than chmod.
83173
83174         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83175         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83176         "proc" reported by n0dalus.
83177
83178         * lib/mountlist.c: Include <limits.h>.
83179         (dev_from_mount_options)
83180         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83181         New function.  It no longer assumes "dev=" has the System V meaning
83182         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83183         (read_file_system_list)
83184         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83185         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83186         dev= in that case.
83187
83188         * lib/posixtm.h (PDS_PRE_2000): New macro.
83189         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83190         allow_century.  All usages changed.  Reject dates outside the range
83191         1969-1999 if PDS_PRE_2000 is used.
83192
83193 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83194
83195         Sync from coreutils.
83196         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83197         (Time of day items): Mention the possibility of leap seconds.
83198         Problem reported by Dr. David Alan Gilbert.
83199
83200 2006-01-09  Jim Meyering  <jim@meyering.net>
83201
83202         Sync from coreutils.
83203
83204         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83205
83206         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83207
83208         * lib/modechange.c (mode_compile): Reject an invalid mode string
83209         that starts with an octal digit.  From Andreas Gruenbacher.
83210
83211         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83212         and dup to open_safer and dup_safer, respectively.
83213         (openat_permissive): Fix typo in comment.
83214
83215         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83216         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83217         (_): Remove; no longer needed.
83218         (openat): Renamed from rpl_openat; no need for rpl_openat
83219         since openat.h renames openat for us.
83220         Replace most of the body with a call to openat_permissive,
83221         to avoid duplicate code.
83222         Port to (probably hypothetical) environments were mode_t is
83223         wider than int.
83224         (openat_permissive): Require mode arg, so that we can check
83225         types better.  Put it just after flags.  Change cwd failure
83226         indicator from pointer-to-bool to pointer-to-errno-value.
83227         All callers changed.
83228         Invoke openat_save_fail and/or openat_restore_fail if
83229         cwd_errno is null, so that openat can call us.
83230         (openat_permissive, fdopendir, fstatat, unlinkat):
83231         Simplify errno handling to avoid some duplicate code,
83232         as it's OK to set errno on success.
83233         * lib/openat.h: Revamp code so that function macros depend on
83234         __OPENAT_PREFIX only, not also on AT_FDCWD.
83235         (openat_ro): Remove.  Caller changed to use openat_permissive.
83236         (openat_permissive): Now a macro, if not a function.
83237         (openat_restore_fail, openat_save_fail): Now always functions,
83238         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83239
83240         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83241         and openat.c.
83242         * lib/mkdirat.c: Include openat-priv.h.
83243         Remove definitions of macros defined therein.
83244         * lib/openat.c: Likewise.
83245
83246         * lib/mkdirat.c (mkdirat): New file and function.
83247         * lib/openat.h (mkdirat): Declare.
83248
83249         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83250
83251         * lib/openat.h (openat_permissive): Declare.
83252         (openat_ro): Define.
83253
83254         * lib/openat.c (EXPECTED_ERRNO): New macro.
83255         (openat_permissive): New function -- used in remove.c rewrite.
83256         (all functions): Set errno just before returning, only if there
83257         was an actual failure.
83258         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83259
83260         Emulate openat-family functions using Linux's procfs, if possible.
83261         Idea and some code based on Ulrich Drepper's glibc changes.
83262
83263         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83264         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83265         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83266         before falling back on save_cwd and restore_cwd.
83267         (fdopendir, fstatat, unlinkat): Likewise.
83268
83269         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83270         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83271
83272         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83273         as second argument to va_arg.  Otherwise, some versions of gcc
83274         warn that `if this code is reached, the program will abort'.
83275
83276 2006-01-09  Jim Meyering  <jim@meyering.net>
83277
83278         Sync from coreutils.
83279         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83280         Require openat-priv.h.
83281
83282 2006-01-09  Bruno Haible  <bruno@clisp.org>
83283
83284         * modules/strnlen (Include): Use strnlen.h.
83285
83286 2006-01-09  Bruno Haible  <bruno@clisp.org>
83287
83288         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83289
83290 2006-01-09  Bruno Haible  <bruno@clisp.org>
83291
83292         * lib/sysexit_.h (EX_OK): New macro.
83293         Suggested by Martin Lambers <marlam@marlam.de>.
83294
83295 2006-01-09  Bruno Haible  <bruno@clisp.org>
83296
83297         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83298         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83299
83300 2006-01-09  Bruno Haible  <bruno@clisp.org>
83301
83302         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83303         numbers.
83304
83305 2006-01-09  Bruno Haible  <bruno@clisp.org>
83306
83307         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83308         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83309         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83310         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83311
83312 2006-01-09  Bruno Haible  <bruno@clisp.org>
83313
83314         * build-aux/javacomp.sh.in: New file, moved from lib/.
83315         * modules/javacomp-script (Files): Update.
83316         (configure.ac): Add AC_CONFIG_FILES invocation.
83317         (EXTRA_DIST): Remove variable.
83318
83319         * build-aux/javaexec.sh.in: New file, moved from lib/.
83320         * modules/javaexec (Files): Update.
83321         (configure.ac): Add AC_CONFIG_FILES invocation.
83322         (EXTRA_DIST): Remove javaexec.sh.in.
83323
83324         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83325         * modules/csharpcomp-script (Files): Update.
83326         (configure.ac): Add AC_CONFIG_FILES invocation.
83327         (EXTRA_DIST): Remove variable.
83328
83329         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83330         * modules/csharpexec (Files): Update.
83331         (configure.ac): Add AC_CONFIG_FILES invocation.
83332         (EXTRA_DIST): Remove csharpexec.sh.in.
83333
83334 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83335
83336         Sync from coreutils.
83337
83338         Add POSIX ACL support
83339         * lib/acl.h (copy_acl, set_acl): Add declarations.
83340         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83341         systems other than Linux.
83342         (chmod_or_fchmod): New function: use fchmod when possible,
83343         and chmod otherwise.
83344         (file_has_acl): Add a POSIX ACL implementation, with a
83345         Linux-specific subcase.
83346         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83347         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83348         acls are unsupported.
83349         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83350         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83351         are unsupported.
83352
83353 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83354
83355         Sync from coreutils.
83356         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83357
83358 2006-01-07  Bruno Haible  <bruno@clisp.org>
83359
83360         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83361         gl_EARLY.
83362
83363 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83364
83365         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83366         Problem reported for Mingw by Mark Junker.
83367
83368 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83369
83370         * README: Gnulib normally doesn't generate a tarball.
83371
83372 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83373
83374         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83375         long int, not int, for nanosecond counts, so that people who are
83376         used to POSIX struct timespec won't be surprised.  Reported by Jim
83377         Meyering.
83378
83379 2005-12-28  Bruno Haible  <bruno@clisp.org>
83380
83381         * build-aux/config.rpath: Update from GNU gettext.
83382
83383 2005-12-16  Jim Meyering  <jim@meyering.net>
83384
83385         * modules/fprintftime: New module.
83386         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83387
83388 2005-12-16  Jim Meyering  <jim@meyering.net>
83389
83390         * m4/fprintftime.m4: New file.
83391
83392 2005-12-16  Jim Meyering  <jim@meyering.net>
83393
83394         * lib/fprintftime.c, lib/fprintftime.h: New files.
83395
83396 2005-12-15  Simon Josefsson  <jas@extundo.com>
83397
83398         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83399         new m4/socklen.m4.
83400
83401 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83402
83403         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83404         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83405
83406 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83407
83408         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83409         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83410         struct uparams is valid. Fall back to the default values if it is
83411         not.
83412
83413 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83414
83415         * modules/argp (Files): Add argp-pin.c
83416         (Depends-on): dirname
83417         (lib_SOURCES): Add argp-pin.c
83418
83419 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83420
83421         * m4/argp.m4:  Check if program_invocation_name and
83422         program_invocation_short_name are declared and define appropriate
83423         macros if they are not.
83424
83425 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83426
83427         * lib/argp-help.c (__argp_base_name): New function
83428         (__argp_short_program_name): Rewrite using __argp_base_name
83429         * lib/argp-namefrob.h: Define program_invocation_name and
83430         program_invocation_short_name if requested
83431         (__argp_base_name): Add prototype
83432         * lib/argp-parse.c (argp_def): Use gettext wrappers
83433         (argp_default_parser): Use __argp_base_name
83434         * lib/argp-pin.c: New file. Defines program_invocation_name and
83435         program_invocation_short_name on systems that lack them.
83436
83437 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83438
83439         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83440         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83441         porting problem reported by Georg Schwarz in
83442         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83443
83444 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83445
83446         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83447         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83448         porting problem reported by Georg Schwarz in
83449         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83450
83451 2005-12-05  Bruno Haible  <bruno@clisp.org>
83452
83453         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83454         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83455         Reported by Mark Junker <mjscod@gmx.de>.
83456
83457 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83458
83459         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83460         Use implementation from Albert Chin, with some
83461         comments/corrections by Stepan Kasal and myself.
83462
83463 2005-12-02  Bruno Haible  <bruno@clisp.org>
83464
83465         * gnulib-tool (func_import): Accept GPLed build tool modules when
83466         --lgpl is given.
83467         * modules/csharpcomp-script: New file.
83468         * modules/csharpcomp: Depend on it.
83469         * modules/javacomp-script: New file.
83470         * modules/javacomp: Depend on it.
83471         Suggested by Simon Josefsson.
83472
83473 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83474
83475         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83476         statement, to work around an HP-UX 10.20 compiler bug reported by
83477         Peter O'Gorman.
83478
83479 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83480
83481         * modules/savedir (Depends-on): Add openat.
83482
83483 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83484
83485         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83486         (uintmax_t) [defined uintmax_t]: Do not declare.
83487         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83488         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83489         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83490         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83491         sake of portability to weird hosts that C allows (though we don't
83492         know of any practical examples).
83493
83494         * lib/savedir.h (fdsavedir): New decl.
83495         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83496         contains most of the former guts of savedir.
83497         (savedir): Use savedirstream.
83498         Include "openat.h".
83499
83500 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83501
83502         * modules/obstack (Files): Add m4/ulonglong.m4.
83503         Problem reported by Davide Angelocola.
83504
83505 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83506
83507         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83508         coreutils no longer futzes with rounding modes.
83509
83510 2005-11-14  Jim Meyering  <jim@meyering.net>
83511
83512         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83513         replacement of mkstemp.
83514
83515 2005-11-10  Simon Josefsson  <jas@extundo.com>
83516
83517         * lib/readline.c: Remove EOL.
83518
83519 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83520
83521         * modules/gethrxtime (Depends-on): Add gettime.
83522
83523 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83524
83525         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83526         or gettimeofday; no longer needed.
83527
83528 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83529
83530         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83531         time business.
83532         (gethrxtime) [! (HAVE_NANOUPTIME
83533         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83534         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83535         our own approximation.
83536
83537 2005-11-08  Eric Blake  <ebb9@byu.net>
83538
83539         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83540
83541 2005-11-08  Eric Blake  <ebb9@byu.net>
83542
83543         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83544
83545 2005-11-04  Bruno Haible  <bruno@clisp.org>
83546
83547         * gnulib-tool: Implement --update mode.
83548
83549 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83550
83551         Fix porting problem reported by Theodoros V. Kalamatianos.
83552         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83553         Don't assume that futimes failing means we must fail.
83554
83555 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83556
83557         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83558         variables to suggest the intended function of the PATH_MAX check.
83559
83560 2005-10-30  Kean Johnston  <jkj@sco.com>
83561
83562         Trivial changes to support SCO systems.
83563         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83564         as PATH_MAX.
83565         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83566         where __ptr is null when no I/O is pending.
83567
83568 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83569
83570         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83571         leave errno alone.  Problem reported by Dmitry V. Levin.
83572
83573 2005-10-28  Simon Josefsson  <jas@extundo.com>
83574
83575         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83576         Test more.
83577
83578         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83579
83580         * modules/md2, modules/md2-tests: New files.
83581
83582 2005-10-28  Simon Josefsson  <jas@extundo.com>
83583
83584         * m4/inet_ntop.m4: More tests.
83585
83586         * m4/gc-md2.m4, md2.m4: New file.
83587
83588 2005-10-28  Simon Josefsson  <jas@extundo.com>
83589
83590         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83591         "restrict" keywords, as per POSIX.  Protect the function
83592         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83593         Don't use K&R prototypes.  Check the sprintf return values.
83594         Re-define EAFNOSUPPORT if not present.  Indent.
83595
83596         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83597         suggested by Bruno Haible <bruno@clisp.org>.
83598
83599         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83600
83601         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83602
83603         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83604         libgcrypt).
83605
83606         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83607
83608         * lib/md2.h, lib/md2.c: New files.
83609
83610 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83611
83612         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83613         errno alone.  Problem reported by Frederic Jolliton.
83614
83615 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83616
83617         * modules/verify (License): Change from GPL to LGPL.  This is a
83618         tiny module and there are apparently near-equivalents that are
83619         under the BSD license.
83620
83621 2005-10-24  Simon Josefsson  <jas@extundo.com>
83622
83623         * modules/sha1: Relicense to LGPL.
83624
83625 2005-10-24  Simon Josefsson  <jas@extundo.com>
83626
83627         * lib/md4.h: Shrink buffer size, now that we changed the type.
83628
83629 2005-10-23  Simon Josefsson  <jas@extundo.com>
83630
83631         * gnulib-tool (func_import): Fix --tests-base.
83632
83633 2005-10-22  Simon Josefsson  <jas@extundo.com>
83634
83635         * modules/arcfour (Depends-on): Need stdint.
83636
83637 2005-10-22  Simon Josefsson  <jas@extundo.com>
83638
83639         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83640         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83641
83642 2005-10-22  Simon Josefsson  <jas@extundo.com>
83643
83644         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83645         suggested by Bruno Haible <bruno@clisp.org>.
83646
83647 2005-10-22  Simon Josefsson  <jas@extundo.com>
83648
83649         * lib/crc.h: Include stddef.h, for size_t.
83650
83651 2005-10-22  Simon Josefsson  <jas@extundo.com>
83652
83653         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83654         arcfour_context struct (simplify test vector testing in GNU
83655         Shishi).
83656
83657 2005-10-21  Simon Josefsson  <jas@extundo.com>
83658
83659         * modules/des, modules/des-tests: New files.
83660
83661         * modules/gc-des, modules/gc-des-tests: New files.
83662
83663         * tests/test-des.c, tests/test-gc-des.c: New file.
83664
83665 2005-10-21  Simon Josefsson  <jas@extundo.com>
83666
83667         * modules/arctwo, modules/arctwo-tests: New files.
83668
83669         * tests/test-arctwo.c: New file.
83670
83671         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83672
83673         * tests/test-gc-arctwo.c: New file.
83674
83675 2005-10-21  Simon Josefsson  <jas@extundo.com>
83676
83677         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83678         Bruno Haible <bruno@clisp.org>.
83679
83680         * m4/gc-des.m4: New file.
83681
83682 2005-10-21  Simon Josefsson  <jas@extundo.com>
83683
83684         * m4/arctwo.m4: New file.
83685
83686         * m4/gc-arctwo.m4: New file.
83687
83688 2005-10-21  Simon Josefsson  <jas@extundo.com>
83689
83690         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83691         block.
83692
83693 2005-10-21  Simon Josefsson  <jas@extundo.com>
83694
83695         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83696         <bruno@clisp.org>.
83697
83698         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83699
83700         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83701         Bruno Haible <bruno@clisp.org>.
83702
83703         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83704         <bruno@clisp.org>.
83705
83706 2005-10-21  Simon Josefsson  <jas@extundo.com>
83707
83708         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83709
83710 2005-10-21  Simon Josefsson  <jas@extundo.com>
83711
83712         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83713
83714 2005-10-21  Simon Josefsson  <jas@extundo.com>
83715
83716         * lib/des.h, lib/des.c: New files.
83717
83718         * lib/gc-gnulib.c: Support DES.c
83719
83720 2005-10-21  Simon Josefsson  <jas@extundo.com>
83721
83722         * lib/arctwo.h, lib/arctwo.c: New files.
83723
83724         * lib/gc-gnulib.c: Support ARCTWO.
83725
83726 2005-10-21  Simon Josefsson  <jas@extundo.com>
83727
83728         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83729         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83730
83731 2005-10-21  Simon Josefsson  <jas@extundo.com>
83732
83733         * gnulib-tool (func_import, func_create_testdir): Define automake
83734         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83735         Makefile.am snippet),
83736         suggested by Bruno Haible <bruno@clisp.org>.
83737
83738         * modules/gc (Makefile.am): Use it.
83739
83740 2005-10-21  Bruno Haible  <bruno@clisp.org>
83741
83742         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83743         patch.
83744
83745 2005-10-19  Simon Josefsson  <jas@extundo.com>
83746
83747         * tests/test-gc-rijndael.c: New file.
83748
83749         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83750
83751 2005-10-19  Simon Josefsson  <jas@extundo.com>
83752
83753         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83754         interface too.
83755
83756 2005-10-19  Simon Josefsson  <jas@extundo.com>
83757
83758         * tests/test-gc-arcfour.c: New file.
83759
83760         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83761
83762 2005-10-19  Simon Josefsson  <jas@extundo.com>
83763
83764         * modules/gc-md4, modules/gc-md4-tests: New file.
83765
83766         * tests/test-gc-md4.c: New file.
83767
83768 2005-10-19  Simon Josefsson  <jas@extundo.com>
83769
83770         * m4/gc-md4.m4: New file.
83771
83772 2005-10-19  Simon Josefsson  <jas@extundo.com>
83773
83774         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83775         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83776         <kasal@ucw.cz>.
83777
83778 2005-10-19  Simon Josefsson  <jas@extundo.com>
83779
83780         * m4/gc-arcfour.m4: New file.
83781
83782         * m4/gc-rijndael.m4: New file.
83783
83784 2005-10-19  Simon Josefsson  <jas@extundo.com>
83785
83786         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83787
83788 2005-10-19  Simon Josefsson  <jas@extundo.com>
83789
83790         * lib/gc-gnulib.c: Support ARCFOUR.
83791
83792 2005-10-19  Simon Josefsson  <jas@extundo.com>
83793
83794         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83795         support.
83796
83797         * lib/gc.h: Add ECB enum type.
83798
83799         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83800
83801 2005-10-18  Simon Josefsson  <jas@extundo.com>
83802
83803         * tests/test-md5.c: New file.
83804
83805         * modules/md5-tests: New file.
83806
83807 2005-10-18  Simon Josefsson  <jas@extundo.com>
83808
83809         * tests/test-md4.c: New file.
83810
83811         * modules/md4, modules/md4-tests: New files.
83812
83813 2005-10-18  Simon Josefsson  <jas@extundo.com>
83814
83815         * m4/md4.m4: New file.
83816
83817 2005-10-18  Simon Josefsson  <jas@extundo.com>
83818
83819         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83820
83821 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83822
83823         * gnulib-tool (func_create_testdir): Omit the second check whether
83824         BUILT_SOURCES in nonempty.
83825
83826 2005-10-17  Simon Josefsson  <jas@extundo.com>
83827
83828         * tests/test-rijndael.c: New file.
83829
83830 2005-10-17  Simon Josefsson  <jas@extundo.com>
83831
83832         * modules/sha1: Depend on stdint instead of md5.
83833
83834         * modules/md5: Depend on stdint, remove uint32_t.
83835
83836 2005-10-17  Simon Josefsson  <jas@extundo.com>
83837
83838         * modules/gc-sha1-tests: New file.
83839
83840         * tests/test-gc-sha1.c: New file.
83841
83842 2005-10-17  Simon Josefsson  <jas@extundo.com>
83843
83844         * m4/md5.m4: Remove call to uint32_t.m4.
83845
83846 2005-10-17  Simon Josefsson  <jas@extundo.com>
83847
83848         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83849
83850         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83851         md5.h.
83852
83853         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83854
83855         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83856
83857 2005-10-17  Simon Josefsson  <jas@extundo.com>
83858
83859         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83860
83861 2005-10-17  Simon Josefsson  <jas@extundo.com>
83862
83863         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83864
83865 2005-10-17  Simon Josefsson  <jas@extundo.com>
83866
83867         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83868
83869         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83870
83871 2005-10-17  Bruno Haible  <bruno@clisp.org>
83872
83873         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83874         that it can also be used in a test.
83875
83876 2005-10-16  Bruno Haible  <bruno@clisp.org>
83877
83878         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83879         TESTS_ENVIRONMENT, so that individual tests can augment it.
83880
83881         * gnulib-tool (func_create_testdir): Use an intermediate target for
83882         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83883         macros, like $(ALLOCA_H), which cannot be passed through the command
83884         line.
83885
83886 2005-10-15  Simon Josefsson  <jas@extundo.com>
83887
83888         * modules/rijndael-tests: New file.
83889
83890         * modules/rijndael: New file.
83891
83892 2005-10-15  Simon Josefsson  <jas@extundo.com>
83893
83894         * m4/rijndael.m4: New file.
83895
83896 2005-10-15  Simon Josefsson  <jas@extundo.com>
83897
83898         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83899
83900         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83901
83902 2005-10-14  Simon Josefsson  <jas@extundo.com>
83903
83904         * tests/test-arcfour.c: New file.
83905
83906         * modules/arcfour, modules/arcfour-tests: New files.
83907
83908 2005-10-14  Simon Josefsson  <jas@extundo.com>
83909
83910         * m4/arcfour.m4: New file.
83911
83912 2005-10-14  Simon Josefsson  <jas@extundo.com>
83913
83914         * lib/arcfour.h, lib/arcfour.c: New files.
83915
83916 2005-10-14  Roland McGrath  <roland@redhat.com>
83917
83918         Import from libc.  [BZ #1331]
83919         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83920         macro argument.
83921         Reported by Matej Vela <vela@debian.org>.
83922
83923 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83924
83925         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83926         include <wchar.h>; no longer needed.
83927
83928 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83929
83930         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83931
83932 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83933         and  Ulrich Drepper  <drepper@redhat.com>
83934
83935         Import from libc.
83936         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83937         instead of inline stream orientation test and two separate
83938         function calls.  Pay no attention to USE_IN_LIBIO.
83939
83940 2005-10-13  Simon Josefsson  <jas@extundo.com>
83941
83942         * modules/gc-hmac-md5-tests: New file.
83943
83944         * tests/test-gc-hmac-sha1.c: New file.
83945
83946         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83947
83948         * modules/gc-hmac-md5-tests: New file.
83949
83950         * tests/test-gc-md5.c: New file.
83951
83952         * modules/gc-md5-tests: New file.
83953
83954 2005-10-13  Simon Josefsson  <jas@extundo.com>
83955
83956         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83957         Move memory allocation outside of loop.
83958
83959 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83960
83961         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83962         intermediate directory is in a read-only file system.  Problem
83963         reported by Eric Blake.
83964
83965 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83966
83967         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83968
83969 2005-10-12  Simon Josefsson  <jas@extundo.com>
83970
83971         * tests/test-hmac-sha1.c: New file.
83972
83973         * modules/hmac-sha1-tests: New file.
83974
83975         * modules/hmac-sha1: New file.
83976
83977 2005-10-12  Simon Josefsson  <jas@extundo.com>
83978
83979         * modules/gc-sha1: New file.
83980
83981 2005-10-12  Simon Josefsson  <jas@extundo.com>
83982
83983         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83984
83985         * tests/test-gc-pbkdf2-sha1.c: New file.
83986
83987 2005-10-12  Simon Josefsson  <jas@extundo.com>
83988
83989         * modules/gc-md5, modules/gc-hmac-md5: New files.
83990
83991         * modules/gc (Files): Remove md5, memxor and hmac files.
83992
83993 2005-10-12  Simon Josefsson  <jas@extundo.com>
83994
83995         * m4/gc-pbkdf2-sha1.m4: New file.
83996
83997         * m4/gc-hmac-sha1.m4: New file.
83998
83999         * m4/gc-sha1: New file.
84000
84001         * m4/hmac-sha1.m4: New file.
84002
84003 2005-10-12  Simon Josefsson  <jas@extundo.com>
84004
84005         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84006
84007         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84008
84009 2005-10-12  Simon Josefsson  <jas@extundo.com>
84010
84011         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84012         suggested by Bruno Haible <bruno@clisp.org>.
84013
84014 2005-10-12  Simon Josefsson  <jas@extundo.com>
84015
84016         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84017
84018 2005-10-12  Simon Josefsson  <jas@extundo.com>
84019
84020         * lib/gc-pbkdf2-sha1.c: New file.
84021
84022         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84023
84024 2005-10-12  Simon Josefsson  <jas@extundo.com>
84025
84026         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84027
84028         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84029
84030 2005-10-12  Simon Josefsson  <jas@extundo.com>
84031
84032         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84033         GC_USE_HMAC_MD5, respectively.
84034
84035         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84036         (gc_md5): Fix typo.
84037
84038         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84039
84040         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84041
84042         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84043
84044 2005-10-12  Bruno Haible  <bruno@clisp.org>
84045
84046         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84047         Reported by Stepan Kasal <kasal@ucw.cz>.
84048
84049 2005-10-11  Simon Josefsson  <jas@extundo.com>
84050
84051         * tests/test-crc.c: New file.
84052
84053         * modules/crc, modules/crc-tests: New files.
84054
84055 2005-10-11  Simon Josefsson  <jas@extundo.com>
84056
84057         * m4/crc.m4: New file.
84058
84059 2005-10-11  Simon Josefsson  <jas@extundo.com>
84060
84061         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84062
84063         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84064
84065         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84066
84067 2005-10-11  Simon Josefsson  <jas@extundo.com>
84068
84069         * lib/crc.h, lib/crc.c: New files.
84070
84071         * lib/gc.h (gc_hash_buffer): Add doc.
84072
84073 2005-10-11  Bruno Haible  <bruno@clisp.org>
84074
84075         * modules/c-strcasestr: New file.
84076         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84077
84078 2005-10-11  Bruno Haible  <bruno@clisp.org>
84079
84080         * modules/c-strcase: New file.
84081         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
84082
84083 2005-10-11  Bruno Haible  <bruno@clisp.org>
84084
84085         * lib/strcasecmp.c: Include limits.h.
84086         (strcasecmp): Avoid integer overflow on exotic platforms.
84087         * lib/strncasecmp.c: Include limits.h.
84088         (strncasecmp): Avoid integer overflow on exotic platforms.
84089         Reported by Paul Eggert.
84090
84091 2005-10-11  Bruno Haible  <bruno@clisp.org>
84092
84093         * lib/c-strcasestr.h: New file, from GNU gettext.
84094         * lib/c-strcasestr.c: New file, from GNU gettext.
84095
84096 2005-10-11  Bruno Haible  <bruno@clisp.org>
84097
84098         * lib/c-strcase.h: New file, from GNU gettext.
84099         * lib/c-strcasecmp.c: New file, from GNU gettext.
84100         * lib/c-strncasecmp.c: New file, from GNU gettext.
84101
84102 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84103
84104         * modules/mempcpy (License): GPL -> LGPL.
84105         * modules/strchrnul (License): Likewise.
84106         * modules/sysexits (License): Likewise.
84107
84108 2005-10-08  Simon Josefsson  <jas@extundo.com>
84109
84110         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84111
84112 2005-10-07  Simon Josefsson  <jas@extundo.com>
84113
84114         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84115
84116 2005-10-06  Simon Josefsson  <jas@extundo.com>
84117
84118         * tests/test-hmac-md5.c: New file.
84119
84120         * modules/hmac-md5-tests: New file.
84121
84122         * modules/hmac-md5: New file.
84123
84124 2005-10-06  Simon Josefsson  <jas@extundo.com>
84125
84126         * m4/hmac-md5.m4: New file.
84127
84128         * m4/memxor.m4: Require gl_C_RESTRICT.
84129
84130 2005-10-06  Simon Josefsson  <jas@extundo.com>
84131
84132         * lib/memxor.c (memxor): Avoid casts and warnings.
84133
84134 2005-10-06  Simon Josefsson  <jas@extundo.com>
84135
84136         * lib/hmac-md5.c: New file.
84137
84138         * lib/hmac.h: New file.
84139
84140 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84141
84142         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84143         promotes to int, not unsigned int, to catch the AIX 5.3
84144         compiler bug.
84145
84146 2005-10-05  Simon Josefsson  <jas@extundo.com>
84147
84148         * modules/memxor: New file.
84149
84150         * modules/iconv (Files): Move config.rpath to havelib, it is used
84151         there.
84152
84153         * modules/havelib (Files): Add config.rpath.
84154
84155 2005-10-05  Simon Josefsson  <jas@extundo.com>
84156
84157         * m4/memxor.m4: New file.
84158
84159 2005-10-05  Simon Josefsson  <jas@extundo.com>
84160
84161         * lib/memxor.c (memxor): Fix compiler error.
84162
84163         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84164         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84165
84166         * lib/memxor.h, lib/memxor.c: New files.
84167
84168         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84169         we assume all systems have it, suggested by Jim Meyering
84170         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84171         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84172         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84173         same reasons.
84174
84175 2005-10-05  Simon Josefsson  <jas@extundo.com>
84176
84177         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84178
84179 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84180
84181         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84182         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84183         needed, since the source code now assumes these .h files.
84184
84185 2005-10-05  Derek Price  <derek@ximbiot.com>
84186
84187         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84188
84189 2005-10-05  Bruno Haible  <bruno@clisp.org>
84190
84191         * modules/stdint (License): Change to LGPL.
84192
84193 2005-10-04  Simon Josefsson  <jas@extundo.com>
84194
84195         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84196         D. Baushke" <mdb@gnu.org>.
84197
84198 2005-10-04  Bruno Haible  <bruno@clisp.org>
84199
84200         * lib/verify.h (verify_true): Provide alternative definition for C++.
84201
84202 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84203
84204         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84205         (SSIZE_MAX): New macro, if not already defined.
84206         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84207         than 2 GiB.
84208
84209 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84210
84211         Sync from coreutils.
84212         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84213         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84214         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84215         ULLONG_MAX doesn't work with 2.7.2.1.
84216
84217 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84218
84219         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84220         From Ben Pfaff.
84221
84222         * modules/exclude (Depends-on): Depend on verify.
84223         * modules/strtoimax (Depends-on): Likewise.
84224         * modules/utimecmp (Depends-on): Likewise.
84225
84226 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84227
84228         * lib/exclude.c: Include verify.h.
84229         (verify): Remove.  All callers changed to use verify.h's version.
84230         * lib/strtoimax.c: Likewise.
84231         * lib/utimecmp.c: Likewis.e
84232
84233         Sync from coreutils.
84234         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84235         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84236         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84237         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84238         bother returning ENOSYS if settimeofday or stime fails; just let
84239         them return whatever errno they want to return.
84240         * lib/utimens.c: Include unistd.h, for dup2.
84241         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84242         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84243
84244 2005-10-02  Jim Meyering  <jim@meyering.net>
84245
84246         Sync from coreutils.
84247         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84248         from glibc-2.2.5 that fails for read-only files.
84249
84250 2005-10-02  Jim Meyering  <jim@meyering.net>
84251
84252         Sync from coreutils.
84253         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84254         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84255         `#if HAVE_CONFIG_H'.
84256         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84257         Remove AT_FDCWD test.
84258         Do not consume the fd unless successful.
84259         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84260         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84261         block, so that we don't even try to compile it if settimeofday is
84262         available.  This works around a compilation failure on OSF1 V5.1,
84263         due to stime requiring a `long int*' while tv_sec is `int'.
84264
84265 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84266
84267         Sync from coreutils.
84268         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84269         against `yes', rather than just testing for nonempty.
84270
84271 2005-10-01  Simon Josefsson  <jas@extundo.com>
84272
84273         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84274         and Darwin.
84275
84276         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84277         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84278         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84279         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84280         Check if struct addrinfo is declared.
84281
84282 2005-10-01  Simon Josefsson  <jas@extundo.com>
84283
84284         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84285         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84286         AI_* and EAI_* definitions.  Protect function declarations.
84287
84288 2005-10-01  Jim Meyering  <jim@meyering.net>
84289
84290         Sync from coreutils.
84291
84292         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84293         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84294         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84295         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84296         in the inet and nsl libraries.  Required on Solaris 5.7.
84297
84298 2005-10-01  Jim Meyering  <jim@meyering.net>
84299
84300         Sync from coreutils.
84301         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84302         in the inet and nsl libraries.  Required on Solaris 5.7.
84303
84304 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84305
84306         * lib/getdelim.c (getdelim): Remove unused variables.
84307
84308 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84309
84310         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84311         so that the code works even with ancient cpp.  Portability problem
84312         with GCC 2.7.2.1 reported by Thomas M.Ott.
84313
84314 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84315
84316         * modules/regex (Depends-on): Add strcase.
84317
84318         * modules/gethostname (Licence): Change from GPL to LGPL, since
84319         gethostname.c is a trivial implementation of a standard library
84320         function.
84321         * modules/poll (License): Change from GPL to LGPL, since it's
84322         derived from LGPL code.
84323
84324 2005-09-27  Jim Meyering  <jim@meyering.net>
84325
84326         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84327         HAVE_CONFIG_H.
84328
84329         * lib/intprops.h (signed_type_or_expr__): Define.
84330         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84331         for unsigned types.
84332
84333 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84334
84335         * lib/verify.h (verify_expr): Remove, replacing with:
84336         (verify_true): New macro that returns true instead of void.
84337         (verify_type__): Remove.
84338         (verify): Use verify_true rather than verify_type__.
84339
84340 2005-09-26  Bruno Haible  <bruno@clisp.org>
84341
84342         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84343         is necessary.
84344         (lib_SOURCES): Remove mbchar.c.
84345         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84346         (Files): Add m4/mbrtowc.m4.
84347         * modules/mbiter: Likewise.
84348         * modules/mbuiter: Likewise.
84349
84350 2005-09-26  Bruno Haible  <bruno@clisp.org>
84351
84352         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84353         compile mbchar.c if they are not both present.
84354         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84355         * m4/mbiter.m4 (gl_MBITER): Likewise.
84356         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84357         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84358         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84359
84360 2005-09-25  Jim Meyering  <jim@meyering.net>
84361
84362         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84363         also uses socklen_t.
84364
84365 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84366
84367         * lib/utimens.c (ENOSYS): Define if not already defined.
84368         (futimens): Support having a null PATH if the file descriptor
84369         is nonnegative.
84370
84371         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84372         Remove.
84373         (__attribute): Define to empty unless GCC 3.1 or later.
84374         This works around a core dump on OpenBSD 3.4, which has GCC
84375         2.95.3, which dumps core when given __attribute__(()).  It also
84376         simplifies other tests, since we really don't want to bother with
84377         worrying about which ancient version of GCC supported what.
84378         Original problem reported by Yoann Vandoorselaere, with part of
84379         the fix suggested by Derek Price.
84380
84381 2005-09-24  Jim Meyering  <jim@meyering.net>
84382
84383         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84384         so we can once again use a positive bitfield width of 1 -- now we
84385         don't have to explain why we were using a bitfield width of 2.
84386
84387 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84388
84389         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84390         and similarly for the other external symbols.  Problem reported
84391         by James Gallager.
84392
84393         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84394         bug reported by Jim Meyering.
84395
84396         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84397         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84398         not needed, since socklen is a prerequisite module.
84399
84400 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84401
84402         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84403         Problem reported by Eric Blake.
84404         (getaddrinfo): Initialize se so that it's not garbage.
84405         Redo internal storage allocation so that it doesn't make unportable
84406         assumptions about alignment.
84407         Fix a memory leak.
84408
84409         * lib/utimens.c (futimens): Use futimesat if available.
84410         Prefer it to futimes since it doesn't have the futimes bug.
84411
84412         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84413         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84414         Instead, declare a function that returns a pointer to an array,
84415         and use verify_type__ to declare the size of the array.
84416         Problem and germ of a solution reported by Bruno Haible.
84417         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84418         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84419
84420 2005-09-23  Jim Meyering  <jim@meyering.net>
84421
84422         Sync from coreutils.
84423         Correct build failure (socklen_t not defined) on at least
84424         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84425         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84426
84427 2005-09-23  Jim Meyering  <jim@meyering.net>
84428
84429         * modules/getaddrinfo (Depends-on): Add socklen.
84430
84431 2005-09-23  Bruno Haible  <bruno@clisp.org>
84432
84433         * tests/test-verify.c: New file.
84434
84435 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84436
84437         Sync from coreutils.
84438
84439         * modules/argmatch (Depends-on): Add verify.
84440         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84441         unistd-safer.
84442         * modules/save-cwd (Depends-on): Likewise.
84443
84444         * modules/openat (Files): Add lib/openat-die.c.
84445         (Depends-on): Remove error, exitfail.
84446         Add dirname.
84447
84448         * modules/verify: New file.
84449         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84450         with "verify" module.
84451
84452 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84453
84454         Sync from coreutils.
84455
84456         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84457         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84458         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84459         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84460         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84461         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84462         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84463         Don't bother checking for string.h, stdlib.h, unistd.h.
84464         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84465         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84466         module's job.
84467         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84468         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84469
84470         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84471         (gl_GETDATE): Use it.
84472
84473         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84474
84475 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84476
84477         Sync from coreutils.
84478
84479         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84480         stat-time.h.
84481         * lib/argmatch.h: Include verify.h
84482         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84483         (ARGMATCH_ASSERT): Remove; unused.
84484         * lib/canonicalize.c: Assume STDC_HEADERS.
84485         * lib/exclude.c: Include "strcase.h".
84486         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84487         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84488         and stdio-safer.h.
84489         (getusershell): Call fopen, not fopen_safer.
84490         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84491         Do not include unistd-safer.h.
84492         (save_cwd): Don't call fd_safer; no longer needed
84493         now that we include fcntl--.h.
84494
84495         * lib/getdate.y (relative_time): New type.
84496         (RELATIVE_TIME_0): New constant.
84497         (parser_control): Use relative_time instead of doing it ourselves.
84498         (%union): Add new relative_time rel member.
84499         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84500         Now typeless.
84501         (relunit, relunit_snumber): Now of type rel.
84502         (zone, rel, relunit, get_date): Adjust to above changes.
84503
84504         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84505         Do not include unistd-safer.h.
84506         (getloadavg): Don't call fd_safer; no longer needed
84507         now that we include fcntl--.h.
84508
84509         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84510         (make_dir_parents): Treat ENOSYS like EEXIST.
84511
84512         Improve quality of diagnostics on restore_cwd failure.
84513         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84514         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84515         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84516         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84517         each time through the loop.  Do not diagnose restore_cwd failure;
84518         that is the caller's job (and perhaps the caller does not care).
84519
84520         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84521         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84522         If the file already exists but is not a directory, don't bother
84523         to try to make its parents.
84524         Close potential file descriptor leak if we can't chdir("/") (!).
84525         Don't always return true if chdir($PWD) fails; return true only
84526         if the requested action was done successfully (except for the
84527         chdir($PWD)).
84528         Don't log final directory unless we actually made it.
84529         Refactor to avoid duplicate code to fix up permissions.
84530         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84531
84532         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84533         to make it a bit faster and (I hope) clearer.
84534         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84535         Fix bug in formats like %2N.
84536
84537         * lib/verify.h: New file.
84538
84539 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84540
84541         Sync from coreutils.
84542         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84543
84544 2005-09-22  Jim Meyering  <jim@meyering.net>
84545
84546         Sync from coreutils.
84547
84548         * m4/lstat.m4 (gl_FUNC_LSTAT):
84549         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84550         Remove obsolete comment.
84551         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84552         * m4/xstrtod.m4: Likewise.
84553
84554         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84555
84556 2005-09-22  Jim Meyering  <jim@meyering.net>
84557
84558         Sync from coreutils.
84559
84560         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84561
84562         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84563         the .tm_year member, since otherwise gcc-4.0 would now warn about
84564         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84565
84566         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84567         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84568
84569         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84570         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84571         when run in a time zone for which daylight savings time is in effect
84572         for the starting date.
84573
84574         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84575         stop us from restricting permissions of just-created absolute-named
84576         directories.
84577         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84578         to restore initial working directory.
84579         * lib/mkdir-p.c (make_dir_parents): New parameter:
84580         different_working_dir, to tell caller if/when we change the working
84581         directory and are unable to return to the initial one.
84582         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84583         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84584         `return false'.  This fixes a bug introduced on 2004-07-30.
84585
84586         * lib/openat.c (fdopendir): Be sure to close the supplied
84587         file descriptor before returning.  This makes our replacement
84588         implementation a little closer to Solaris's, where fdopendir
84589         ties the file descriptor to the returned DIR* pointer.
84590         * lib/openat.c (unlinkat): New function.
84591         * lib/openat.h (unlinkat): Add prototype.
84592         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84593         (openat_restore_fail): Rename from openat_restore_die.
84594         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84595
84596         Provide an alternative to exiting immediately upon save_cwd or
84597         restore_cwd failure.  Now, an application can arrange e.g.,
84598         to perform a longjump in that case.
84599         * lib/openat.c: Include dirname.h.
84600         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84601         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84602         and openat_restore_die rather than calling error directly.
84603         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84604
84605         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84606         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84607         define.
84608
84609         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84610         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84611                             int utc, int nanoseconds);
84612         Background:
84613         date should not have to allocate a megabyte of virtual memory to
84614         handle a format argument like +%1048575T.  When implemented with
84615         strftime, it must allocate such a buffer, use strftime to fill it
84616         in, print it, then free it.
84617         With fprintftime, it simply prints everything and exits.
84618         With no need for memory allocation, that's one fewer way to fail.
84619         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84620         optional field width, not before, so we accept %9:z, not %:9z.
84621         (my_strftime): Be sure to use L_('x') for literals.
84622
84623         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84624         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84625         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84626         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84627         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84628         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84629         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84630         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84631         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84632         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84633         * lib/xgethostname.c, lib/xreadlink.c:
84634         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84635
84636         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84637         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84638         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84639         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84640         and don't include <sys/file.h>).
84641
84642 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84643
84644         Sync from coreutils.
84645
84646         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84647         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84648         [!LDAV_DONE]: Avoid unused variable warning.
84649
84650 2005-09-21  Bruno Haible  <bruno@clisp.org>
84651
84652         * lib/unicodeio.h (unicode_to_mb): New declaration.
84653
84654 2005-09-20  Derek Price  <derek@ximbiot.com>
84655
84656         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84657         getaddrinfo.h.
84658
84659 2005-09-20  Bruno Haible  <bruno@clisp.org>
84660
84661         * gnulib-tool: Remove trailing slashes from the values specified for
84662         --source-base, --m4-base, --tests-base, --aux-dir.
84663         Suggested by Simon Josefsson <jas@extundo.com>.
84664
84665 2005-09-20  Bruno Haible  <bruno@clisp.org>
84666
84667         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84668         func_modules_to_filelist, func_import, func_create_testdir): Make all
84669         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84670         change when gnulib-tool is invoked in a different locale.
84671
84672 2005-09-19  Simon Josefsson  <jas@extundo.com>
84673
84674         * m4/socklen.m4: Fix typo.
84675
84676 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84677
84678         Use a consistent style for including <config.h>.
84679         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84680         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84681         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84682         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84683         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84684         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84685         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84686         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84687         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84688         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84689         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84690         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84691         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84692         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84693         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84694         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84695         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84696         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84697         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84698         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84699         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84700         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84701         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84702         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84703         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84704         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84705         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84706         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84707         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84708         lib/xstrtoumax.c, lib/yesno.c:
84709         Standardize inclusion of config.h.
84710         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84711         lib/inttostr.h:  Removed inclusion of config.h from header files.
84712         * lib/inttostr.c:  Adjusted in-tree users.
84713         * lib/timespec.h: Remove superfluous warning to include config.h.
84714         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84715         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84716         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84717         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84718         config.h with HAVE_CONFIG_H.
84719
84720 2005-09-19  Jim Meyering  <jim@meyering.net>
84721
84722         * modules/pathmax (License): Change to LGPL.
84723
84724 2005-09-19  Derek Price  <derek@ximbiot.com>
84725
84726         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84727
84728 2005-09-19  Bruno Haible  <bruno@clisp.org>
84729
84730         * gnulib-tool (import): Provide default for --tests-base.
84731
84732 2005-09-19  Bruno Haible  <bruno@clisp.org>
84733
84734         * doc/quote.texi: New file, extracted from gnulib.texi.
84735         * doc/ctime.texi: New file, extracted from gnulib.texi.
84736         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84737         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84738         * doc/gnulib.texi: Include them.
84739
84740 2005-09-18  Bruno Haible  <bruno@clisp.org>
84741
84742         Portability fix.
84743         * gnulib-tool (func_readlink): New function.
84744         (func_ln_if_changed): Use it.
84745
84746 2005-09-18  Bruno Haible  <bruno@clisp.org>
84747
84748         * gnulib-tool: Support --with-tests also with --import.
84749         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84750         (func_import): Use variables $testsbase and $inctests. Emit a
84751         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84752         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84753         SUBDIRS += $testsdir.
84754         (func_create_testdir): Update.
84755
84756 2005-09-18  Bruno Haible  <bruno@clisp.org>
84757
84758         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84759         instead of $dry_run.
84760         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84761         (func_ln_if_changed): Don't handle dry-run here.
84762         (func_import): In dry-run mode, detect more precisely which actions
84763         would be performed, and don't use "...ing" verbs.
84764
84765 2005-09-18  Bruno Haible  <bruno@clisp.org>
84766
84767         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84768         (func_import): Use join on two temporary files instead of three nested
84769         loops, in order to determine which files are new or old.
84770
84771 2005-09-18  Bruno Haible  <bruno@clisp.org>
84772
84773         * gnulib-tool (func_import): Comment out code that spits out the
84774         new files with --dry-run.
84775
84776 2005-09-18  Bruno Haible  <bruno@clisp.org>
84777
84778         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84779
84780 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84781
84782         * lib/stat-time.h: New file.
84783         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84784         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84785         in a different way.
84786         (timespec_cmp): New function.
84787         * lib/utimecmp.c: Include stat-time.h.
84788         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84789         members exist, not on the obsolescent ST_MTIM_NSEC.
84790         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84791
84792 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84793
84794         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84795
84796 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84797
84798         * MODULES.html.sh (File system functions): Add stat-time.
84799         * modules/stat-time: New file.
84800         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84801         is now done in a different way, by the stat-time module.
84802         * modules/utimecmp (Depends-on): Add stat-time.
84803
84804 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84805
84806         * m4/st_mtim.m4: Remove.  Superseded by...
84807         * m4/stat-time.m4: New file.
84808         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84809         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84810
84811 2005-09-15  Derek Price  <derek@ximbiot.com>
84812
84813         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84814
84815 2005-09-15  Derek Price  <derek@ximbiot.com>
84816
84817         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84818         * lib/regex_internal.c: Ditto, using this...
84819         (__GNUC_PREREQ): ...new macro.
84820         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84821         using...
84822         (__GNUC_PREREQ): ...this new macro.
84823
84824         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84825
84826 2005-09-15  Derek Price  <derek@ximbiot.com>
84827             Paul Eggert  <eggert@cs.ucla.edu>
84828
84829         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84830         changes, consolidating in...
84831         * lib/regex_internal.h: ...this file.
84832
84833 2005-09-13  Jim Meyering  <jim@meyering.net>
84834
84835         * lib/canon-host.c: Filter through gnu indent and reword comments
84836         slightly.
84837         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84838
84839 2005-09-13  Derek Price  <derek@ximbiot.com>
84840
84841         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84842         failure.
84843         Reported by Jim Meyering  <jim@meyering.net>.
84844
84845 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84846
84847         * lib/base64.c: Typo.
84848         (base64_encode): Put b64str in initialized data section.
84849
84850 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84851
84852         Merge glibc and coreutils changes into gnulib, plus a few
84853         extra fixes.
84854         * lib/md5.c: Use #error rather than a string.
84855         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84856         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84857         (__attribute__): Define to empty for non recent-GCC.
84858         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84859         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84860         Renamed from their non-__ counterparts, with new macros replacing
84861         them if not _LIBC.  Add __THROW attribute.
84862         (rol): Remove.
84863         (struct md5_ctx): Align buffer if using GCC.
84864         * lib/sha1.h (struct sha1_ctx): Likewise.
84865         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84866         The old name was backwards.
84867         (NOTSWAP): Remove; not used.
84868         (rol): New macro, moved here from md5.h.
84869         (sha1_process_block): Remove a FIXME that doesn't make sense.
84870
84871 2005-09-12  Derek Price  <derek@ximbiot.com>
84872
84873         Return usable errors from canon-host.
84874         * lib/canon-host.h: New file.
84875         * lib/canon-host.c (canon_host): Wrap...
84876         (canon_host_r): ...this new function, which now relies exclusively on
84877         getaddrinfo.
84878         (ch_strerror): New function.
84879         (last_cherror): New global.
84880         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84881         interface.
84882         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84883         void *.
84884         (freeaddrinfo): Free ai->ai_canonname when set.
84885
84886 2005-09-12  Derek Price  <derek@ximbiot.com>
84887
84888         Make canon-host require getaddrinfo.
84889         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84890         AC_LIBSOURCE canon-host.h.  Call...
84891         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84892         gl_GETADDRINFO.
84893         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84894
84895 2005-09-12  Derek Price  <derek@ximbiot.com>
84896
84897         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84898         LGPL.
84899         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84900
84901 2005-09-12  Derek Price  <derek@ximbiot.com>
84902
84903         * lib/gai_strerror.c: Include config.h when available.  Include
84904         getaddrinfo.h before other headers to test interface.
84905         Reported by Larry Jones <lawrence.jones@ugs.com>.
84906
84907 2005-09-12  Derek Price  <derek@ximbiot.com>
84908             Paul Eggert  <eggert@cs.ucla.edu>
84909
84910         * modules/glob (Files): Add glob-libc.h.
84911
84912 2005-09-12  Derek Price  <derek@ximbiot.com>
84913             Paul Eggert  <eggert@cs.ucla.edu>
84914
84915         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84916         glob_.h, glob-libc.h.
84917         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84918
84919 2005-09-12  Derek Price  <derek@ximbiot.com>
84920             Paul Eggert  <eggert@cs.ucla.edu>
84921
84922         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84923         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84924         protecting things that should be done only in gnulib contexts.
84925         * lib/glob_.h: New file, containing only the glob things needed for
84926         gnulib.
84927         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84928         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84929         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84930         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84931         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84932         and to respect the namespace rules better.
84933
84934 2005-09-08  Simon Josefsson  <jas@extundo.com>
84935
84936         * modules/socklen: New file.
84937
84938 2005-09-08  Simon Josefsson  <jas@extundo.com>
84939
84940         * m4/socklen.m4: New file.
84941
84942 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84943
84944         * modules/utimens (Files): Add m4/utimbuf.m4, since
84945         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84946         Reported by Sergey Poznyakoff.
84947
84948 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84949
84950         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84951         definitions, since that's the preferred style in glibc.
84952         Fix a minor spacing issue, and update copyright notice to match
84953         glibc's.
84954
84955 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84956
84957         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84958
84959 2005-09-06  Simon Josefsson  <jas@extundo.com>
84960
84961         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84962         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84963
84964 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84965
84966         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84967         warning.
84968
84969 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84970
84971         * config/srclist.txt: Add glibc bug 1302.
84972
84973 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84974
84975         Change bitset word type from unsigned int to unsigned long int,
84976         as this has better performance on typical 64-bit hosts.
84977         Port bitset code to hosts with unusual word sizes.
84978         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84979         (build_collating_symbol):
84980         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84981         argument is a bitset.  This is merely a style issue, but it makes
84982         it clearer that an entire array is expected.
84983         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84984         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84985         Port to the case where bitset_word is not the same as unsigned int.
84986         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84987         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84988         Likewise.
84989         * lib/regexec.c (check_dst_limits_calc_pos_1,
84990         check_subexp_matching_top):
84991         (build_trtable, group_nodes_into_DFAstates):
84992         Likewise.
84993         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84994         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84995         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84996         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84997         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84998         * lib/regcomp.c (optimize_subexps, lower_subexp):
84999         Work even if bitset_word has holes in its bitwise representation.
85000         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85001         * lib/regexec.c (check_dst_limits_calc_pos_1,
85002         check_subexp_matching_top):
85003         Likewise.
85004         * lib/regex_internal.c (re_string_reconstruct):
85005         Don't assume UCHAR_MAX == 255.
85006         * lib/regex_internal.h (bitset_set_all): Likewise.
85007         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85008         All uses changed.
85009         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85010         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85011         All uses changed.
85012         (BITSET_WORD_MAX): New macro.
85013         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85014         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85015         (bitset_empty, bitset_copy):
85016         Prefer sizeof (bitset) to multiplying it out ourselves.
85017         (bitset_not_merge): Remove; unused.
85018         (bitset_contain): Return bool, not unsigned int with one bit on.
85019         All callers changed.
85020         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85021         alignment than re_node_set; do this by defining a new internal
85022         type struct dests_alloc and using it to allocate memory.
85023
85024 2005-09-05  Bruno Haible  <bruno@clisp.org>
85025
85026         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85027         links.
85028
85029 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85030
85031         * modules/size_max (Makefile.am): Add size_max.h
85032
85033 2005-09-04  Derek Price  <derek@ximbiot.com>
85034
85035         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85036
85037 2005-09-03  Simon Josefsson  <jas@extundo.com>
85038
85039         * gnulib-tool: Fix typo.
85040
85041 2005-09-03  Simon Josefsson  <jas@extundo.com>
85042
85043         * config/srclist.txt: Add glibc bug 1293.
85044
85045 2005-09-03  Derek Price  <derek@ximbiot.com>
85046
85047         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85048         From Larry Jones <lawrence.jones@ugs.com>.
85049
85050 2005-09-02  Simon Josefsson  <jas@extundo.com>
85051
85052         * modules/socklen: New file.
85053
85054 2005-09-02  Simon Josefsson  <jas@extundo.com>
85055
85056         * modules/havelib: New module.
85057
85058         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85059         Use havelib.
85060
85061 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85062
85063         Check for arithmetic overflow when calculating sizes, to prevent
85064         some buffer-overflow issues.  These patches are conservative, in the
85065         sense that when I couldn't determine whether an overflow was possible,
85066         I inserted a run-time check.
85067         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85068         macros.
85069         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85070         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85071         (re_xnrealloc, re_x2nrealloc): New inline functions.
85072         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85073         parse_bracket_exp):
85074         (build_equiv_class, build_charclass): Check for arithmetic overflow
85075         in size expression calculations.
85076         * lib/regex_internal.c (re_string_realloc_buffers):
85077         (build_wcs_upper_buffer, re_node_set_add_intersect):
85078         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
85079         (re_dfa_add_node, register_state): Likewise.
85080         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
85081         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
85082         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85083         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85084
85085 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85086
85087         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85088         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85089
85090 2005-09-02  Bruno Haible  <bruno@clisp.org>
85091
85092         Support for lib vs. lib64 distinction on biarch platforms.
85093         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85094         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85095         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85096
85097 2005-09-02  Bruno Haible  <bruno@clisp.org>
85098
85099         * gnulib-tool (import): In the other first-use case, provide defaults
85100         as well.
85101
85102 2005-09-02  Bruno Haible  <bruno@clisp.org>
85103
85104         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85105         patches not yet found in the latest gettext release.
85106
85107 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85108
85109         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85110         to avoid a collision with bits/local_lim.h in glibc.
85111         All uses changed.  Problem reported by Dmitry V. Levin in
85112         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85113
85114         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85115         bugs in int versus size_t comparisons.
85116         (re_string_context_at): Fix bug where the code assumed that
85117         Idx is signed.
85118
85119         Use bool where appropriate.
85120         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85121         All callers changed.
85122         (calc_eclosure_iter): Likewise, for ROOT arg.
85123         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85124         (build_charclass_op): Likewise, for NON_MATCH arg.
85125         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85126         (re_string_construct_common): Likewise, for ICASE arg.
85127         * lib/regexec.c (re_search_2_stub, re_search_stub):
85128         Likewise, for RET_LEN arg.
85129         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85130         (set_regs): Likewise, for FL_BACKTRACK arg.
85131         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85132         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85133         (calc_eclosure_iter, parse_bracket_exp):
85134         Use bool for internal variables that are booleans.
85135         * lib/regexec.c (re_search_internal, check_matching,
85136         proceed_next_node):
85137         (set_regs, build_sifted_states, sift_states_bkref):
85138         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85139         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85140         (find_collation_sequence_value):
85141         Likewise.
85142         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85143         (re_node_set_compare):
85144         Return bool, not int. All callers changed.
85145         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85146         (build_trtable, check_node_accept): Likewise.
85147         * lib/regex_internal.h: Include stdbool.h.
85148
85149         Fix bugs uncovered when converting to bool.
85150         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85151         failure instead of charging ahead blindly.
85152         * lib/regex_internal.c (register_state): Likewise.
85153         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85154         for freeing internal storage.
85155         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85156         bitset pieces used as boolean, to avoid undefined behavior
85157         on hosts that do int overflow checking.
85158
85159 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85160
85161         * config/srclist.txt: Add glibc bugs 1285-1287.
85162
85163 2005-09-01  Jim Meyering  <jim@meyering.net>
85164
85165         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85166         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85167         Require gl_STAT_MACROS, too.
85168
85169 2005-09-01  Bruno Haible  <bruno@clisp.org>
85170
85171         * gnulib-tool (import): In the first-use case, provide defaults.
85172
85173 2005-09-01  Bruno Haible  <bruno@clisp.org>
85174
85175         * gnulib-tool (func_import): Remove the .tmp files.
85176
85177 2005-09-01  Bruno Haible  <bruno@clisp.org>
85178
85179         * gnulib-tool (func_import): Fix handling of symbolic links.
85180
85181 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85182
85183         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85184         old glibc regex code mishandles strings longer than 2**31 bytes.
85185         This patch fixes this when the regex code is used in gnulib
85186         (i.e., outside glibc).
85187
85188         This patch should not affect the use of the regex code inside
85189         glibc.  No doubt this problem also needs to be handled for glibc
85190         as well, but the result will be an incompatible change to the
85191         glibc ABI, and the old ABI will have to be supported too.  That
85192         can be the the subject for another patch.
85193
85194         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85195         governing whether the rest of this patch is active.  By default,
85196         the macro is disabled and the patch has no effect.
85197         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85198         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85199         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85200         (re_match_2, re_set_registers): Use the new types.
85201         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85202         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85203         New macros.
85204         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85205         (re_string_context_at, bin_tree_t, re_dfastate_t):
85206         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85207         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85208         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85209         (re_string_char_size_at, re_string_wchar_at):
85210         (re_string_elem_size_at):
85211         Use the new types and macros to port to 64-bit hosts.
85212         Use unsigned types for internal values, so that the code
85213         mostly works even for arrays larger than SSIZE_MAX.
85214         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85215         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85216         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85217         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85218         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85219         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85220         (calc_inveclosure, parse_dup_op, build_range_exp):
85221         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85222         (fetch_number, create_token_tree, mark_opt_subexp):
85223         Likewise.
85224         * lib/regex_internal.c (re_string_construct_common,
85225         create_ci_newstate):
85226         (create_cd_newstate, re_string_allocate, re_string_construct):
85227         (re_string_realloc_buffers, build_wcs_upper_buffer):
85228         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85229         (re_string_reconstruct, re_string_peek_byte_case):
85230         (re_string_fetch_byte_case, re_string_context_at):
85231         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85232         (re_node_set_init_copy, re_node_set_add_intersect):
85233         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85234         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85235         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85236         (re_acquire_state, re_acquire_state_context, register_state):
85237         Likewise.
85238         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85239         search_cur_bkref_entry):
85240         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85241         (re_search_internal, re_search_2_stub, re_search_stub)
85242         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85243         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85244         (update_cur_sifted_state, check_dst_limits):
85245         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85246         (check_subexp_limits, sift_states_bkref, merge_state_array):
85247         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85248         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85249         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85250         (expand_bkref_cache, check_node_accept_bytes):
85251         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85252         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85253         (acquire_init_state_context, check_halt_node_context):
85254         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85255         (sift_states_backward, clean_state_log_if_needed):
85256         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85257         (find_recover_state, transit_state_sb, transit_state_mb):
85258         (transit_state_bkref, build_trtable, match_ctx_clean):
85259         Likewise.
85260         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85261         to work around an assumption that REG_MISSING is negative.
85262
85263         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85264         (seek_collating_symbol_entry) [defined _LIBC]:
85265         (lookup_collation_sequence_value) [defined _LIBC]:
85266         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85267         Use prototypes rather than old-style function definitions.
85268         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85269         (transit_state_sb) [0]:
85270         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85271
85272         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85273         rm_eo.
85274
85275         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85276         (optimize_subexps, lower_subexp):
85277         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85278         since the signed shift might overflow.  Use 1u<<31 instead.
85279         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85280         Likewise.
85281         * lib/regexec.c (check_dst_limits_calc_pos_1,
85282         check_subexp_matching_top): Likewise.
85283
85284         * lib/regcomp.c (optimize_subexps, lower_subexp):
85285         Use CHAR_BIT rather than 8, for clarity.
85286         * lib/regexec.c (check_dst_limits_calc_pos_1):
85287         (check_subexp_matching_top): Likewise.
85288         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85289         have to worry about portability issues when shifting it left.
85290         Remove no-longer-needed test for table_size > 0.
85291         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85292         in a word, as the resulting behavior is undefined.
85293         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85294         in one case, a <= should have been an <, and in another case the
85295         whole test was missing.
85296         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85297         the standard name CHAR_BIT.
85298         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85299         this is not true on one's complement and signed-magnitude hosts.
85300
85301         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85302         next_last_offset.
85303         (struct re_dfa_t): Remove unused member states_alloc.
85304         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85305
85306 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85307
85308         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85309         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85310         and large-file glibc and in 32-bit large-file Solaris.
85311
85312 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85313
85314         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85315         lengths fit in regoff_t; this isn't true if regoff_t is the same
85316         width as size_t.
85317         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85318         (= START + RANGE) instead of RANGE.  This avoids overflow
85319         problems when regoff_t is the same width as size_t.
85320         All callers changed.
85321         (re_search_2_stub): Check for overflow when adding the
85322         sizes of the two strings.
85323         (re_search_stub): Check for overflow when adding START
85324         to RANGE; if it occurs, substitute the extreme value.
85325
85326 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85327
85328         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85329
85330 2005-08-31  Jim Meyering  <jim@meyering.net>
85331
85332         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85333         a pointer-to-const.
85334         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85335         (register_state): Likewise.
85336         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85337         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85338         (group_nodes_into_DFAstates): Likewise.
85339
85340 2005-08-31  Jim Meyering  <jim@meyering.net>
85341
85342         * check-module: Add a FIXME comment.
85343
85344 2005-08-31  Eric Blake  <ebb9@byu.net>
85345
85346         * modules/unistd-safer (Files): Add unistd--.h.
85347         * modules/stdio-safer (Files): Add stdio--.h.
85348
85349 2005-08-31  Derek Price  <derek@ximbiot.com>
85350
85351         * lib/getdelim.c (getdelim): Return EOF on EOF.
85352         Reported by Larry Jones <lawrence.jones@ugs.com>.
85353
85354 2005-08-31  Bruno Haible  <bruno@clisp.org>
85355
85356         Avoid unnecessary diffs in the generated lib/Makefile.am.
85357         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85358         the generated files.
85359         (func_import): Don't set cmd.
85360
85361 2005-08-31  Bruno Haible  <bruno@clisp.org>
85362
85363         * lib/strstr.c: Include <stddef.h>, for NULL.
85364         * lib/strcasestr.c: Likewise.
85365         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85366
85367 2005-08-31  Bruno Haible  <bruno@clisp.org>
85368
85369         * gnulib-tool: New option --macro-prefix.
85370         (func_import): Use macro_prefix.
85371         (import): Handle option --macro-prefix.
85372
85373 2005-08-31  Bruno Haible  <bruno@clisp.org>
85374
85375         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85376         Also use new variables cached_lgpl, cached_libtool.
85377
85378 2005-08-31  Bruno Haible  <bruno@clisp.org>
85379
85380         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85381         always instantiating them.
85382
85383 2005-08-31  Bruno Haible  <bruno@clisp.org>
85384
85385         * gnulib-tool (func_import): Read the previous cached settings
85386         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85387         earlier added by gnulib but are now dropped. Warn when a gnulib file
85388         overwrites a non-gnulib file.
85389
85390 2005-08-31  Bruno Haible  <bruno@clisp.org>
85391
85392         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85393         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85394         projects that don't keep autogenerated files in CVS. Put into
85395         actioncmd only the specified modules, not the transitive closure.
85396
85397 2005-08-31  Bruno Haible  <bruno@clisp.org>
85398
85399         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85400         Create directories that shall be filled.
85401         (import): Don't look for gl_* macros in configure.ac. Recurse across
85402         all directories containing a gnulib-cache.m4 files, if meaningful.
85403
85404 2005-08-31  Bruno Haible  <bruno@clisp.org>
85405
85406         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85407         (import): Set seen_libtool when we see gl_LIBTOOL.
85408
85409 2005-08-31  Bruno Haible  <bruno@clisp.org>
85410
85411         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85412         declaration macro definitions from generated gnulib.m4.
85413
85414 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85415
85416         * lib/iconvme.h: Add prototype for iconv_alloc.
85417
85418 2005-08-29  Simon Josefsson  <jas@extundo.com>
85419
85420         * lib/iconvme.c: Fix errno.
85421
85422 2005-08-29  Bruno Haible  <bruno@clisp.org>
85423
85424         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85425         that it works when the directory contains spaces.
85426
85427 2005-08-29  Bruno Haible  <bruno@clisp.org>
85428
85429         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85430
85431 2005-08-29  Bruno Haible  <bruno@clisp.org>
85432
85433         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85434         Emit more advice.
85435
85436 2005-08-29  Bruno Haible  <bruno@clisp.org>
85437         and Stepan Kasal  <kasal@ucw.cz>
85438
85439         * check-module: If more parameters are given, check each of them
85440         separately; add more exceptions, as noted by Jim Meyering.
85441         (check_module): New procedure.
85442         (%exempt_header): Now contains all exceptions.
85443
85444 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85445
85446         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85447
85448 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85449
85450         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85451
85452 2005-08-28  Bruno Haible  <bruno@clisp.org>
85453
85454         * m4/gnulib-tool.m4: New file.
85455
85456 2005-08-27  Jim Meyering  <jim@meyering.net>
85457
85458         * modules/unistd-safer (Files): Add pipe-safer.c.
85459         * modules/fcntl-safer (Files): Add creat-safer.c.
85460
85461 2005-08-27  Jim Meyering  <jim@meyering.net>
85462
85463         * m4/stdlib-safer.m4: New file.  From coreutils.
85464         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85465         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85466         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85467         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85468         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85469
85470 2005-08-27  Jim Meyering  <jim@meyering.net>
85471
85472         * lib/fopen-safer.c: Merge minor changes from coreutils.
85473         * lib/dup-safer.c: Likewise.
85474         * lib/fd-safer.c: Likewise.
85475
85476         Merge from coreutils.
85477         * lib/stdio--.h: New file.
85478         * lib/stdlib--.h: New file.
85479         * lib/mkstemp-safer.c: New file.
85480
85481         GNU tar needs these.
85482         * lib/pipe-safer.c: New file.
85483         * lib/creat-safer.c: New file.
85484         * lib/fcntl--.h (creat): Define to creat_safer.
85485         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85486         * lib/unistd--.h (pipe): Define to pipe_safer.
85487         * lib/unistd-safer.h: Declare pipe_safer.
85488
85489 2005-08-26  Simon Josefsson  <jas@extundo.com>
85490
85491         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85492         Haible <bruno@clisp.org>.
85493
85494 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85495
85496         * lib/regex_internal.h: Remove all references to
85497         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85498         or better.
85499         (bitset_not, bitset_merge, bitset_not_merge):
85500         (bitset_mask, re_string_allocate, re_string_construct):
85501         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85502         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85503         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85504         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85505         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85506         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85507         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85508         (re_acquire_state_context):
85509         Remove unnecessary forward decls.
85510         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85511         Put __attribute at function definition,
85512         now that the function decl has been removed.
85513         * lib/regex_internal.c (re_string_peek_byte_case):
85514         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85515         Likewise.
85516
85517 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85518
85519         * m4/regex.m4: Add AC_PREREQ(2.50).
85520         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85521
85522 2005-08-25  Simon Josefsson  <jas@extundo.com>
85523
85524         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85525         __fsetlocking.
85526
85527 2005-08-25  Simon Josefsson  <jas@extundo.com>
85528
85529         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85530         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85531         GLIBC specific code.
85532
85533 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85534
85535         Make regex safe for g++.  This fixes one real bug (an "err"
85536         that should have been "*err").  g++ problem reported by
85537         Sam Steingold.
85538         * lib/regex_internal.h (re_calloc): New macro, consistent with
85539         re_malloc etc.  All callers of calloc changed to use re_calloc.
85540         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85541         not int.  All callers changed.
85542         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85543         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85544         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85545         (find_recover_state): Change "err" to "*err"; this fixes what
85546         appears to be a real bug.
85547         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85548         versus int.
85549
85550 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85551
85552         * modules/regex (Depends-on): Add malloc, since the code
85553         assumes that !malloc(0) means failure.
85554
85555 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85556
85557         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85558
85559         alloca modernization/simplification for regex.
85560         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85561         needs to be at the start of the file, and can be moved into
85562         regex_internal.h and simplified.
85563         * lib/regex_internal.h: Include <alloca.h>.
85564         (__libc_use_alloca) [!defined _LIBC]: New macro.
85565         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85566         now works outside glibc.
85567
85568 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85569
85570         * config/srclist.txt: Add glibc bugs 1241, 1245.
85571
85572 2005-08-25  Jim Meyering  <jim@meyering.net>
85573
85574         * lib/open-safer.c: Include <config.h>.
85575         Otherwise, we'd lose LARGEFILE support in any file using
85576         e.g. "fcntl--.h"
85577
85578 2005-08-25  Bruno Haible  <bruno@clisp.org>
85579
85580         * m4/minmax.m4: Require autoconf 2.52.
85581         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85582         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85583         alternatives of translit over the alphabet.
85584         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85585
85586 2005-08-24  Simon Josefsson  <jas@extundo.com>
85587
85588         * tests/test-getpass.c: New file.
85589
85590 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85591
85592         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85593         for GNU regex features.
85594
85595 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85596
85597         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85598         * lib/regex.h (regerror): Likewise.
85599
85600         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85601         requires this.  (The code never needed it.)
85602
85603         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85604         All uses of recently-renamed identifiers changed to use the new,
85605         POSIX-compliant names.  The code will build and run just fine
85606         without these changes, but it's better to eat our own dog food
85607         and use the standard-conforming names.
85608
85609         * lib/regex.h: Fix a multitude of POSIX name space violations.
85610         These changes have an effect only for programs that define
85611         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85612         do not change anything for programs compiled in the normal way.
85613         Also, there is no effect on the ABI.
85614
85615         (_REGEX_SOURCE): New macro.
85616         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85617         defined and _GNU_SOURCE is not; this fixes a name space violation.
85618
85619         Rename the following macros to obey POSIX requirements.
85620         The old names are still visible as macros if _REGEX_SOURCE is defined.
85621         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85622         RE_BACKSLASH_ESCAPE_IN_LISTS.
85623         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85624         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85625         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85626         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85627         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85628         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85629         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85630         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85631         (REG_INTERVALS): renamed from RE_INTERVALS.
85632         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85633         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85634         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85635         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85636         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85637         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85638         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85639         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85640         RE_UNMATCHED_RIGHT_PAREN_ORD.
85641         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85642         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85643         (REG_DEBUG): renamed from RE_DEBUG.
85644         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85645         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85646         unusual, since we can't clash with the POSIX REG_ICASE.
85647         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85648         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85649         (REG_NO_SUB): renamed from RE_NO_SUB.
85650         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85651         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85652         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85653         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85654         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85655         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85656         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85657         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85658         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85659         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85660         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85661         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85662         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85663         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85664         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85665         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85666         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85667         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85668         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85669         (REG_FIXED): Renamed from REGS_FIXED.
85670         (REG_NREGS): Renamed from RE_NREGS.
85671
85672         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85673         of other REG_* macros, since POSIX says the user is allowed to
85674         #undef these macros selectively.
85675
85676         (reg_errcode_t): Update comment stating what other tables need
85677         to be consistent.
85678
85679         Rename the following enum values to obey POSIX requirements.
85680         The old names are still visible as macros.
85681         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85682         is not defined, since GNU is supposed to be a superset of POSIX as
85683         much as possible, and since we want reg_errcode_t to be a signed
85684         type for implementation consistency.
85685         (_REG_NOERROR): Renamed from REG_NOERROR.
85686         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85687         (_REG_BADPAT): Renamed from REG_BADPAT.
85688         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85689         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85690         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85691         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85692         (_REG_EBRACK): Renamed from REG_EBRACK.
85693         (_REG_EPAREN): Renamed from REG_EPAREN.
85694         (_REG_EBRACE): Renamed from REG_EBRACE.
85695         (_REG_BADBR): Renamed from REG_BADBR.
85696         (_REG_ERANGE): Renamed from REG_ERANGE.
85697         (_REG_ESPACE): Renamed from REG_ESPACE.
85698         (_REG_BADRPT): Renamed from REG_BADRPT.
85699         (_REG_EEND): Renamed from REG_EEND.
85700         (_REG_ESIZE): Renamed from REG_ESIZE.
85701         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85702         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85703         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85704         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85705         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85706
85707         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85708         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85709         changed.  But support the old name if the new one is not defined
85710         and if _REGEX_SOURCE.
85711
85712         Change the following member names in struct re_pattern_buffer.
85713         The old names are still supported if !_REGEX_SOURCE.
85714         The new names are always supported, regardless of _REGEX_SOURCE.
85715         (re_buffer): Renamed from buffer.
85716         (re_allocated): Renamed from allocated.
85717         (re_used): Renamed from used.
85718         (re_syntax): Renamed from syntax.
85719         (re_fastmap): Renamed from fastmap.
85720         (re_translate): Renamed from translate.
85721         (re_can_be_null): Renamed from can_be_null.
85722         (re_regs_allocated): Renamed from regs_allocated.
85723         (re_fastmap_accurate): Renamed from fastmap_accurate.
85724         (re_no_sub): Renamed from no_sub.
85725         (re_not_bol): Renamed from not_bol.
85726         (re_not_eol): Renamed from not_eol.
85727         (re_newline_anchor): Renamed from newline_anchor.
85728
85729         Change the following member names in struct re_registers.
85730         The old names are still supported if !_REGEX_SOURCE.
85731         The new names are always supported, regardless of _REGEX_SOURCE.
85732         (rm_num_regs): Renamed from num_regs.
85733         (rm_start): Renamed from start.
85734         (rm_end): Renamed from end.
85735
85736         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85737         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85738         Prepend __ to parameter names.
85739
85740         Undo yesterday's changes.
85741
85742 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85743
85744         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85745         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85746         lib/regex.c.
85747
85748 2005-08-24  Jim Meyering  <jim@meyering.net>
85749
85750         Sync from coreutils.
85751         * m4/fcntl-safer.m4: New file.
85752
85753         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85754         and object files for this module.
85755
85756 2005-08-24  Jim Meyering  <jim@meyering.net>
85757
85758         Sync from coreutils.
85759         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85760
85761 2005-08-24  Jim Meyering  <jim@meyering.net>
85762
85763         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85764         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85765
85766 2005-08-24  Jim Meyering  <jim@meyering.net>
85767
85768         * modules/fcntl-safer: New module.
85769         * modules/fts (Depends-on): Add fcntl-safer.
85770         * MODULES.html.sh (File descriptor based Input/Output):
85771         Add fcntl-safer.
85772
85773 2005-08-24  Bruno Haible  <bruno@clisp.org>
85774
85775         Support for unit test modules.
85776         * modules/README: Mention tests modules.
85777         * modules/TEMPLATE-TESTS: New file.
85778         * gnulib-tool: New options --extract-tests-module, --with-tests and
85779         --tests-base (unused for the moment).
85780         (testsbase, inctests): New variables.
85781         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85782         (func_verify_module): Exclude TEMPLATE-TESTS.
85783         (func_verify_nontests_module, func_verify_tests_module): New functions.
85784         (func_get_dependencies): Add implicit dependency for tests modules.
85785         (func_get_tests_module): New function.
85786         (func_modules_transitive_closure): When --with-tests was specified,
85787         include the unit tests as well, unless explicitly avoided.
85788         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85789         (func_emit_tests_Makefile_am): New function.
85790         (func_create_testdir): When --with-tests was specified, emit a
85791         tests/ directory.
85792         * MODULES.html.sh (Future developments): Update.
85793
85794 2005-08-24  Bruno Haible  <bruno@clisp.org>
85795
85796         * modules/tls-tests: New file.
85797         * tests/test-tls.c: New file, from GNU gettext.
85798
85799 2005-08-24  Bruno Haible  <bruno@clisp.org>
85800
85801         * modules/lock-tests: New file.
85802         * tests/test-lock.c: New file, from GNU gettext.
85803
85804 2005-08-24  Bruno Haible  <bruno@clisp.org>
85805
85806         * lib/lock.h: Add multiple inclusion guard.
85807         * lib/tls.h: Add multiple inclusion guard.
85808
85809 2005-08-24  Bruno Haible  <bruno@clisp.org>
85810
85811         * gnulib-tool: Add support for the --aux-dir option to
85812         --create-testdir, --create-megatestdir, --test, --megatest.
85813         (func_create_testdir, func_create_megatestdir): Optionally emit a
85814         AC_CONFIG_AUX_DIR directive.
85815         (create-testdir, create-megatestdir, test, megatest): Provide a
85816         default value for $auxdir.
85817
85818 2005-08-24  Bruno Haible  <bruno@clisp.org>
85819
85820         * gnulib-tool (import): Use compound statement instead of subshell
85821         where possible.
85822
85823 2005-08-24  Bruno Haible  <bruno@clisp.org>
85824
85825         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85826
85827 2005-08-24  Bruno Haible  <bruno@clisp.org>
85828
85829         * gnulib-tool (func_version): Update.
85830
85831 2005-08-24  Bruno Haible  <bruno@clisp.org>
85832
85833         * gnulib-tool (func_import, func_create_testdir,
85834         func_create_megatestdir): Quote all autoconf macro arguments.
85835
85836 2005-08-24  Bruno Haible  <bruno@clisp.org>
85837
85838         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85839         option --force, because --force causes the aclocal.m4 of each
85840         subdirectory to be newer than the corresponding config.h.in.
85841
85842 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85843
85844         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85845         All contents moved to gl_REGEX.
85846         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85847         assume that it does.
85848
85849 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85850
85851         * lib/regex.h (REG_NOSYS)
85852         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85853         Define, since POSIX requires it as of 2001.
85854         (_REG_ENOSYS)
85855         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85856         New private symbol, used to keep the enum signed in all cases.
85857         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85858         Youngman in
85859         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85860
85861         * lib/regex_internal.c (re_string_skip_chars, register_state):
85862         (calc_state_hash):
85863         Remove forward decls; no longer needed now that we use prototypes.
85864         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85865         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85866         (clean_state_log_if_needed): Likewise.
85867
85868 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85869
85870         * config/srclist.txt: Add glibc bugs 1231-1233.
85871
85872 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85873
85874         Fix problems reported by Sam Steingold in
85875         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85876         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85877         assumed that reg_errcode_t is a signed type, which is not
85878         necessarily true if _XOPEN_SOURCE is not defined.
85879         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85880         since some compilers warn about it otherwise.
85881
85882 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85883
85884         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85885         (init_word_char, create_initial_state, duplicate_node_closure):
85886         (fetch_token, peek_token_bracket, build_range_exp):
85887         (build_collating_symbol): Remove forward decls; no longer needed
85888         now that we use prototypes.
85889
85890         * lib/regcomp.c:
85891         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85892         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85893         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85894         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85895         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85896         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85897         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85898         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85899         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85900         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85901         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85902         (build_charclass, build_charclass_op, fetch_number, create_tree):
85903         (create_token_tree, mark_opt_subexp, duplicate_tree):
85904         Use prototypes rather than old-style definitions.
85905
85906         * lib/regex_internal.c:
85907         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85908         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85909         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85910         (re_string_reconstruct, re_string_peek_byte_case):
85911         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85912         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85913         (re_node_set_init_copy, re_node_set_add_intersect):
85914         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85915         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85916         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85917         (re_acquire_state, re_acquire_state_context, register_state):
85918         (create_ci_newstate, create_cd_newstate, free_state):
85919         Likewise.
85920         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85921         re_search_2):
85922         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85923         (re_search_internal, prune_impossible_nodes):
85924         (acquire_init_state_context, check_matching, static):
85925         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85926         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85927         (update_regs, sift_states_backward, build_sifted_states):
85928         (clean_state_log_if_needed, merge_state_array):
85929         (update_cur_sifted_state, add_epsilon_src_nodes):
85930         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85931         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85932         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85933         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85934         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85935         (check_arrival, check_arrival_add_next_nodes):
85936         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85937         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85938         (check_node_accept_bytes, check_node_accept, extend_buffers):
85939         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85940         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85941         (sift_ctx_init):
85942         Likewise.
85943
85944         * lib/regex_internal.h:
85945         (re_string_allocate, re_string_construct, re_string_reconstruct):
85946         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85947         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85948         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85949         (re_string_context_at, re_string_peek_byte_case):
85950         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85951         is defined, since we now use prototypes always.
85952
85953         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85954         C89 or better.  All uses removed.
85955
85956 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85957
85958         * config/srclist.txt: Add glibc bugs 1220-1227.
85959
85960 2005-08-20  Jim Meyering  <jim@meyering.net>
85961
85962         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85963         of unused local, dfa.
85964
85965 2005-08-20  Bruno Haible  <bruno@clisp.org>
85966
85967         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85968
85969 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85970
85971         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85972         (re_node_set_insert_last, re_dfa_add_node):
85973         Rename local variables to avoid GCC shadowing warnings.
85974
85975 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85976
85977         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85978         [defined lint]: Suppress bogus uninitialized-variable warnings.
85979
85980         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85981         and let the caller return REG_ESPACE if out of space.  This
85982         removes an uninitialied-variable warning with GCC 4.0.1, and also
85983         avoids taking the address of a local variable.  All callers
85984         changed.
85985
85986 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85987
85988         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85989         $LIBCSRC/posix/regexec.c.
85990         Add glibc bug 1217 for regcomp.c.
85991
85992 2005-08-19  Jim Meyering  <jim@meyering.net>
85993
85994         * lib/regexec.c (proceed_next_node): Redo local variables to
85995         avoid GCC shadowing warnings.
85996
85997 2005-08-18  Bruno Haible  <bruno@clisp.org>
85998
85999         * lib/strstr.c (strstr): Fix return value in multibyte case.
86000         * lib/strcasestr.c (strcasestr): Likewise.
86001
86002 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86003
86004         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86005
86006 2005-08-17  Jim Meyering  <jim@meyering.net>
86007
86008         Make the %s format (seconds since the epoch) work for a negative
86009         number and when used with a zero-padded field width, e.g. %015s.
86010
86011         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86012         label so that it precedes the code to set `digits'.  Otherwise,
86013         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86014         print `00-22'.  Now, it prints `-0022', as it should.
86015
86016 2005-08-17  Bruno Haible  <bruno@clisp.org>
86017
86018         * modules/strstr (Files): Add m4/mbrtowc.m4.
86019         (Depends-on): Add mbuiter.
86020
86021 2005-08-17  Bruno Haible  <bruno@clisp.org>
86022
86023         * modules/strcasestr: New file.
86024         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86025         strcasestr.
86026
86027 2005-08-17  Bruno Haible  <bruno@clisp.org>
86028
86029         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86030
86031 2005-08-17  Bruno Haible  <bruno@clisp.org>
86032
86033         * modules/mbuiter: New file.
86034         * MODULES.html.sh (Extended multibyte and wide character utilities):
86035         Add mbuiter.
86036
86037 2005-08-17  Bruno Haible  <bruno@clisp.org>
86038
86039         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86040         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86041
86042 2005-08-17  Bruno Haible  <bruno@clisp.org>
86043
86044         * m4/strcasestr.m4: New file.
86045
86046 2005-08-17  Bruno Haible  <bruno@clisp.org>
86047
86048         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86049         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86050
86051 2005-08-17  Bruno Haible  <bruno@clisp.org>
86052
86053         * lib/strcasestr.h: New file.
86054         * lib/strcasestr.c: New file.
86055
86056 2005-08-17  Bruno Haible  <bruno@clisp.org>
86057
86058         * lib/strcasecmp.c: Use mbuiter.h.
86059
86060 2005-08-17  Bruno Haible  <bruno@clisp.org>
86061
86062         * lib/mbuiter.h: New file.
86063
86064 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86065
86066         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86067         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86068         and gl_GETOPT are both invoked via different paths (as happens
86069         with GNU tar CVS because it uses both argp and getopt), the former
86070         wins.
86071
86072 2005-08-16  Bruno Haible  <bruno@clisp.org>
86073
86074         * modules/tls: New file.
86075         * MODULES.html.sh (Multithreading): Add tls.
86076
86077 2005-08-16  Bruno Haible  <bruno@clisp.org>
86078
86079         * modules/strnlen1: New file.
86080         * MODULES.html.sh (String handling): Add strnlen1.
86081
86082 2005-08-16  Bruno Haible  <bruno@clisp.org>
86083
86084         * modules/strcase (Files): Add m4/mbrtowc.m4.
86085         (Depends-on): Add strnlen1, mbchar.
86086
86087 2005-08-16  Bruno Haible  <bruno@clisp.org>
86088
86089         * modules/mbiter: New file.
86090         * MODULES.html.sh (Extended multibyte and wide character utilities):
86091         Add mbiter.
86092
86093 2005-08-16  Bruno Haible  <bruno@clisp.org>
86094
86095         * modules/mbfile: New file.
86096         * MODULES.html.sh (Extended multibyte and wide character utilities):
86097         Add mbfile.
86098
86099 2005-08-16  Bruno Haible  <bruno@clisp.org>
86100
86101         * modules/mbchar: New file.
86102         * MODULES.html.sh (Extended multibyte and wide character utilities):
86103         New section.
86104
86105 2005-08-16  Bruno Haible  <bruno@clisp.org>
86106
86107         * m4/tls.m4: New file, from GNU gettext.
86108
86109 2005-08-16  Bruno Haible  <bruno@clisp.org>
86110
86111         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86112         always.
86113         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86114
86115 2005-08-16  Bruno Haible  <bruno@clisp.org>
86116
86117         * m4/mbiter.m4: New file.
86118
86119 2005-08-16  Bruno Haible  <bruno@clisp.org>
86120
86121         * m4/mbfile.m4: New file.
86122
86123 2005-08-16  Bruno Haible  <bruno@clisp.org>
86124
86125         * m4/mbchar.m4: New file.
86126
86127 2005-08-16  Bruno Haible  <bruno@clisp.org>
86128
86129         * lib/tls.h: New file, from GNU gettext.
86130         * lib/tls.c: New file, from GNU gettext.
86131
86132 2005-08-16  Bruno Haible  <bruno@clisp.org>
86133
86134         * lib/strnlen1.h: New file.
86135         * lib/strnlen1.c: New file.
86136
86137 2005-08-16  Bruno Haible  <bruno@clisp.org>
86138
86139         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86140         (mbi_init): Update.
86141         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86142         NUL byte, not after it.
86143
86144 2005-08-16  Bruno Haible  <bruno@clisp.org>
86145
86146         * lib/strcase.h (strcasecmp): Add note in comments.
86147         * lib/strncasecmp.c: Use code from strcasecmp.c.
86148         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86149         (strcasecmp): Work correctly in multibyte locales.
86150
86151 2005-08-16  Bruno Haible  <bruno@clisp.org>
86152
86153         * lib/mbiter.h: New file.
86154
86155 2005-08-16  Bruno Haible  <bruno@clisp.org>
86156
86157         * lib/mbfile.h: New file.
86158
86159 2005-08-16  Bruno Haible  <bruno@clisp.org>
86160
86161         * lib/mbchar.h: New file.
86162         * lib/mbchar.c: New file.
86163
86164 2005-08-16  Bruno Haible  <bruno@clisp.org>
86165
86166         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86167         the valid ones. Makes the comparison operations transitive:
86168         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86169         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86170
86171 2005-08-15  Simon Josefsson  <jas@extundo.com>
86172
86173         * modules/ssize_t (License): Change to 'unlimited'.
86174
86175         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86176
86177 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86178
86179         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86180         Add comments for each pending glibc patch.
86181
86182 2005-08-15  Bruno Haible  <bruno@clisp.org>
86183
86184         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86185         __cplusplus is defined.
86186
86187 2005-08-14  Jim Meyering  <jim@meyering.net>
86188
86189         Sync from coreutils.
86190
86191         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86192         Use the hash-table-based cycle-detection code not just when
86193         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86194         Reported by James Youngman in
86195         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86196         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86197         FTS_TIGHT_CYCLE_CHECK.
86198         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86199         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86200         once again.
86201         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86202         * lib/fts.c (fd_safer): Remove decl.
86203         Include fcntl--.h rather than unistd-safer.h
86204         (fts_safe_changedir): Don't call fd_safer; no longer needed
86205         now that we include fcntl--.h.
86206
86207 2005-08-12  Simon Josefsson  <jas@extundo.com>
86208
86209         * modules/getndelim2: Use ssize_t module.
86210         * modules/getnline: Likewise.
86211         * modules/safe-read: Likewise.
86212         * modules/xreadlink: Likewise.
86213
86214         * modules/ssize_t: New file.
86215
86216 2005-08-12  Simon Josefsson  <jas@extundo.com>
86217
86218         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86219
86220 2005-08-12  Simon Josefsson  <jas@extundo.com>
86221
86222         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86223         ssize_t.
86224
86225 2005-08-12  Simon Josefsson  <jas@extundo.com>
86226
86227         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86228         readline, getdelim and check_version.
86229         (Support for systems lacking ISO C 99: Sizes of integer types):
86230         Add size_max.
86231
86232 2005-08-12  Bruno Haible  <bruno@clisp.org>
86233
86234         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86235
86236 2005-08-11  Simon Josefsson  <jas@extundo.com>
86237
86238         * modules/readline: New file.
86239
86240         * modules/strnlen (Files): Add strnlen.h.
86241
86242 2005-08-11  Simon Josefsson  <jas@extundo.com>
86243
86244         * m4/readline.m4: New file.
86245
86246 2005-08-11  Simon Josefsson  <jas@extundo.com>
86247
86248         * lib/readline.h, readline.c: New file.
86249
86250 2005-08-11  Simon Josefsson  <jas@extundo.com>
86251
86252         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86253         gl_AVOID.
86254
86255 2005-08-11  Bruno Haible  <bruno@clisp.org>
86256
86257         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86258
86259 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86260
86261         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86262
86263 2005-08-10  Simon Josefsson  <jas@extundo.com>
86264
86265         * tests/test-iconvme.c: New file.
86266
86267 2005-08-10  Simon Josefsson  <jas@extundo.com>
86268
86269         * m4/strnlen.m4: New file.
86270
86271         * m4/strndup.m4: Don't check for strnlen declaration, done in
86272         strnlen.m4.
86273
86274 2005-08-10  Simon Josefsson  <jas@extundo.com>
86275
86276         * lib/strndup.c: Use strnlen.h.
86277
86278         * lib/strnlen.h: New file.
86279
86280 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86281
86282         * README: Typos.
86283
86284 2005-08-02  Simon Josefsson  <jas@extundo.com>
86285
86286         * modules/readline: New file.
86287
86288 2005-08-02  Simon Josefsson  <jas@extundo.com>
86289
86290         * modules/getdelim: New file.
86291
86292         * modules/getline: Rewrite, don't use getndelim2.
86293
86294 2005-08-02  Simon Josefsson  <jas@extundo.com>
86295
86296         * m4/getline.m4: Separate out getdelim stuff into separate module.
86297
86298         * m4/getdelim.m4: New file.
86299
86300 2005-08-02  Simon Josefsson  <jas@extundo.com>
86301
86302         * lib/getline.h, getline.c: Rewrite.
86303
86304         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86305
86306 2005-07-31  Bruno Haible  <bruno@clisp.org>
86307
86308         * lib/lock.h (gl_lock_initializer): New macro.
86309         (gl_lock_define_initialized): Use it.
86310         (gl_rwlock_initializer): New macro.
86311         (gl_rwlock_define_initialized): Use it.
86312         (gl_recursive_lock_initializer): New macro.
86313         (gl_recursive_lock_define_initialized): Use it.
86314
86315 2005-07-30  Karl Berry  <karl@gnu.org>
86316
86317         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86318         Report from Ben Pfaff, regarding getopt.
86319
86320 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86321
86322         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86323         normal way.
86324         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86325         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86326         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86327         (gl_GETOPT): Use the new macros.  Most of the implementation
86328         is moved to the new macros.  This is for programs like Emacs
86329         that don't want all the functionality of gl_GETOPT.
86330
86331 2005-07-26  Bruno Haible  <bruno@clisp.org>
86332
86333         * m4/lock.m4: Update from GNU gettext.
86334
86335 2005-07-26  Bruno Haible  <bruno@clisp.org>
86336
86337         * lib/lock.h: Update from GNU gettext.
86338         * lib/lock.c: Update from GNU gettext.
86339
86340 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86341
86342         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86343         obsolescent AC_TRY_RUN.  Include the default includes files, for
86344         'exit'.
86345
86346 2005-07-24  Bruno Haible  <bruno@clisp.org>
86347
86348         * modules/visibility: New file.
86349         * MODULES.html.sh (Misc): Add visibility.
86350
86351 2005-07-24  Bruno Haible  <bruno@clisp.org>
86352
86353         * m4/visibility.m4: New file.
86354
86355 2005-07-24  Bruno Haible  <bruno@clisp.org>
86356
86357         * doc/visibility.texi: New file.
86358
86359 2005-07-22  Bruno Haible  <bruno@clisp.org>
86360
86361         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86362         $(ALLOCA_H), redundant through BUILT_SOURCES.
86363         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86364         redundant through BUILT_SOURCES.
86365         * modules/byteswap (Makefile.am): Remove explicit dependency on
86366         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86367         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86368         $(FNMATCH_H), redundant through BUILT_SOURCES.
86369         * modules/getopt (Makefile.am): Remove explicit dependency on
86370         $(GETOPT_H), redundant through BUILT_SOURCES.
86371         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86372         redundant through BUILT_SOURCES.
86373         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86374         redundant through BUILT_SOURCES.
86375         * modules/stdbool (Makefile.am): Remove explicit dependency on
86376         $(STDBOOL_H), redundant through BUILT_SOURCES.
86377         * modules/stdint (Makefile.am): Remove explicit dependency on
86378         $(STDINT_H), redundant through BUILT_SOURCES.
86379         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86380         Remove explicit dependency on $(SYSEXITS_H).
86381         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86382
86383 2005-07-18  Simon Josefsson  <jas@extundo.com>
86384
86385         * lib/check-version.c (check_version): Accept identical versions too.
86386
86387 2005-07-18  Bruno Haible  <bruno@clisp.org>
86388
86389         * modules/lock: New file.
86390         * MODULES.html.sh (Multithreading): New section.
86391
86392 2005-07-18  Bruno Haible  <bruno@clisp.org>
86393
86394         * m4/lock.m4: New file, from GNU gettext.
86395
86396 2005-07-18  Bruno Haible  <bruno@clisp.org>
86397
86398         * lib/lock.h: New file, from GNU gettext.
86399         * lib/lock.c: New file, from GNU gettext.
86400
86401 2005-07-18  Bruno Haible  <bruno@clisp.org>
86402
86403         * lib/lock.h (gl_once_t): New type.
86404         (gl_once_define, gl_once): New macros.
86405         * lib/lock.c (fresh_once): New variable.
86406         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86407         functions.
86408
86409 2005-07-16  Simon Josefsson  <jas@extundo.com>
86410
86411         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86412         workaround, suggested by Bruno.
86413
86414 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86415
86416         * modules/xalloc (Depends-on): Add xalloc-die.
86417         * modules/xvasprintf (Depends-on): Add xalloc-die.
86418
86419 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86420
86421         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86422         with a minor change.
86423
86424 2005-07-15  Bruno Haible  <bruno@clisp.org>
86425
86426         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86427         When using lib/poll.c, define poll as rpl_poll.
86428
86429 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86430
86431         * modules/argp (Depends-on): Remove unlocked-io.
86432
86433 2005-07-14  Derek Price  <derek@ximbiot.com>
86434
86435         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86436         for glob symlink bug.
86437
86438 2005-07-14  Bruno Haible  <bruno@clisp.org>
86439
86440         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86441         Instead, test for *_unlocked function declarations directly.
86442
86443 2005-07-11  Simon Josefsson  <jas@extundo.com>
86444
86445         * modules/size_max: New file.
86446
86447         * modules/xsize: Depend on size_max module for size_max.m4.
86448
86449 2005-07-11  Simon Josefsson  <jas@extundo.com>
86450
86451         * lib/size_max.h: New file.
86452
86453 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86454
86455         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86456         copyright symbol and the year.
86457         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86458         (version_etc_va): Use parameterized copyright notice.
86459         Reword to conform to the current GNU coding standards.
86460
86461 2005-07-11  Karl Berry  <karl@gnu.org>
86462
86463         * doc/gnulib.texi (Quoting): new node.
86464         (Initial import): more info, from Patrice.
86465
86466 2005-07-11  Bruno Haible  <bruno@clisp.org>
86467
86468         * gnulib-tool (func_usage): Document option --avoid.
86469         (Command line options): Handle --avoid.
86470         (func_acceptable): New function.
86471         (func_modules_transitive_closure): Use it.
86472
86473 2005-07-11  Bruno Haible  <bruno@clisp.org>
86474
86475         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86476         Reported by Jim Meyering.
86477
86478 2005-07-10  Bruno Haible  <bruno@clisp.org>
86479
86480         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86481         Needed when size_t is smaller than 'unsigned int'.
86482         Reported by Paul Eggert.
86483
86484 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86485
86486         * modules/argp (Depends-on): Add unlocked-io
86487
86488 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86489
86490         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86491         block of defines.
86492
86493 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86494
86495         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86496         fix now.
86497
86498 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86499         and Paul Eggert  <eggert@cs.ucla.edu>
86500
86501         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86502         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86503
86504 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86505
86506         * modules/regex (Files): Add lib/regex_internal.c,
86507         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86508         (Depends-on): Add extensions.
86509         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86510
86511 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86512
86513         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86514         pathconf.
86515         * m4/same.m4 (gl_SAME): Likewise.
86516         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86517
86518         * m4/regex.m4: Adjust to new libc regex implementation.
86519         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86520         all the .c and .h parts of (the new) regex.
86521         Quote the m4 stuff better.
86522         Check for RE_ICASE bug of old gnulib.
86523         Check for REG_STARTEND of recent libc.
86524         Rename local variables from jm_* to gl_*.
86525         Quote operand of "test -f".
86526         Say "recent enough" version of libc, not "version 2".
86527         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86528         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86529         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86530         Remove check for btowc, isascii.
86531         Require AM_LANGINFO_CODESET.
86532
86533 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86534
86535         * lib/regex.c, regex.h: Sync from libc.
86536         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86537         * lib/regexec.c:
86538         New files, synced from libc, except that regex_internal.h
86539         currently has a small porting fix.
86540
86541 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86542
86543         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86544         regex_internal.c, regexec.c.
86545         Add regex_internal.h too, but as a comment, since the libc version
86546         is currently broken in gnulib mode.
86547
86548 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86549
86550         Support programs like Emacs that use gnulib but not gettext.
86551         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86552         * modules/gettext-h: New file.
86553         * modules/gettext (Files): Remove lib/gettext.h.
86554         (Depends-on): Add gettext-h.
86555         (Makefile.am): Remove lib_SOURCES.
86556         * modules/argmatch, modules/c-stack, modules/closeout:
86557         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86558         * modules/execute, modules/file-type, modules/getaddrinfo:
86559         * modules/getopt, modules/human, modules/javacomp:
86560         * modules/javaexec, modules/mkdir-p, modules/obstack:
86561         * modules/openat, modules/pagealign_alloc, modules/pipe:
86562         * modules/quotearg, modules/regex, modules/rpmatch:
86563         * modules/unicodeio, modules/userspec, modules/version-etc:
86564         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86565         * modules/xsetenv:
86566         Depend on gettext-h, not gettext.
86567
86568 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86569
86570         * gnulib-tool (func_import): Add support for 'public domain' license.
86571         * modules/alloca, modules/atexit, modules/memmove:
86572         Now public domain, not GPL.
86573         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86574         * modules/realloc, modules/strerror, modules/strtod:
86575         Now LGPL, not GPL.
86576
86577 2005-07-05  Bruno Haible  <bruno@clisp.org>
86578
86579         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86580         autoconf CVS. Needed for mingw.
86581
86582 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86583
86584         Remove the dependency of the strftime module on the tzset module.
86585         * modules/strftime (Depends-on): Remove dependency on tzset.
86586
86587 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86588
86589         Remove the dependency of the strftime module on the tzset module.
86590         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86591         gl_FUNC_TZSET_CLOBBER.
86592
86593 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86594
86595         Remove the dependency of the strftime module on the tzset module.
86596         * lib/strftime.c (my_strftime)
86597         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86598         Copy the input structure, to work around some of the bug with
86599         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86600         Solaris releases, you should also use the tzset module, but we won't
86601         require it as a dependency any more since we don't want LGPLed code
86602         to depend on GPLed code.
86603
86604 2005-07-02  Jim Meyering  <jim@meyering.net>
86605
86606         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86607         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86608         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86609         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86610
86611 2005-07-02  Jim Meyering  <jim@meyering.net>
86612
86613         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86614
86615 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86616
86617         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86618         declares only 'struct timespec;' (!).
86619
86620 2005-07-01  Jim Meyering  <jim@meyering.net>
86621
86622         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86623         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86624         * lib/save-cwd.c, tempname.c:
86625         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86626         and don't include <sys/file.h>).
86627
86628 2005-06-29  Jim Meyering  <jim@meyering.net>
86629
86630         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86631         type name.  Use the variable name instead.
86632         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86633         Likewise.
86634
86635 2005-06-28  Simon Josefsson  <jas@extundo.com>
86636
86637         * modules/check-version (Files): Add check-version.m4.
86638
86639 2005-06-28  Simon Josefsson  <jas@extundo.com>
86640
86641         * m4/check-version.m4: New file, suggested by Jim Meyering
86642         <jim@meyering.net>.
86643
86644 2005-06-28  Simon Josefsson  <jas@extundo.com>
86645
86646         * lib/check-version.h, lib/check-version.c: New files.
86647
86648 2005-06-28  Simon Josefsson  <jas@extundo.com>
86649
86650         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86651         collision with global variable.  Better indentation.  Don't
86652         increment buffer pointer beyond buffer end.  Based on comments
86653         from Paul Eggert <eggert@cs.ucla.edu>.
86654
86655         * lib/base64.h: Indent.
86656
86657 2005-06-28  Simon Josefsson  <jas@extundo.com>
86658
86659         * doc/gnulib.texi (Library version handling): New section.
86660
86661 2005-06-28  Jim Meyering  <jim@meyering.net>
86662
86663         * check-module (find_included_lib_files): Hard-code another
86664         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86665         but modules/fts-lgpl (correctly) does not list those files.
86666
86667         * modules/canonicalize (Files): Add lib/pathmax.h.
86668
86669 2005-06-25  Simon Josefsson  <jas@extundo.com>
86670
86671         * modules/check-version: New file.
86672
86673 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86674
86675         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86676         initializer of struct addrinfo, as an indication that we don't
86677         care how many members the structure has.
86678
86679 2005-06-24  Derek Price  <derek@ximbiot.com>
86680         and Bruno Haible  <bruno@clisp.org>
86681
86682         Remove stat module & update lstat.
86683         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86684         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86685         * m4/stat.m4: Remove this file.
86686
86687 2005-06-24  Derek Price  <derek@ximbiot.com>
86688         and Bruno Haible  <bruno@clisp.org>
86689
86690         Remove stat module & update lstat.
86691         * lib/stat.c: Remove this file...
86692         (slash_aware_lstat): ...moving this content and its support...
86693         * lib/lstat.c (rpl_lstat): ...into here.
86694         * lib/lstat.h: New file.
86695
86696 2005-06-24  Derek Price  <derek@ximbiot.com>
86697         and Bruno Haible  <bruno@clisp.org>
86698
86699         Remove stat module & update lstat.
86700         * config/srclist.txt (libc sources): Remove stat.
86701
86702 2005-06-24  Derek Price  <derek@ximbiot.com>
86703         and Bruno Haible  <bruno@clisp.org>
86704
86705         Remove stat module & update lstat.
86706         * MODULES.html.sh (stat): Remove.
86707         * MODULES.html: Regenerated.
86708         * modules/lstat (Description): Correct function name.
86709         (Files): Add "lstat.h".
86710         (Depends-on): Remove stat, add xalloc, stat-macros.
86711         * modules/stat: Remove this file.
86712         (Include): Add "lstat.h", remove <sys/stat.h>.
86713
86714 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86715
86716         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86717         (ranged_convert): Don't save conversion in a temporary struct.
86718         This causes a warning with GCC 4.0.0, and anyway in the typical
86719         case it's not worth the extra 100 bytes or so of code.
86720         (ranged_convert, __mktime_internal): When calling a function via a
86721         pointer P, use P () rather than (*P) (), as we now assume C89 or
86722         better.
86723
86724 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86725
86726         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86727         "who -r" failed to give output.  Problem reported by Tim Waugh.
86728
86729         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86730         (xcalloc): Use it to avoid needless tests.
86731         Problem reported by Jim Meyering.
86732
86733 2005-06-20  Derek Price  <derek@ximbiot.com>
86734
86735         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86736         unnecessary for Autoconfs > 2.59c.
86737
86738 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86739
86740         * lib/argp.h (__option_is_short): Check upper limit of
86741         __key. Isprint() requires its argument to have the value
86742         of an unsigned char or EOF.
86743
86744 2005-06-16  Jim Meyering  <jim@meyering.net>
86745
86746         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86747         when either N or S is zero.
86748
86749 2005-06-16  Derek Price  <derek@ximbiot.com>
86750
86751         * m4/bison.m4: Declare YACC & YFLAGS precious.
86752
86753 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86754
86755         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86756         multibyte string or pattern, fall back on unibyte matching.
86757         Problem reported by James Youngman.
86758
86759 2005-06-08  Bruno Haible  <bruno@clisp.org>
86760
86761         * modules/csharpcomp: New file.
86762         * MODULES.html.sh (C#): Add csharpcomp.
86763
86764 2005-06-08  Bruno Haible  <bruno@clisp.org>
86765
86766         * m4/csharpcomp.m4: New file, from GNU gettext.
86767
86768 2005-06-08  Bruno Haible  <bruno@clisp.org>
86769
86770         * lib/csharpcomp.h: New file, from GNU gettext.
86771         * lib/csharpcomp.c: New file, from GNU gettext.
86772         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86773
86774 2005-06-08  Bruno Haible  <bruno@clisp.org>
86775
86776         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86777         warning on mingw.
86778
86779 2005-06-07  Derek Price  <derek@ximbiot.com>
86780
86781         Sync from CVS.
86782         * lib/glob_.h: Indent nested #ifdef.
86783
86784 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86785
86786         Sync from coreutils.
86787         Use "file name" when talking about file names, instead of "filename"
86788         or "path", as per the GNU coding standards.
86789         * lib/mkdir-p.c: Renamed from makepath.c.
86790         (make_dir_parents): Renamed from make_path.  All callers changed.
86791         * lib/mkdir-p.h: Likewise.  All includers changed.
86792         * lib/filenamecat.c: Renamed from path-concat.c.
86793         (file_name_concat): Renamed from path_concat.  All callers changed.
86794         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86795         * lib/filenamecat.h: Likewise.  All includers changed.
86796         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86797         in comments or local variable names.
86798         * lib/basename.c: Likewise.
86799         * lib/canonicalize.c, canonicalize.h: Likewise.
86800         * lib/dirname.c, dirname.h: Likewise.
86801         * lib/euidaccess.c: Likewise.
86802         * lib/exclude.c: Likewise
86803         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86804         * lib/fsusage.c, fsuage.h: Likewise.
86805         * lib/fts.c, fts_.h: Likewise.
86806         * lib/getcwd.c: Likewise.
86807         * lib/getloadavg.c: Likewise.
86808         * lib/mkstemp.c: Likewise.
86809         * lib/mountlist.c, mountlist.h: Likewise.
86810         * lib/openat.c, openat.h: Likewise.
86811         * lib/readlink-stub.c: Likewise.
86812         * lib/readutmp.c, readutmp.h: Likewise.
86813         * lib/rename.c: Likewise.
86814         * lib/rmdir.c: Likewise.
86815         * lib/same.c: Likewise.
86816         * lib/savedir.c: Likewise.
86817         * lib/stripslash.c: Likewise.
86818         * lib/tempname.c: Likewise.
86819         * lib/xreadlink.c: Likewise.
86820         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86821         All uses changed.
86822         * lib/exclude.h: Likewise.
86823
86824         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86825         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86826         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86827         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86828         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86829         files have been getting away with it for years (MORE/BSD 4.3
86830         is extinct now).
86831         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86832         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86833
86834         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86835         Define to 256, not 255, as per modern POSIX.
86836
86837 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86838
86839         Sync from coreutils.
86840         Use "file name" when talking about file names, instead of "filename"
86841         or "path", as per the GNU coding standards.
86842         * MODULES.html.sh: mkdir-p renamed from makepath.
86843         filenamecat renamed from path-concat.
86844         * modules/filenamecat: Renamed from modules/path-concat.
86845         (Files): filenamecat.h and filenamecat.c renamed from
86846         path-concat.h and path-concat.c.
86847         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86848         (Include): filenamecat.h, not path-concat.h.
86849         * modules/mkdir-p: Renamed from modules/makepath.
86850         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86851         makepath.c.
86852         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86853         (Include): mkdir-p.h, not makepath.h.
86854
86855 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86856
86857         Sync from coreutils.
86858         * m4/mkdir-p.m4: Renamed from makepath.m4.
86859         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86860         Rename files from makepath.c to mkdir-p.c, and from
86861         makepath.h to mkdir-p.h.
86862         * m4/filenamecat.m4: Renamed from path-concat.m4.
86863         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86864         Rename files from path-concat.c to filenamecat.c,
86865         and from path-concat.h to filenamecat.h.
86866         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86867         "file name" in local variables or comments.
86868         * m4/rename.m4: Likewise.
86869
86870 2005-06-01  Bruno Haible  <bruno@clisp.org>
86871
86872         * modules/csharpexec: New file.
86873         * MODULES.html.sh (C#): New section.
86874
86875 2005-06-01  Bruno Haible  <bruno@clisp.org>
86876
86877         * m4/csharp.m4: New file, from GNU gettext.
86878         * m4/csharpexec.m4: New file, from GNU gettext.
86879
86880 2005-06-01  Bruno Haible  <bruno@clisp.org>
86881
86882         * lib/csharpexec.h: New file, from GNU gettext.
86883         * lib/csharpexec.c: New file, from GNU gettext.
86884         * lib/csharpexec.sh.in: New file, from GNU gettext.
86885
86886 2005-05-31  Derek Price  <derek@ximbiot.com>
86887             Paul Eggert  <eggert@cs.ucla.edu>
86888
86889         Sync from cvs.
86890         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86891
86892 2005-05-31  Derek Price  <derek@ximbiot.com>
86893             Paul Eggert  <eggert@cs.ucla.edu>
86894
86895         Sync from cvs.
86896         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86897
86898 2005-05-29  Derek Price  <derek@ximbiot.com>
86899
86900         * config/srclist.txt (glob_.h, glob.c): Add these files.
86901
86902 2005-05-29  Derek Price  <derek@ximbiot.com>
86903
86904         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86905         * modules/glob: New file.
86906         * modules/getlogin_r: Add link to POSIX spec in description.
86907
86908 2005-05-29  Derek Price  <derek@ximbiot.com>
86909             Paul Eggert  <eggert@cs.ucla.edu>
86910
86911         * m4/glob.m4: New file.
86912
86913 2005-05-29  Derek Price  <derek@ximbiot.com>
86914             Paul Eggert  <eggert@cs.ucla.edu>
86915
86916         * lib/glob_.h, lib/glob.c: New files.
86917
86918 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86919
86920         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86921         * modules/fts-lgpl (Depends-on): Remove gettext.
86922
86923 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86924
86925         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86926         and don't require gt_INTTYPES_PRI.
86927
86928 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86929
86930         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86931
86932         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86933         the configuration hassle isn't worth it.
86934         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86935         (LONGEST_MODIFIER, PRIuMAX): Remove.
86936
86937 2005-05-27  Bruno Haible  <bruno@clisp.org>
86938
86939         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86940
86941 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86942
86943         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86944         _POSIX_PTHREAD_SEMANTICS for Solaris.
86945
86946 2005-05-25  Derek Price  <derek@ximbiot.com>
86947
86948         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86949
86950 2005-05-25  Derek Price  <derek@ximbiot.com>
86951             Paul Eggert  <eggert@cs.ucla.edu>
86952
86953         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86954         * lib/getlogin_r.c, getlogin_r.h: New files.
86955
86956 2005-05-25  Bruno Haible  <bruno@clisp.org>
86957             Derek Price  <derek@ximbiot.com>
86958
86959         * lib/getlogin_r.h: Simplify API documentation.
86960
86961 2005-05-23  Derek Price  <derek@ximbiot.com>
86962
86963         * modules/minmax (Files): Add m4/minmax.m4.
86964         (configure.ac): Add gl_MINMAX.
86965
86966 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86967
86968         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86969         so that unistd-safer.h (GPL'ed code) need not be included.
86970
86971 2005-05-22  Bruno Haible  <bruno@clisp.org>
86972
86973         * m4/minmax.m4: New file.
86974         Based on a patch by Derek Price <derek@ximbiot.com>.
86975
86976 2005-05-22  Bruno Haible  <bruno@clisp.org>
86977
86978         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86979         (INT64_MIN): Fix definition.
86980         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86981
86982         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86983         NEED_SIGNED_INT_TYPES.
86984
86985         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86986         HAVE_SYSTEM_INTTYPES.
86987
86988 2005-05-22  Bruno Haible  <bruno@clisp.org>
86989
86990         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86991         Also include <sys/param.h> if it defines MIN, MAX.
86992         Based on a patch by Derek Price <derek@ximbiot.com>.
86993
86994 2005-05-21  Jim Meyering  <jim@meyering.net>
86995
86996         * modules/fts (Files): Add m4/inttypes-pri.m4.
86997         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86998
86999 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87000
87001         New fts module.
87002         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87003         (setup_dir, free_dir): New functions.
87004         (enter_dir, leave_dir): Define trivial
87005         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87006         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87007         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87008         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87009         Move to fts-cycle.c.
87010         (fts_open): Use setup_dir.
87011         (fts_close): Use free_dir.
87012         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87013         This adds a label and some gotos, but the alternatives were messier.
87014         Check for memory allocation failure when entering a dir.
87015         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87016         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87017         (FTS): New member fts_cycle, that is a union that contains the
87018         old active_dir_ht and cycle_state.  All uses changed to mention
87019         fts_cycle.ht and fts_cycle.state.
87020         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87021         fts.c, with the following changes:
87022         (setup_dir, free_dir): New functions.
87023         (enter_dir): Now returns bool.  Return true if successful, false
87024         if memory exhausted.  All callers changed.
87025         Do not bother partly cleaning up on
87026         memory allocation failure; that is free_dir's job.
87027         However, free ad if hash_insert fails, to avoid memory leak.
87028         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87029         fts->fts_options to see which union member to use.
87030
87031 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87032
87033         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87034         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87035
87036 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87037
87038         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87039
87040 2005-05-20  Jim Meyering  <jim@meyering.net>
87041
87042         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87043         Now a macro, to pacify GCC.
87044
87045 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87046
87047         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87048         of -1.
87049
87050 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87051
87052         * lib/chown.c (rpl_chown): Return -1 on failure.
87053
87054 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87055
87056         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87057         Don't check for stddef.h.
87058         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87059         don't use its results.
87060         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87061         since we include them unconditionally.  Don't require
87062         AM_STDBOOL_H, since stdbool is a prerequisite.
87063         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87064         since we assume C89 or better.
87065         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87066         as we don't use their results.
87067         Don't check for fchdir, memmove, memset, strrchr, as we use
87068         them unconditionally.
87069         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87070         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87071
87072 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87073
87074         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87075         Include <stddef.h> unconditionally, since we assume C89 now.
87076         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87077         * lib/fts.c: Include fts_.h first, to check interface.
87078         Do not include intprops.h; no longer needed.
87079         Include cycle-check.h and hash.h, since fts_.h no longer does.
87080         Remove unnecessary casts of closedir to void.
87081         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
87082         decide whether to decrement nlinks.
87083         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87084         (FTS): Use struct hash_table * instead of Hash_table, so that
87085         we no longer need to include hash.h here.
87086
87087 2005-05-18  Jim Meyering  <jim@meyering.net>
87088
87089         * modules/dirfd (License): Change to LGPL.  Most of the code
87090         is already in the public domain.
87091
87092 2005-05-18  Jim Meyering  <jim@meyering.net>
87093
87094         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87095         Reported by Yoann Vandoorselaere.
87096
87097 2005-05-17  Jim Meyering  <jim@meyering.net>
87098
87099         * m4/fts.m4: New file, from coreutils.
87100
87101 2005-05-17  Jim Meyering  <jim@meyering.net>
87102
87103         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87104
87105 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87106
87107         Sync from coreutils.
87108         * m4/unlinkdir.m4: New file.
87109
87110 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87111
87112         Sync from coreutils.
87113         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87114         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87115         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87116         White space changes only.
87117         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87118         special.
87119         * lib/yesno.c: Include getline.h, not ctype.h.
87120         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87121         Use getline to remove arbitrary restriction on response length.
87122
87123 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87124
87125         * config/srclist-update: Spell out "Street" in FSF postal
87126         mail address; this is the style the FSF seems to prefer.
87127
87128         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87129         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87130         this updates FSF postal mail address.
87131
87132         Sync from coreutils.
87133         * modules/unlinkdir: New file.
87134         * modules/yesno (Depends-on): Add getline.
87135         * MODULES.html.sh (File system functions): Add unlinkdir.
87136
87137 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87138
87139         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87140         lib/strsep.h:
87141         Change the initial comment to refer to GPL, not LGPL.
87142         gnulib-tool will change it to LGPL as needed.
87143
87144         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87145         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87146         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87147         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87148         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87149         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87150         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87151         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87152         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87153         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87154         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87155         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87156         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87157         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87158         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87159         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87160         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87161         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87162         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87163         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87164         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87165         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87166         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87167         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87168         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87169         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87170         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87171         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87172         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87173         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87174         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87175         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87176         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87177         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87178         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87179         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87180         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87181         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87182         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87183         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87184         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87185         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87186         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87187         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87188         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87189         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87190         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87191         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87192         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87193         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87194         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87195         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87196         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87197         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87198         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87199         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87200         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87201         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87202         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87203         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87204         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87205         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87206         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87207         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87208         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87209         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87210         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87211         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87212         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87213         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87214         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87215         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87216         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87217         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87218         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87219         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87220         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87221         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87222         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87223         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87224         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87225         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87226         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87227         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87228         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87229         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87230         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87231         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87232         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87233         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87234         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87235         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87236         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87237         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87238         lib/yesno.c, lib/yesno.h:
87239         Update FSF postal mail address.
87240
87241 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87242
87243         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87244         tests/test-memmem.c, tests/test-stpncpy.c:
87245         Update FSF postal mail address.
87246
87247 2005-05-13  Bruno Haible  <bruno@clisp.org>
87248
87249         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87250         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87251         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87252         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87253         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87254         Add support for 64-bit integers in the MSVC compiler.
87255
87256 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87257
87258         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87259
87260 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87261
87262         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87263
87264 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87265
87266         * doc/getdate.texi (General date syntax): Don't say that date
87267         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87268         Problem reported by Nic Ferrier.
87269
87270 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87271
87272         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87273         specified in ai_socktype. Fix invalid ai_protocol
87274         check. ai_protocol is usually set to 0 or depending on
87275         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87276         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87277         ai_socktype / ai_protocol in the returned addrinfo structure.
87278
87279 2005-05-10  Simon Josefsson  <jas@extundo.com>
87280
87281         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87282         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87283
87284 2005-05-10  Karl Berry  <karl@gnu.org>
87285
87286         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87287         (from http://www.gnu.org/licenses).
87288         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87289         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87290         fdl.texi suffices.
87291
87292 2005-05-10  Karl Berry  <karl@gnu.org>
87293
87294         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87295         (COPYING.DOC): remove.
87296
87297         * config/srclist-update: new FSF address.
87298
87299 2005-05-10  Derek Price  <derek@ximbiot.com>
87300
87301         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87302         possible.
87303
87304 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87305             Bruno Haible  <bruno@clisp.org>
87306
87307         * modules/inet_ntop: New file.
87308         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87309         inet_ntop.
87310
87311 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87312             Bruno Haible  <bruno@clisp.org>
87313
87314         * m4/inet_ntop.m4: New file.
87315
87316 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87317             Bruno Haible  <bruno@clisp.org>
87318
87319         * lib/inet_ntop.h: New file.
87320         * lib/inet_ntop.c: New file, from glibc with modifications.
87321
87322 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87323
87324         * modules/time_r (License): Change to LGPL.
87325         * modules/extensions (License): Change to LGPL.  Actually,
87326         the license is more permissive than that, but currently gnulib-tool
87327         doesn't know how to handle more-permissive licenses.
87328
87329         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87330         Problem reported by Dave Love.
87331
87332 2005-05-08  Jim Meyering  <jim@meyering.net>
87333
87334         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87335         blank.
87336
87337 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87338
87339         * modules/argmatch (Depends-on): Add stdbool.
87340         * modules/backupfile (Depends-on): Likewise.
87341         * modules/chdir-long (Depends-on): Likewise.
87342         * modules/closeout (Depends-on): Likewise.
87343         * modules/cycle-check (Depends-on): Likewise.
87344         * modules/dirname (Depends-on): Likewise.
87345         * modules/fnmatch (Depends-on): Likewise.
87346         * modules/fsusage (Depends-on): Likewise.
87347         * modules/fwriteerror (Depends-on): Likewise.
87348         * modules/getcwd (Depends-on): Likewise.
87349         * modules/getloadavg (Depends-on): Likewise.
87350         * modules/hard-locale (Depends-on): Likewise.
87351         * modules/makepath (Depends-on): Likewise.
87352         * modules/mountlist (Depends-on): Likewise.
87353         * modules/nanosleep (Depends-on): Likewise.
87354         * modules/posixtm (Depends-on): Likewise.
87355         * modules/quotearg (Depends-on): Likewise.
87356         * modules/readtokens (Depends-on): Likewise.
87357         * modules/readtokens0 (Depends-on): Likewise.
87358         * modules/readutmp (Depends-on): Likewise.
87359         * modules/save-cwd (Depends-on): Likewise.
87360         * modules/strftime (Depends-on): Likewise.
87361         * modules/userspec (Depends-on): Likewise.
87362         * modules/utimecmp (Depends-on): Likewise.
87363         * modules/xgetcwd (Depends-on): Likewise.
87364         * modules/xnanosleep (Depends-on): Likewise.
87365         * modules/xstrtod (Depends-on): Likewise.
87366         * modules/yesno (Depends-on): Likewise.
87367
87368 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87369
87370         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87371         needless checks.
87372
87373 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87374
87375         Merge from coreutils.  Among other things,
87376         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87377         * lib/fd-safer.c: New file.
87378         * lib/fcntl-safer.h, open-safer.c: Remove.
87379         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87380         * lib/dup-safer.c: Include unistd-safer.h first.
87381         Don't include errno.h.
87382         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87383         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87384         * lib/file-type.c: Rely on file-type.h change.
87385         * lib/getloadavg.c: Include unistd-safer.h.
87386         (getloadavg): Use safer open.
87387         * lib/getusershell.c: Include "stdio-safer.h".
87388         (getusershell): Use safer fopen.
87389         * lib/long-options.c (long_options): Use NULL rather than 0.
87390         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87391         'free'.
87392         * lib/modechange.c: Likewise.
87393         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87394         (MODE_DONE): New constant.
87395         (struct mode_change): Remove 'next' member.
87396         (make_node_op_equals): New function; like the old one of the
87397         same name, except it allocates an array.
87398         (mode_compile, mode_create_from_ref): Use it.
87399         (mode_compile): Allocate result as an array, not a linked list.
87400         Parse octal string ourself, so that we catch mistakes like "+0".
87401         (mode_adjust): Arg is an array, not a linked list.
87402         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87403         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87404         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87405         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87406         Remove.  This is now stat-macros.h's job.
87407         (talloc): Remove.  All callers replaced by xalloc, so that
87408         our invokers don't have to worry about reporting memory failures.
87409         (make_node_op_equals): Remove.
87410         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87411         New constants.
87412         (struct mode_change): Moved here from modechange.h.
87413         (mode_append_entry): Remove.
87414         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87415         apps to have incorrect behavior.  Use simpler algorithm for head
87416         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87417         Detect more invalid usages rather than having somewhat-random behavior.
87418         Don't insert an "a=" action, as that leads to incorrect behavior.
87419         (mode_compile, mode_create_from_ref): Return NULL on error instead
87420         of an enum, since now there's only one way to have an error.  All
87421         callers changed.
87422         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87423         at the correct time.  Simplify calculation of "+u" and its ilk.
87424         Don't mishandle "+X".
87425         (mode_free): Remove "register" and localize decls.
87426         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87427         (struct mode_change): Move to modechange.c; callers don't
87428         need to see this stuff.
87429         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87430         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87431         (mode_change, mode_adjust): Reflect the new signatures noted above.
87432         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87433         that might redefine system include files.
87434         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87435         (my_usleep): Use NULL rather than (void *) 0.
87436         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87437         Use siginterrupt to specify that system calls should be interrupted.
87438         (rpl_nanosleep): Move initialization of suspended closer to call of
87439         my_usleep.
87440         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87441         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87442         (desirable_utmp_entry): New function.
87443         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87444         using x2nrealloc, to simplify logic.
87445         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87446         size calculation.  Do not assume utmp file is a regular file.
87447         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87448         (READ_UTMP_CHECK_PIDS): New constant.
87449         * lib/save-cwd.c: Include unistd-safer.h.
87450         (save_cwd): Use fd_safer.
87451         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87452         [!_LIBC] Include "stat-macros.h" instead.
87453         * lib/unistd-safer.h (fd_safer): New decl.
87454
87455 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87456
87457         * modules/getloadavg (Depends-on): Add unistd-safer.
87458         * modules/getusershell (Depends-on): Add stdio-safer.
87459         * modules/lstat (Depends-on): Remove xalloc.
87460         * modules/mkstemp (Depends-on): Add stat-macros.
87461         * modules/modechange (Depends-on): Remove xstrtol.
87462         Add stat-macros, xalloc.
87463         * modules/save-cwd (Depends-on): Add unistd-safer.
87464         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87465         * modules/unistd-safer (Files): Add lib/fd-safer.c
87466         (Makefile.am): Remove lib_SOURCES.
87467
87468         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87469         Remove fcntl-safer; unistd-safer supersedes it.
87470
87471 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87472
87473         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87474         AC_HEADER_STAT.
87475         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87476         (gl_PREREQ_CHOWN): Remove.
87477         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87478         it.  Don't require AC_HEADER_STAT.
87479         (gl_PREREQ_LSTAT): Remove.
87480         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87481         Don't require AC_HEADER_STAT.
87482         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87483         (gl_PREREQ_RMDIR): Remove.
87484         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87485         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87486         the stat-macros module a prerequisite.
87487         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87488         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87489         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87490         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87491         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87492         variable names.
87493         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87494         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87495         variable prefixes.
87496         * m4/fcntl-safer.m4: Remove.
87497         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87498         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87499         Invoke gl_PREREQ_FD_SAFER.
87500         (gl_PREREQ_FD_SAFER): New macro.
87501         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87502         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87503         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87504         Remove duplicate call to AC_LIBOBJ(readutmp).
87505         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87506
87507         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87508         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87509
87510 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87511
87512         * MODULES.html.sh (Misc): Add byteswap.
87513
87514 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87515
87516         * modules/getcwd (Depends-on): Add extensions.
87517         * modules/openat (Depends-on): Likewise.
87518
87519 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87520
87521         * modules/byteswap: New file.
87522
87523 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87524
87525         * m4/byteswap.m4: New file.
87526
87527 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87528
87529         * lib/byteswap_.h: New file.
87530
87531 2005-04-25  Karl Berry  <karl@gnu.org>
87532
87533         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87534
87535 2005-04-25  Albert Chin  <china@thewrittenword.com>
87536
87537         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87538         Toolkit C bug.
87539
87540 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87541
87542         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87543         (func_ln_if_changed): Remove forcibly for no error message
87544         in case file does not exist.
87545
87546 2005-04-19  Simon Josefsson  <jas@extundo.com>
87547
87548         * gnulib-tool (Options): Make --symlink mean --symbolic.
87549
87550 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87551
87552         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87553
87554 2005-04-16  Simon Josefsson  <jas@extundo.com>
87555
87556         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87557
87558 2005-04-15  Simon Josefsson  <jas@extundo.com>
87559
87560         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87561
87562 2005-04-15  Simon Josefsson  <jas@extundo.com>
87563
87564         * gnulib-tool: Rename --symlink to --symbolic.
87565
87566 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87567
87568         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87569         symbolic links to files instead of copying/moving.  Add --aux-dir,
87570         specifying directory relative --dir where auxiliary build tools
87571         are placed.
87572
87573 2005-04-14  Bruno Haible  <bruno@clisp.org>
87574
87575         * modules/allocsa (License): Change to LGPL.
87576         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87577
87578 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87579
87580         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87581         that "UTC +1 second" continues to work.  Problem reported
87582         by Dmitry V. Levin.
87583         (relunit_snumber): New rule.
87584         (relunit): Use it.
87585
87586 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87587
87588         * lib/getdate.y (universal_time_zone_table): New constant.
87589         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87590         universal_time_zone_table.
87591         (lookup_zone): Prefer universal_time_zone_table to
87592         local_time_zone_table, so that "GMT" time stamps are allowed in
87593         London during the summer.  Problem reported by Ian Abbott.
87594
87595 2005-04-12  Jim Meyering  <jim@meyering.net>
87596
87597         * lib/human.c (humblock): Set *options even when returning due to
87598         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87599         warning from gcc-4.
87600
87601 2005-04-09  Jim Meyering  <jim@meyering.net>
87602
87603         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87604         -Wuninitialized: initialize tm0.tm_year.
87605
87606 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87607
87608         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87609         count, since there's no maximum.  All uses changed.
87610         Add member dsts_seen.
87611         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87612         not being INT_MAX.
87613         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87614         Use pc_rels_seen to decide whether a date is absolute.
87615
87616         * lib/getdate.y (number): Don't overwrite year.
87617         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87618         check.
87619
87620 2005-04-02  Simon Josefsson  <jas@extundo.com>
87621
87622         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87623         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87624
87625 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87626
87627         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87628         where no absolute path name can be longer than PATH_MAX.
87629
87630 2005-03-27  Jim Meyering  <jim@meyering.net>
87631
87632         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87633
87634 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87635
87636         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87637         "one's complement" -> "ones' complement" in comment, as per Knuth.
87638         "value of type" -> "type or expression" in comment.
87639         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87640
87641 2005-03-26  Jim Meyering  <jim@meyering.net>
87642
87643         Comment nits.
87644         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87645         Correct typos: s/or/of/.
87646
87647 2005-03-26  Jim Meyering  <jim@meyering.net>
87648
87649         * modules/check-include-files: Move to ../ and rename to...
87650         * check-module: ...this.
87651
87652 2005-03-25  Jim Meyering  <jim@meyering.net>
87653
87654         * modules/xvasprintf (Files): Add xalloc.h.
87655
87656 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87657
87658         * modules/gettext (Files): config/config.rpath ->
87659         build-aux/config.rpath
87660         * modules/iconv (Files): Likewise.
87661         Problem reported by Oskar Liljeblad.
87662
87663 2005-03-23  Jim Meyering  <jim@meyering.net>
87664
87665         * modules/check-include-files: New script to check for
87666         missing dependencies, multiple includes, etc.
87667
87668         * modules/c-strtold (Depends-on): Add xalloc.
87669         * modules/c-strtod (Depends-on): Add xalloc.
87670         * modules/hash (Depends-on): Add xalloc.
87671         (Files): Remove lib/xalloc.h.
87672
87673         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87674         * modules/userspec (Files): Add lib/inttostr.h.
87675
87676 2005-03-23  Jim Meyering  <jim@meyering.net>
87677
87678         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87679
87680 2005-03-22  Jim Meyering  <jim@meyering.net>
87681
87682         * modules/stat-macros: New module.
87683         * modules/canonicalize, modules/euidaccess, modules/file-type,
87684         * modules/filemode, modules/lchown, modules/makepath,
87685         * modules/rmdir, modules/stat: Depend on new stat-macros module
87686         rather than listing lib/stat-macros.h manually.
87687         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87688
87689 2005-03-22  Jim Meyering  <jim@meyering.net>
87690
87691         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87692
87693 2005-03-22  Bruno Haible  <bruno@clisp.org>
87694
87695         * config/srclist.txt: Replace target directory 'config' with
87696         'build-aux'.
87697         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87698         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87699         ../build-aux/.
87700
87701 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87702
87703         * modules/chdir-long (Depends-on): Add mempcpy.
87704
87705         * modules/acl, modules/backupfile, modules/c-strtod,
87706         modules/c-strtold, modules/canon-host, modules/canonicalize,
87707         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87708         modules/exclude, modules/exitfail, modules/file-type,
87709         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87710         modules/getdate, modules/getline, modules/getpagesize,
87711         modules/getpass, modules/getugroups, modules/group-member,
87712         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87713         modules/inttostr, modules/long-options, modules/makepath,
87714         modules/md5, modules/memcasecmp, modules/memcoll,
87715         modules/modechange, modules/mountlist, modules/path-concat,
87716         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87717         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87718         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87719         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87720         modules/strftime, modules/strndup, modules/strverscmp,
87721         modules/timespec, modules/unlocked-io, modules/userspec,
87722         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87723         modules/yesno:
87724         Remove lib_SOURCES line from Makefile.am section, as this is now
87725         done automatically by the corresponding Autoconf macro.
87726
87727 2005-03-21  Jim Meyering  <jim@meyering.net>
87728
87729         Changes imported from coreutils.
87730
87731         * lib/cycle-check.c: Don't include xalloc.h.
87732
87733         * lib/path-concat.c: Don't include assert.h.
87734         (path_concat): Remove assertion that would have triggered
87735         for ABASE starting with more than one slash.
87736         Reported by Andreas Schwab.
87737
87738         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87739         properly when ABASE is an absolute file name.
87740         Correct the description of this function.
87741         Include <assert.h>.
87742         Add an assertion and a test driver.
87743         This fixes a bug introduced on 2004-07-02.
87744         Andreas Schwab reported the resulting failure of cp --parents:
87745         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87746
87747 2005-03-21  Jim Meyering  <jim@meyering.net>
87748
87749         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87750         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87751
87752 2005-03-21  Jim Meyering  <jim@meyering.net>
87753         and  Paul Eggert  <eggert@cs.ucla.edu>
87754
87755         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87756         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87757         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87758         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87759         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87760         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87761         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87762         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87763         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87764         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87765         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87766         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87767         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87768         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87769         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87770         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87771         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87772         for these modules.
87773
87774 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87775
87776         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87777         (which shouldn't happen), generate nothing instead of returning 0
87778         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87779
87780 2005-03-16  Bruno Haible  <bruno@clisp.org>
87781
87782         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87783         HAVE_LONGLONG_64BIT.
87784
87785 2005-03-16  Bruno Haible  <bruno@clisp.org>
87786
87787         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87788         HAVE_LONGLONG_64BIT.
87789
87790 2005-03-16  Bruno Haible  <bruno@clisp.org>
87791
87792         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87793         HAVE_LONGLONG_64BIT.
87794
87795 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87796
87797         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87798         reliably distinguish strftime failure from empty output on POSIX
87799         hosts.
87800
87801 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87802
87803         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87804         (iconv_string): Don't guess a size-zero buffer, as that might cause
87805         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87806         result would be 'too large', where 'too large' is (heuristically)
87807         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87808         overflow concerns.  This will prevent some unwanted malloc failures
87809         when the inputs are very large.
87810
87811 2005-03-15  Karl Berry  <karl@gnu.org>
87812
87813         * config/srclist.txt (config.rpath): from gettext.
87814         * config/config.rpath: update.
87815
87816 2005-03-15  Bruno Haible  <bruno@clisp.org>
87817
87818         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87819         to 'negate'.
87820
87821         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87822         variable.
87823
87824         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87825         results.
87826
87827 2005-03-14  Simon Josefsson  <jas@extundo.com>
87828
87829         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87830         <fx@gnu.org>.
87831
87832 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87833
87834         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87835         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87836         intprops.h.
87837         * lib/strtol.c: Likewise.
87838
87839 2005-03-14  Jim Meyering  <jim@meyering.net>
87840
87841         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87842         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87843         to be nonzero so that we (and caller) can detect the difference
87844         between a valid zero-length expansion and an error return, even
87845         when the underlying strftime fails before writing anything into
87846         that location.
87847
87848 2005-03-14  Bruno Haible  <bruno@clisp.org>
87849
87850         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87851         Update from GNU gettext 0.14.3.
87852
87853 2005-03-10  Jim Meyering  <jim@meyering.net>
87854
87855         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87856
87857 2005-03-10  Jim Meyering  <jim@meyering.net>
87858
87859         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87860         so that this module works on systems without fchdir.
87861
87862 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87863
87864         Factor int-properties macros into a single file, except for
87865         glibc-related files.
87866         * lib/intprops.h: New file.
87867         * lib/getloadavg.c: Include it instead of limits.h.
87868         (INT_STRLEN_BOUND): Remove.
87869         * lib/human.c: Include intprops.h.
87870         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87871         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87872         302/1000.
87873         * lib/inttostr.h: Include intprops.h instead of limits.h.
87874         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87875         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87876         for consistency with intprops.h.
87877         (time_t_is_integer, twos_complement_arithmetic): Use them.
87878         * lib/sig2str.h: Include <signal.h>, intprops.h.
87879         (INT_STRLEN_BOUND): Remove.
87880         * lib/strftime.c (TYPE_SIGNED): Remove.
87881         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87882         * lib/strtol.c: Adjust comments to match intprops.h.
87883         * lib/userspec.c: Include intprops.h.
87884         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87885         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87886         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87887         instead of rolling our own expressions.
87888         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87889
87890         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87891         instead of int.
87892         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87893         the right thing even if adding 1900 would overflow.  Similarly
87894         for tm_mon + 1 and tm_yday + 1.
87895         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87896         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87897         (DO_SIGNED_NUMBER): New macro.
87898         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87899
87900 2005-03-07  Bruno Haible  <bruno@clisp.org>
87901
87902         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87903
87904 2005-03-07  Bruno Haible  <bruno@clisp.org>
87905
87906         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87907
87908 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87909
87910         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87911         (func_import): Only replace files via --import when they have actually
87912         changed.
87913
87914 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87915
87916         * m4/mmap-anon.m4: New file.
87917         * m4/pagealign_alloc.m4: New file.
87918
87919 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87920             Bruno Haible  <bruno@clisp.org>
87921
87922         * modules/pagealign_alloc: New file.
87923         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87924
87925 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87926             Bruno Haible  <bruno@clisp.org>
87927
87928         * lib/pagealign_alloc.h: New file.
87929         * lib/pagealign_alloc.c: New file.
87930
87931 2005-03-03  Bruno Haible  <bruno@clisp.org>
87932
87933         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87934         Use an all-permissive copyright notice, recommended by RMS.
87935
87936 2005-03-02  Bruno Haible  <bruno@clisp.org>
87937
87938         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87939         of AIX, the replacement has to be done only after <string.h> is
87940         included, therefore not in config.h. stpncpy.h does the replacement,
87941         and stpncpy.c uses it.
87942
87943 2005-03-02  Bruno Haible  <bruno@clisp.org>
87944
87945         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87946         stpncpy.c uses it.
87947
87948 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87949
87950         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87951         The workaround isn't strictly needed for POSIX conformance, and
87952         it's too much of a pain to configure and maintain.  We'll ask
87953         people to fix their kernels instead.
87954         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87955         (NANOSLEEP_BUG_WORKAROUND): Remove.
87956         (xnanosleep): Remove the workaround.
87957
87958 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87959
87960         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87961         Reported by Derek Price.
87962         (Include): Add "timespec.h".
87963
87964         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87965
87966 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87967
87968         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87969         to detect nanosleep bug.
87970
87971 2005-03-01  Bruno Haible  <bruno@clisp.org>
87972
87973         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87974
87975 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87976
87977         * modules/gethrxtime: New file.
87978         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87979         (Depends-on): Add gethrxtime.
87980         (configure.ac): Add gl_XNANOSLEEP.
87981         (Makefile.am): Remove lib_SOURCES line.
87982
87983 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87984
87985         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87986         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87987
87988 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87989
87990         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87991         * lib/timespec.h (gettime): Return void, since it always
87992         succeeds now.  All uses changed.
87993         * lib/gettime.c (gettime): Likewise.
87994         [HAVE_NANOTIME]: Prefer nanotime.
87995         Assume gettimeofday succeeds, as POSIX requires.
87996         Assime time () succeeds, since other code already does.
87997         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87998         (timespec_subtract): Remove.
87999         (NANOSLEEP_BUG_WORKAROUND): New constant.
88000         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88001         things considerably.  Use it only on GNU/Linux hosts, since the
88002         workaround shouldn't be needed elsewhere.
88003
88004 2005-02-24  Bruno Haible  <bruno@clisp.org>
88005
88006         * modules/gettext (Files): Add m4/glibc2.m4.
88007
88008 2005-02-24  Bruno Haible  <bruno@clisp.org>
88009
88010         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88011         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88012         * m4/progtest.m4:
88013         Update from GNU gettext 0.14.2.
88014         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88015
88016 2005-02-24  Bruno Haible  <bruno@clisp.org>
88017
88018         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88019         * lib/config.charset: Update from GNU gettext 0.14.2.
88020
88021 2005-02-24  Bruno Haible  <bruno@clisp.org>
88022
88023         * lib/gettext.h: Update from GNU gettext 0.14.2.
88024
88025 2005-02-23  Simon Josefsson  <jas@extundo.com>
88026
88027         * m4/iconvme.m4: New file.
88028
88029 2005-02-23  Jim Meyering  <jim@meyering.net>
88030
88031         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88032         change.
88033         Thanks to Bruno Haible for catching it.
88034
88035 2005-02-22  Simon Josefsson  <jas@extundo.com>
88036
88037         * modules/iconvme: New file.
88038
88039         * MODULES.html.sh: Add iconvme.
88040
88041 2005-02-22  Simon Josefsson  <jas@extundo.com>
88042
88043         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88044
88045 2005-02-22  Simon Josefsson  <jas@extundo.com>
88046
88047         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88048
88049 2005-02-22  Jim Meyering  <jim@meyering.net>
88050
88051         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88052         s/ifndef/ifdef/.
88053
88054 2005-02-20  Neil Conway  <neilc@samurai.com>
88055
88056         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88057         returned by OSX/Darwin if the specified buffer is not large
88058         enough for the hostname.
88059
88060 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88061
88062         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88063         pass it to _help, otherwise the latter coredumps trying to
88064         dereference state.root_argp.
88065
88066 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88067
88068         * modules/chdir-long (Depends-on): Add memrchr.
88069         * modules/memrchr (Files): Add lib/memrchr.h.
88070         (Include): "memrchr.h".
88071
88072 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88073
88074         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88075
88076 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88077
88078         * lib/memrchr.h: New file.
88079         * lib/chdir-long.c: Include it.
88080         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
88081         Don't bother including stddef.h.
88082
88083 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88084
88085         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88086         inclusion.
88087         Include <sys/types.h>, for dev_t.
88088         (ME_DUMMY, ME_REMOTE): Move from here....
88089         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88090         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88091         Dmitry V. Levin.
88092         Include mountlist.h first, to test the interface.
88093
88094 2005-01-29  Bruno Haible  <bruno@clisp.org>
88095
88096         * lib/progname.c (program_name): Initialize.
88097         Needed when linking statically on MacOS X.
88098
88099 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88100
88101         Sync from coreutils.
88102         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88103         (Depends-on): Add c-strtod.
88104         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88105
88106 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88107
88108         Sync from coreutils.
88109         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88110
88111         Remove files that are specific to coreutils.
88112         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88113
88114 2005-01-28  Bruno Haible  <bruno@clisp.org>
88115
88116         * modules/javacomp: New file.
88117         * MODULES.html.sh (Java): Add javacomp.
88118
88119 2005-01-28  Bruno Haible  <bruno@clisp.org>
88120
88121         * m4/javacomp.m4: New file, from GNU gettext.
88122
88123 2005-01-28  Bruno Haible  <bruno@clisp.org>
88124
88125         * lib/javacomp.sh.in: New file, from GNU gettext.
88126         * lib/javacomp.h: New file, from GNU gettext.
88127         * lib/javacomp.c: New file, from GNU gettext.
88128
88129 2005-01-26  Simon Josefsson  <jas@extundo.com>
88130
88131         * lib/gai_strerror.c: Use GPL in header.
88132
88133 2005-01-26  Bruno Haible  <bruno@clisp.org>
88134
88135         * modules/javaexec: New file.
88136         * MODULES.html.sh (Java): Add javaexec.
88137
88138 2005-01-26  Bruno Haible  <bruno@clisp.org>
88139
88140         * m4/javaexec.m4: New file, from GNU gettext.
88141
88142 2005-01-26  Bruno Haible  <bruno@clisp.org>
88143
88144         * lib/javaexec.sh.in: New file, from GNU gettext.
88145         * lib/javaexec.h: New file, from GNU gettext.
88146         * lib/javaexec.c: New file, from GNU gettext.
88147
88148 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88149
88150         * modules/lchown (Depends-on): Remove lchown.h
88151
88152 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88153
88154         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88155         must be defined if the header file was not found, in order
88156         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88157
88158 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88159
88160         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88161         initializers for struct pentry_state.
88162         (__argp_error): Check return value of __asprintf
88163         (__argp_failure): Translate error message
88164
88165         * lib/argp-parse.c: Removed braces around the expansion of N_()
88166
88167 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88168
88169         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88170         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88171         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88172         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88173         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88174         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88175         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88176         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88177         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88178         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88179         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88180         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88181         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88182         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88183         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88184         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88185         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88186         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88187         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88188         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88189         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88190         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88191         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88192         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88193         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88194         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88195         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88196         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88197         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88198         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88199         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88200         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88201         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88202         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88203         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88204         Use an all-permissive copyright notice, recommended by RMS.
88205
88206 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88207
88208         * modules/chdir-long (Depends-on): Remove mempcpy.
88209
88210 2005-01-21  Jim Meyering  <jim@meyering.net>
88211
88212         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88213         same value as for Solaris 9.
88214
88215         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88216         component length.  This included changing the parameter to be
88217         of type `char *' rather than `char const *'.
88218         * lib/chdir-long.h (chdir_long): Update prototype.
88219
88220         * lib/openat.c (fdopendir, fstatat): New functions.
88221         * lib/openat.h: Include headers required for use of DIR and struct
88222         stat.
88223         [AT_SYMLINK_NOFOLLOW]: Define.
88224         (fdopendir, fstatat): Add prototypes.
88225
88226 2005-01-21  Bruno Haible  <bruno@clisp.org>
88227
88228         * modules/classpath: New file.
88229         * MODULES.html.sh (Java): Add classpath.
88230
88231 2005-01-21  Bruno Haible  <bruno@clisp.org>
88232
88233         * lib/classpath.h: New file, from GNU gettext.
88234         * lib/classpath.c: New file, from GNU gettext.
88235
88236 2005-01-20  Simon Josefsson  <jas@extundo.com>
88237
88238         * modules/version-etc-fsf: New file.
88239
88240 2005-01-20  Simon Josefsson  <jas@extundo.com>
88241
88242         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88243         * lib/version-etc.c: Remove version_etc_copyright.
88244         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88245         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88246
88247 2005-01-20  Simon Josefsson  <jas@extundo.com>
88248
88249         * lib/base64.h (isbase64): Add.
88250
88251         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88252         using a unsigned prototype, don't inline.
88253         (base64_decode): Use it.
88254
88255 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88256
88257         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88258         it.
88259
88260 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88261
88262         * lib/save-cwd.c (save_cwd): Remove code to support the case
88263         where fchdir is missing or flaky.
88264
88265 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88266
88267         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88268
88269 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88270
88271         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88272         AC_LIBSOURCES now does this.
88273         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88274         with new ullong_max module.
88275
88276 2005-01-19  Bruno Haible  <bruno@clisp.org>
88277
88278         * modules/sh-quote: New file.
88279         * MODULES.html.sh (Executing programs): Add sh-quote.
88280
88281 2005-01-19  Bruno Haible  <bruno@clisp.org>
88282
88283         * lib/sh-quote.h: New file, from GNU gettext.
88284         * lib/sh-quote.c: New file, from GNU gettext.
88285
88286 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88287
88288         Merge from coreutils.
88289         * m4/ullong_max.m4: New file.
88290         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88291         (gl_MACROS): Assume localeconv exists.
88292
88293 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88294
88295         Merge changes from coreutils, as described below in several
88296         changelogs dated today.
88297
88298         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88299         (O_DIRECTORY): Remove; not needed here, since "." must be
88300         a directory.  All uses removed.
88301         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88302         universal on Suns, and we also need to test for IRIX.
88303         Revamp code to use 'if' rather than '#if'.
88304         Avoid unnecessary comparison of cwd->desc to 0.
88305
88306         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88307         for known valid error numbers rather than observed invalid ones.
88308
88309 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88310
88311         * modules/ullong_max: New file.
88312
88313         * modules/chdir-long, modules/openat: New files.
88314         * modules/save-cwd (Depends-on): Depend on chdir-long.
88315         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88316
88317 2005-01-18  Jim Meyering  <jim@meyering.net>
88318
88319         Merge from coreutils.
88320         * m4/chdir-long.m4, m4/openat.m4: New files.
88321         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88322         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88323         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88324         is sane and DOES follow symlinks.  Besides, testing 20 different
88325         systems found no broken chown implementations.
88326         Prompted by a change in rsync's copy of this macro.
88327         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88328
88329         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88330
88331         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88332         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88333         NULL-means-set-to-current-time semantics.
88334         Remove temporary file immediately, rather than waiting
88335         for configure's at-exit trap code to do it.
88336
88337 2005-01-18  Jim Meyering  <jim@meyering.net>
88338
88339         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88340
88341         * lib/utimens.c (futimens): Account for the fact that futimes
88342         can also fail with errno == ENOSYS or errno == ENOENT.
88343         Patch from Dmitry V. Levin.
88344
88345         Change the name of the robust chdir function from chdir to chdir_long.
88346         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88347         (restore_cwd): Use chdir_long, not chdir.
88348         * lib/chdir-long.c: Renamed from chdir.c.
88349         * lib/chdir-long.h: Renamed from chdir.h.
88350         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88351         Hurd.
88352
88353 2005-01-18  Bruno Haible  <bruno@clisp.org>
88354
88355         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88356         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88357         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88358         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88359         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88360         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88361         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88362         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88363         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88364         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88365         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88366         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88367         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88368         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88369         Use an all-permissive copyright notice, recommended by RMS.
88370
88371 2005-01-18  Bob Proulx  <bob@proulx.com>
88372
88373         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88374         simplify offsetof() macro construct to avoid compile failure with
88375         native HP-UX 11.0 ANSI C compiler.
88376
88377 2005-01-17  Bruno Haible  <bruno@clisp.org>
88378
88379         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88380         redundant because stpncpy.m4 takes care of it.
88381
88382 2005-01-17  Bruno Haible  <bruno@clisp.org>
88383
88384         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88385
88386 2005-01-17  Bruno Haible  <bruno@clisp.org>
88387
88388         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88389         used.
88390
88391 2005-01-17  Bruno Haible  <bruno@clisp.org>
88392
88393         * lib/fwriteerror.h (fwriteerror): Change specification to include
88394         fclose.
88395         * lib/fwriteerror.c: Include <stdbool.h>.
88396         (fwriteerror): At the end, close the file stream. Record whether
88397         stdout was already closed.
88398
88399 2005-01-17  Bruno Haible  <bruno@clisp.org>
88400
88401         * lib/execute.c (environ): Declare if needed.
88402         * lib/pipe.c (environ): Likewise.
88403         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88404
88405 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88406
88407         * modules/argp: Depend on vsnprintf
88408
88409 2005-01-10  Jim Meyering  <jim@meyering.net>
88410
88411         * modules/closeout (Depends-on): Add atexit.
88412
88413 2005-01-06  Bruno Haible  <bruno@clisp.org>
88414
88415         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88416
88417 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88418
88419         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88420         definitions to be after all include files, to avoid collisions.
88421         Problem reported by Bob Proulx.
88422
88423 2005-01-04  Jim Meyering  <jim@meyering.net>
88424
88425         Changes imported from coreutils.
88426         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88427         as the mkstemp template, use a temporary directory and an
88428         8.3-friendly template to avoid trouble on systems like DJGPP.
88429         Reported by Juan M. Guerrero via Stepan Kasal.
88430         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88431         close. Remove the temporary directory right away, rather than waiting
88432         for configure's at-exit trap code to do it.
88433         Suggestion from Stepan Kasal.
88434
88435 2005-01-01  Simon Josefsson  <jas@extundo.com>
88436
88437         * gnulib-tool: Print #include directives when --import'ing.
88438
88439 2004-12-28  Simon Josefsson  <jas@extundo.com>
88440
88441         * tests/test-base64.c: Include required header files.  Remove
88442         unused variables.
88443
88444 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88445
88446         * modules/error (Depends-on): Remove gettext.
88447
88448 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88449
88450         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88451         not needed.  This removes a dependency on the gettext module.
88452         [defined _LIBC]: Do not include <libintl.h>; not needed.
88453
88454 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88455
88456         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88457         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88458
88459 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88460
88461         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88462         HAVE_DECL_STRTOLD.
88463
88464 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88465
88466         * modules/getdate (Depends-on): Remove alloca-opt.
88467
88468 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88469
88470         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88471
88472 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88473
88474         * lib/argp-parse.c: Include <stddef.h>.
88475         (alignof, alignto): New macros.
88476         (parser_init): Don't assume that void * is aligned sufficiently
88477         for struct option.
88478
88479         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88480         need to extend the stack.
88481         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88482         large.
88483
88484 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88485
88486         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88487
88488 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88489
88490         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88491         (2004-10-24) change.  Apparently this was a false alarm.
88492
88493         * modules/getdate: Depend on alloca-opt, not alloca.
88494
88495 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88496
88497         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88498         Remove now-obsolete comment about AIX.
88499         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88500         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88501         (YYMAXDEPTH): New macro.
88502
88503 2004-12-18  Simon Josefsson  <jas@extundo.com>
88504
88505         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88506
88507 2004-12-18  Bruno Haible  <bruno@clisp.org>
88508
88509         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88510
88511 2004-12-18  Bruno Haible  <bruno@clisp.org>
88512
88513         * lib/fatal-signal.c (fatal_signals): Make non-const.
88514         (init_fatal_signals): New function.
88515         (uninstall_handlers, install_handlers): Ignore signals that were set to
88516         SIG_IGN.
88517         (at_fatal_signal): Call init_fatal_signals.
88518         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88519         SIG_IGN.
88520         Reported by Paul Eggert.
88521
88522 2004-12-18  Bruno Haible  <bruno@clisp.org>
88523
88524         * doc/alloca.texi: New file.
88525         * doc/alloca-opt.texi: New file.
88526
88527 2004-12-17  Jim Meyering  <jim@meyering.net>
88528
88529         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88530         Otherwise, install-sh could exit with improper exit status when
88531         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88532
88533 2004-12-16  Simon Josefsson  <jas@extundo.com>
88534
88535         * tests/test-base64.c: Add license.
88536
88537 2004-12-15  Stepan Kasal  <address@hidden>
88538
88539         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88540
88541 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88542
88543         * modules/getcwd (Files): Add m4/d-ino.m4.
88544         Suggested by Mark D. Baushke.
88545
88546 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88547
88548         * lib/getdate.y (textint): New member "negative".
88549         (time_zone_hhmm): New function.
88550         Expect 14 shift-reduce conflicts, not 13.
88551         (o_colon_minutes): New rule.
88552         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88553         (yylex): Set the "negative" member of signed numbers.
88554
88555 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88556
88557         * doc/getdate.texi (Time of day items, Time zone items):
88558         Describe new formats +00:00, UTC+00:00.
88559
88560 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88561
88562         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88563         spurious "-l"s.  Problem reported by Stepan Kasal.
88564
88565 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88566
88567         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88568         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88569
88570 2004-12-04  Simon Josefsson  <jas@extundo.com>
88571
88572         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88573         Vandoorselaere <yoann@prelude-ids.org>.
88574
88575 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88576
88577         Changes imported from coreutils.
88578         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88579         exist.
88580         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88581
88582 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88583
88584         Changes imported from coreutils.
88585         * lib/hard-locale.c: Assume <locale.h> exists.
88586         Include "strdup.h".
88587         (GLIBC_VERSION): New macro.
88588         (hard_locale): Assume setlocale exists.
88589         Rewrite to avoid #ifdef.
88590         Use strdup rather than malloc + strcpy.
88591         * lib/human.c: Assume <locale.h> exists.
88592         (human_readable): Assume localeconv exists.
88593
88594 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88595
88596         * modules/hard-locale (Depends-on): Add strdup.
88597
88598 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88599
88600         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88601         convert T2, not T.  (Imported from libc.)
88602
88603 2004-11-30  Simon Josefsson  <jas@extundo.com>
88604
88605         * modules/restrict (License): Change to LGPL.
88606
88607 2004-11-30  Simon Josefsson  <jas@extundo.com>
88608
88609         * m4/restrict.m4: Add copyright and copying conditions.
88610
88611 2004-11-30  Simon Josefsson  <jas@extundo.com>
88612
88613         * m4/base64.m4: New file.
88614
88615 2004-11-30  Simon Josefsson  <jas@extundo.com>
88616
88617         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88618         base64.
88619
88620         * tests/test-base64.c: New file.
88621
88622         * modules/base64: New file.
88623
88624 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88625
88626         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88627         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88628
88629         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88630
88631 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88632
88633         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88634         (__getcwd.c): Don't restore errno; glibc doesn't.
88635         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88636         first, falling back to our code only if its results look suspicious.
88637         Ensure that the resulting buffer is only as large as necessary.
88638
88639         * lib/readutmp.c: Include readutmp.h first.
88640         Include <errno.h>, since readutmp.h no longer does that.
88641         * lib/readutmp.h: Don't include <errno.h>,
88642         <sys/param.h>, <time.h>; not needed to establish interface.
88643         (errno): Remove decl.
88644         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88645         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88646         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88647
88648 2004-11-28  Simon Josefsson  <jas@extundo.com>
88649
88650         * lib/base64.h, base64.c: New file.
88651
88652 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88653
88654         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88655
88656 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88657
88658         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88659         (Depends-on): Remove pathmax, same.  Add mempcpy.
88660         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88661         (Makefile.am): Append getcwd.h to lib_SOURCES.
88662         (Include): Add getcwd.h.
88663         (Maintainer): Change from Jim Meyering to "all, glibc",
88664         since getdate now uses intended-for-glibc code.
88665         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88666         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88667
88668 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88669
88670         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88671         HP's ANSI C compiler.
88672         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88673         Declaring int functions causes warnings on some modern systems and
88674         shouldn't be needed to compile on ancient ones.
88675         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88676         defined.
88677
88678         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88679         with the following changes.
88680         (__set_errno): Parenthesize properly.
88681         Include <stdbool.h>.
88682         (MIN, MAX, MATCHING_INO): New macros.
88683         (__getcwd): Define with prototype, not K&R form.
88684         Use heuristics to allocate default buffer on stack if possible.
88685         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88686         behavior, and to avoid the PATH_MAX limit when computing
88687         ../../../../...
88688         Use MATCHING_INO to compare inode number to file.
88689         Check for arithmetic overflow in size calculations.
88690         Fix bug in reallocation of dot array that caused getcwd to fail
88691         on directories nested deeper than 75.
88692         Be more careful about saving errno on error.
88693         Do not use realloc; use only free+malloc, as this is a bit
88694         more flexible and avoids a needless copy operation.
88695         Do not inspect st_dev and st_ino for symbolic links; POSIX
88696         doesn't specify the latter.
88697         Check for closedir errors.
88698         Avoid needless casts.
88699         Use "#ifdef weak_alias" around weak_alias, to be like other
88700         glibc code.
88701         The following changes to getcwd.c have effect only when used in
88702         gnulib; they have no effect inside glibc proper.
88703         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88704         as alloca isn't used.
88705         (alloca, __alloca): Likewise.
88706         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88707         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88708         unconditionally, as gnulib assumes C89 or better.
88709         Do not include <sys/param.h>.
88710         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88711         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88712         better.
88713         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88714         Include <dirent.h> in a way that is compatible with modern Autoconf.
88715         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88716         New macros, if not already defined.
88717         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88718         Use "_LIBC", not "defined _LIBC", for consistency.
88719         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88720         a mempcpy module.
88721         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88722         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88723         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88724         credit only to Jim Meyering and adjust the copyright dates.
88725         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88726         <stdlib.h>, <unistd.h>, "pathmax.h".
88727         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88728         (INITIAL_BUFFER_SIZE): Remove.
88729         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88730
88731 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88732
88733         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88734         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88735         Use the _ONCE methods, for efficiency.
88736         Check for fcntl.h.  In test program, include <errno.h>
88737         and <fcntl.h> if available.  Remove old K&R cruft from
88738         test program.  Check for common errors in GNU/Linux,
88739         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88740         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88741         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88742         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88743         name accordingly.
88744         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88745         accommodate new getcwd.c.
88746         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88747         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88748         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88749         that's all we need now.
88750
88751 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88752
88753         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88754         argp-parse.c depends on getopt internals, that means we should
88755         always use our getopt, to be on the safe side.
88756         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88757         order not to spoil the result of an eventual previous invocation
88758         of gl_GETOPT_SUBSTITUTE.
88759
88760 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88761
88762         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88763         redefinition warnings. To avoid them, include the defines
88764         in `#if !defined __need_getopt ... #endif'. The only place
88765         where __getopt_argv_const is used is in definitions
88766         of getopt_long and getopt_long_only below, which are as well
88767         protected by `#ifndef __need_getopt'.
88768         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88769         __need_getopt after including <stdio.h> and <unistd.h> These
88770         headers might have defined it.
88771
88772 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88773
88774         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88775
88776 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88777
88778         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88779         (futimens): New function, which uses futimes if available.
88780         (futimens, utimens): Support timespec==NULL, with same semantics
88781         as utime and utimens.
88782         * lib/utimens.h (futimens): New decl.
88783
88784 2004-11-23  Jim Meyering  <jim@meyering.net>
88785
88786         * lib/getopt_.h: Remove trailing blanks.
88787
88788 2004-11-23  Jim Meyering  <jim@meyering.net>
88789
88790         * lib/__fpending.c: Add comment.
88791
88792 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88793
88794         * modules/canonicalize (Depends-on): Add xreadlink.
88795         Problem reported by James Youngman.
88796
88797 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88798
88799         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88800         New macros.
88801         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88802         optopt): Use them instead of invoking ## directly; otherwise, the
88803         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88804
88805 2004-11-19  Bruno Haible  <bruno@clisp.org>
88806
88807         * lib/strtok_r.c: Move comments from here...
88808         * lib/strtok_r.h: ... to here.
88809
88810 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88811
88812         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88813         implementations that mishandle size_t overflow.
88814
88815 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88816
88817         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88818         might fail.  Problem reported by Yoann Vandoorselaere.
88819         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88820         implementations that mishandle size_t overflow.
88821
88822 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88823
88824         * modules/canon-host (Depends-on): Add strdup.
88825
88826 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88827
88828         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88829
88830 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88831
88832         * lib/canon-host.c: Include "strdup.h".
88833         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88834         Use strdup instead of malloc/strcpy to duplicate strings.
88835
88836         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88837         (human_space_before_unit): New constant.
88838         * lib/human.c (human_readable): Support it.
88839
88840         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88841         (xgetcwd): Set errno correctly when failing.
88842         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88843         the failure is actually due to a PATH_MAX problem.
88844
88845         Further getopt changes to make it more likely that glibc will
88846         buy the changes back.
88847         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88848         (getopt): Use it, so to preserve glibc semantic
88849         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88850         when compiling for libc.
88851         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88852         (getopt_long, getopt_long_only): Use it.
88853
88854         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88855         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88856         (getopt): Argv is now char * const *, as per standard.
88857         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88858         not char *__getopt_argv_const *.
88859         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88860         _getopt_long_only_r): Likewise.
88861         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88862         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88863         _getopt_long_r, _getopt_long_only_r): Likewise.
88864         * lib/getopt_.h (__getopt_argv_const): Remove.
88865         (getopt): Argv is now char * const *, as per standard.
88866
88867         * lib/getdate.y (tORDINAL): New token.
88868         (day, relunit): Allow it for relative times.
88869         (relative_time_table): Use tORDINAL for ordinals.
88870
88871 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88872
88873         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88874         Document that "second" isn't allowed as an ordinal number.
88875
88876 2004-11-16  Jim Meyering  <jim@meyering.net>
88877
88878         * modules/closeout (Depends-on): Add fpending.
88879
88880 2004-11-15  Jim Meyering  <jim@meyering.net>
88881
88882         * lib/closeout.c: Include "__fpending.h" once again.
88883         Include <stdbool.h>.
88884         (close_stdout): Don't fail just because stdout was closed initially,
88885         since some programs don't write to stdout in the normal course of
88886         operation (other than --version and --help), and we don't want this
88887         function to make e.g. `touch file >&-' fail.
88888         But do fail if it was closed and someone has tried to write to it.
88889         E.g., `printf foo >&-' must fail.
88890
88891 2004-11-13  Jim Meyering  <jim@meyering.net>
88892
88893         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88894
88895 2004-11-12  Simon Josefsson  <jas@extundo.com>
88896
88897         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88898         small doc fix is still pending.
88899
88900 2004-11-11  Simon Josefsson  <jas@extundo.com>
88901
88902         * modules/strtok_r: New file.
88903
88904         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88905         strtok_r.
88906
88907 2004-11-11  Simon Josefsson  <jas@extundo.com>
88908
88909         * m4/strtok_r.m4: New file.
88910
88911         * m4/getopt.m4: Replace opterr.
88912
88913 2004-11-11  Simon Josefsson  <jas@extundo.com>
88914
88915         * lib/strtok_r.h, strtok_r.c: New file.
88916
88917 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88918
88919         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88920         of replacing opterr, getopt, etc.  This should handle the
88921         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88922
88923 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88924
88925         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88926         we can stop lying to compilers about the constness of argv when we
88927         are compiled outside glibc.
88928         (getopt, getopt_long, getopt_long_only): Use it.
88929         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88930         _getopt_internal, getopt): Likewise.
88931         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88932         _getopt_long_only_r): Likewise.
88933         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88934         _getopt_long_r, _getopt_long_only_r): Likewise.
88935
88936         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88937         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88938         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88939         the other external symbols.
88940         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88941         declaration, since the above renaming now works around collisions.
88942
88943 2004-11-11  Jim Meyering  <jim@meyering.net>
88944
88945         * lib/linebreak.c: Remove trailing blanks.
88946         * lib/alloca_.h: Likewise.
88947         * lib/acosl.c: Likewise.
88948         * lib/euidaccess.c: Likewise.
88949         * lib/allocsa.h: Likewise.
88950
88951 2004-11-10  Simon Josefsson  <jas@extundo.com>
88952
88953         * m4/getaddrinfo.m4: New file.
88954
88955 2004-11-10  Simon Josefsson  <jas@extundo.com>
88956
88957         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88958
88959 2004-11-10  Simon Josefsson  <jas@extundo.com>
88960
88961         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88962         getaddrinfo.
88963
88964         * modules/getaddrinfo: New file.
88965
88966 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88967
88968         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88969
88970 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88971
88972         * lib/mktime.c (SHR): New macro, which is a portable
88973         substitute for >> that should work even on Crays.
88974         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88975         Problem reported by Mark D. Baushke in
88976         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88977         * lib/getdate.y (SHR): Likewise.
88978         (tm_diff): Use it.
88979         * lib/strftime.c (SHR): Likewise.
88980         (tm_diff): Use it.
88981         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88982         quote_these_too, so that right shifts are well defined.  All uses
88983         changed.
88984
88985 2004-11-10  Jim Meyering  <jim@meyering.net>
88986
88987         Ensure that no close failure goes unreported.
88988         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88989         return early when it seems there's nothing to flush.
88990         Don't include __fpending.h.
88991
88992 2004-11-10  Jim Meyering  <jim@meyering.net>
88993
88994         * modules/closeout (Depends-on): Remove fpending.
88995
88996 2004-11-10  Jim Meyering  <jim@meyering.net>
88997
88998         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88999
89000 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89001
89002         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89003         gl_FUNC_STRFTIME.
89004         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89005         and AC_REQUIRE when possible, to avoid duplicate checks.
89006         Check for <wchar.h>.
89007
89008 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89009
89010         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89011
89012 2004-11-09  Bruno Haible  <bruno@clisp.org>
89013
89014         * m4/sockpfaf.m4: New file.
89015
89016 2004-11-05  Bruno Haible  <bruno@clisp.org>
89017
89018         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89019         Reported by Mark D. Baushke <mdb@cvshome.org>.
89020
89021 2004-11-04  Bruno Haible  <bruno@clisp.org>
89022
89023         2004-09-11  Bruno Haible  <bruno@clisp.org>
89024                 * allocsa.valgrind: New file.
89025         2004-02-06  Bruno Haible  <bruno@clisp.org>
89026                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89027                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89028                 Reported by Christopher Seip <chris.seip@hp.com>.
89029
89030 2004-11-04  Bruno Haible  <bruno@clisp.org>
89031
89032         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89033         (Makefile.am): Distribute it.
89034
89035 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89036
89037         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89038         with errno == ERANGE if the buffer is too small.
89039         Problem reported by Mark D. Baushke.
89040
89041 2004-11-03  Albert Chin  <china@thewrittenword.com>
89042             Paul Eggert  <eggert@cs.ucla.edu>
89043
89044         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89045         equivalent, substitute $ac_type for equivalent type rather than
89046         blindly using uint32_t *always* which won't work if uint32_t is not
89047         available.  Define _UINT32_T to work around typedef of uint32_t if
89048         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89049         2.5.1.
89050
89051 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89052
89053         * m4/jm-macros.m4: Sync from coreutils.
89054         (gl_MACROS): Check for mbrlen, for pathchk.
89055         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89056
89057 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89058
89059         * lib/xreadlink.c (MAXSIZE): New macro.
89060         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89061         size does not exceed MAXSIZE.  Avoid cast.
89062         As suggested by Mark D. Baushke in
89063         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89064         if readlink fails with buffer size just under MAXSIZE, try again
89065         with MAXSIZE.
89066
89067 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89068
89069         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89070
89071 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89072         and  Paul Eggert  <eggert@cs.ucla.edu>
89073
89074         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89075         (get_date): Overparenthesize to avoid GCC warning.
89076
89077 2004-11-02  Bruno Haible  <bruno@clisp.org>
89078
89079         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
89080         returns void.
89081
89082 2004-11-02  Bruno Haible  <bruno@clisp.org>
89083
89084         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89085         function returns void.
89086
89087 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89088
89089         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89090         fflush_unlocked, flockfile, funlockfile, funlockfile,
89091         fputs_unlocked, putc_unlocked.
89092
89093 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89094
89095         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89096         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89097         already declared.
89098
89099 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89100
89101         * modules/getdate (Files): Add doc/getdate.texi.
89102         (Depends-on): Add setenv, xalloc.
89103
89104 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89105
89106         * lib/getdate.y: Add support for TZ="foo" within a date string.
89107         Fix some bugs near time_t boundaries.  Reject dates with
89108         out-of-range components, e.g., "Sept 31".
89109         Include <stdlib.h>, "setenv.h", "xalloc.h".
89110         (ISDIGIT_LOCALE): Remove; unused.
89111         Note that the TZ and time functions used here are not reentrant.
89112         (mktime_ok, get_tz): New functions.
89113         (TZBUFSIZE): New constant.
89114         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89115         This requires that we sometimes generate our own TZ="XXX..." setting.
89116
89117 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89118
89119         * doc/getdate.texi: New file, from coreutils with modifications for
89120         the new TZ parsing.
89121
89122 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89123
89124         * lib/mktime.c (not_equal_tm): Remove redundant check.
89125
89126 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89127
89128         * modules/regex (lib_SOURCES): Add regex.c.
89129         Reported by James Youngman in
89130         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89131
89132 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89133
89134         * lib/getdate.y: Use Bison 1.875 features, and some minor
89135         code cleanups.  This change does not affect semantics.
89136         Don't include <stdlib.h>; no longer needed.
89137         Don't include unlocked-io.h; only the "#if TEST" code uses
89138         stdio, and performance isn't crucial there.
89139         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89140         Bison 1.875 features as described below.
89141         All uses of "PC." replaced by "pc->".
89142         (YYSTYPE): Add a forward declaration.
89143         (yylex, yyerror): Use full prototypes in forward decls.
89144         Use "%pure-parser" rather than obsolescent "%pure_parser".
89145         Use %parse-param and %lex-param instead of obsolescent
89146         YYPARSE_PARAM and YYLEX_PARAM.
89147         (meridian_table, month_and_day_table, time_units_table,
89148         relative_time_table, time_zone_table, military_table,
89149         lookup_zone, lookup_word, get_date):
89150         Use NULL instead of 0 where appropriate.
89151         (to_hour): Avoid abort (), to avoid a dependency on
89152         stdlib.h.
89153         (yyerror, yylex): Now accepts parser_control * arg.
89154         (main) [TEST]: Use '\0' rather than 0 for char.
89155
89156 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89157
89158         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89159
89160 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89161
89162         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89163         It's now the caller's responsibility to handle the case where
89164         !HAVE_GETPAGESIZE && !defined getpagesize.
89165
89166         * lib/mktime.c (leapyear): Arg is long int, not int.
89167
89168 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89169
89170         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89171
89172 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89173
89174         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89175         missing.  Problem reported by James Youngman.
89176
89177 2004-10-16  Simon Josefsson  <jas@extundo.com>
89178
89179         * gnulib-tool: Fix comments.  Fix parse problem.
89180         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89181
89182 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89183
89184         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89185         implementation of getopt_long.  Problem reported by Alexander Taler in:
89186         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89187
89188 2004-10-15  Bruno Haible  <bruno@clisp.org>
89189
89190         * gnulib-tool: Untabify. Initialize supplied_libname.
89191         (func_usage): More homogenous output.
89192         (func_modules_transitive_closure, func_modules_to_filelist,
89193         func_emit_lib_Makefile_am): New functions.
89194         (func_import): New function, extracted from big case statement. Use
89195         func_get_license, func_modules_transitive_closure,
89196         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89197         opt_lgpl. Don't use test -a, as it's not portable.
89198         (func_create_testdir): Use func_modules_transitive_closure,
89199         func_modules_to_filelist, func_emit_lib_Makefile_am.
89200
89201 2004-10-15  Bruno Haible  <bruno@clisp.org>
89202
89203         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89204
89205 2004-10-15  Bruno Haible  <bruno@clisp.org>
89206
89207         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89208         the portions belonging to each module.
89209         Suggested by Derek Robert Price <derek@ximbiot.com>.
89210
89211 2004-10-12  Simon Josefsson  <jas@extundo.com>
89212
89213         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89214         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89215         to real functions.
89216
89217 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89218
89219         * modules/vsnprintf: New file.
89220
89221 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89222
89223         * m4/vsnprintf.m4: New file.
89224
89225 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89226
89227         * lib/vsnprintf.h: New file.
89228         * lib/vsnprintf.c: New file.
89229
89230 2004-10-11  Bruno Haible  <bruno@clisp.org>
89231
89232         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89233         vsnprintf.
89234
89235 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89236
89237         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89238
89239 2004-10-07  Bruno Haible  <bruno@clisp.org>
89240
89241         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89242         fits into the provided buffer.
89243
89244 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89245
89246         * lib/diacrit.c, diacrit.h: Add GPL notice.
89247
89248         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89249         notice.
89250         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89251         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89252         This avoids a potential constant-folding bug.
89253
89254 2004-10-05  Bruno Haible  <bruno@clisp.org>
89255
89256         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89257         for the declaration of strsep.
89258
89259 2004-10-05  Bruno Haible  <bruno@clisp.org>
89260
89261         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89262
89263 2004-10-04  Simon Josefsson  <jas@extundo.com>
89264
89265         * modules/memmem: New file.
89266         * tests/test-memmem.c: New file.
89267         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89268
89269 2004-10-04  Simon Josefsson  <jas@extundo.com>
89270
89271         * m4/memmem.m4: New file.
89272
89273 2004-10-04  Simon Josefsson  <jas@extundo.com>
89274
89275         * lib/memmem.h: New file.
89276         * lib/memmem.c: New file, taken from glibc.
89277
89278 2004-10-04  Simon Josefsson  <jas@extundo.com>
89279
89280         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89281         '#ifdef USE_UNLOCKED_IO'.
89282
89283 2004-10-04  Simon Josefsson  <jas@extundo.com>
89284
89285         * config/srclist.txt: Add memmem from glibc.
89286
89287 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89288
89289         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89290
89291         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89292         modules/exclude, modules/getdate, modules/getline,
89293         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89294         modules/getusershell, modules/linebuffer, modules/md5,
89295         modules/mountlist, modules/posixtm, modules/readtokens,
89296         modules/readutmp, modules/regex, modules/sha1,
89297         modules/version-etc, modules/yesno:
89298         Remove dependency on unlocked-io.
89299
89300 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89301
89302         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89303
89304         * m4/unlocked-io.m4: Add copyright notice.
89305         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89306
89307 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89308
89309         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89310         * lib/xmalloc.c (xmemdup): Likewise.
89311         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89312         XFREE): Remove these long-obsolescent macros.
89313         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89314         * lib/xstrdup.c: Remove.
89315
89316         * lib/regex.c (re_comp): Cast gettext return value to char *,
89317         Problem reported by Martin Neitzel via Mark D. Baushke.
89318
89319 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89320
89321         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89322         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89323         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89324         regex.c, sha1.c, version-etc.c, yesno.c:
89325         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89326         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89327         the includer's responsibility.
89328
89329         Sync from coreutils.
89330
89331         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89332         points to the start of a string, as the C Standard says the
89333         resulting behavior is undefined.
89334
89335         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89336         simple -> simple_backups, numbered_existing ->
89337         numbered_existing_backups, numbered -> numbered_backups
89338         to avoid shadowing problems.  All uses changed.
89339         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89340         * lib/backupfile.c (check_extension, numbered_backup):
89341         Rename locals to avoid shadowing 'basename'.
89342         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89343         once.
89344
89345         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89346         * lib/.cvsignore: Add getopt.h.
89347
89348 2004-10-04  Bruno Haible  <bruno@clisp.org>
89349
89350         * modules/README: New file.
89351         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89352         not a module.
89353
89354 2004-10-02  Jim Meyering  <jim@meyering.net>
89355
89356         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89357
89358 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89359
89360         * modules/strsep: New file.
89361
89362 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89363
89364         * m4/strsep.m4: New file.
89365
89366 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89367
89368         * lib/strsep.h: New file.
89369         * lib/strsep.c: New file.
89370
89371 2004-10-01  Simon Josefsson  <jas@extundo.com>
89372
89373         * lib/snprintf.c (snprintf): Handle size==0.
89374
89375 2004-10-01  Simon Josefsson  <jas@extundo.com>
89376             Bruno Haible  <bruno@clisp.org>
89377
89378         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89379         (snprintf): Declare 'args'.
89380
89381 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89382
89383         * lib/snprintf.c: Remove comments as to why each header is needed.
89384
89385 2004-10-01  Bruno Haible  <bruno@clisp.org>
89386
89387         * MODULES.html.sh: Add strsep.
89388
89389 2004-09-30  Simon Josefsson  <jas@extundo.com>
89390
89391         * modules/snprintf: New file.
89392
89393 2004-09-30  Simon Josefsson  <jas@extundo.com>
89394
89395         * m4/snprintf.m4: New file.
89396
89397 2004-09-30  Simon Josefsson  <jas@extundo.com>
89398
89399         * lib/snprintf.h, lib/snprintf.c: New files.
89400
89401 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89402
89403         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89404         (hol_entry_help): Never translate an empty string.
89405         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89406         * lib/argp.h (OPTION_NO_TRANS): New option.
89407
89408 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89409
89410         * modules/argp (Maintainer): Replace Simon Josefsson
89411         by Sergey Poznyakoff.
89412
89413 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89414
89415         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89416         changes merged back into glibc.
89417
89418 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89419
89420         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89421
89422 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89423
89424         * lib/xvasprintf.c: Include xalloc.h.
89425         (xvasprintf): Use xalloc_die, not xmalloc_die.
89426
89427 2004-09-29  Bruno Haible  <bruno@clisp.org>
89428
89429         * modules/alloca-opt: New file, derived from modules/alloca.
89430         * modules/allocsa: Depend on alloca-opt instead of alloca.
89431         * modules/setenv: Likewise.
89432         * modules/vasnprintf: Likewise.
89433         * MODULES.html.sh: Add alloca-opt.
89434
89435 2004-09-28  Simon Josefsson  <jas@extundo.com>
89436
89437         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89438         LGPL, and to replace license template from GPL to LGPL.
89439
89440 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89441
89442         * modules/dummy: Change license to LGPL.
89443
89444 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89445
89446         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89447
89448 2004-09-24  Simon Josefsson  <jas@extundo.com>
89449
89450         * modules/minmax (License): Change from GPL to LGPL.
89451
89452 2004-09-23  Simon Josefsson  <jas@extundo.com>
89453
89454         * gnulib-tool (--import): Typo.
89455
89456 2004-09-23  Simon Josefsson  <jas@extundo.com>
89457
89458         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89459
89460 2004-09-22  Bruno Haible  <bruno@clisp.org>
89461
89462         * modules/*: Add 'License' field.
89463         * gnulib-tool: Accept --extract-license option.
89464         (func_get_license): New function.
89465
89466 2004-09-21  Bruno Haible  <bruno@clisp.org>
89467
89468         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89469         Reported by Simon Josefsson.
89470
89471 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89472
89473         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89474         gl_AC_TYPE_LONG_LONG.
89475
89476 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89477
89478         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89479
89480 2004-09-18  Simon Josefsson  <jas@extundo.com>
89481         and  Paul Eggert  <eggert@cs.ucla.edu>
89482
89483         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89484         calls with autoreconf.  Define GL_LIB.
89485
89486 2004-09-14  Karl Berry  <karl@gnu.org>
89487
89488         * config/srclist.txt: unsync setenv.c, sigh.
89489
89490 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89491
89492         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89493         Problem reported by Bruno Haible in:
89494         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89495
89496 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89497
89498         * config/srclist.txt: Comment out argp-pvh.c.
89499
89500 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89501
89502         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89503         in case some system header has #define'd it.  Problem reported by
89504         Soeren D. Schulze in
89505         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89506
89507 2004-09-09  Karl Berry  <karl@gnu.org>
89508
89509         * regex.[ch]: delete from the root.  These were supposed to be
89510                 synced with emacs cvs, but this has not happened for about
89511                 a year, and anyway nothing else uses emacs regex.[ch].
89512                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89513                 lib/regex[.ch] is untouched.
89514
89515 2004-09-09  Bruno Haible  <bruno@clisp.org>
89516
89517         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89518
89519 2004-09-09  Bruno Haible  <bruno@clisp.org>
89520
89521         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89522         modifications.
89523         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89524
89525 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89526
89527         * modules/xvasprintf: New file.
89528         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89529
89530 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89531
89532         * lib/xvasprintf.h: New file.
89533         * lib/xvasprintf.c: New file.
89534         * lib/xasprintf.c: New file.
89535
89536 2004-09-08  Bruno Haible  <bruno@clisp.org>
89537
89538         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89539
89540 2004-09-08  Bruno Haible  <bruno@clisp.org>
89541
89542         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89543         length is > INT_MAX.
89544         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89545         more.
89546
89547 2004-09-08  Bruno Haible  <bruno@clisp.org>
89548
89549         * lib/stdint_.h: New file, taken from GNU clisp.
89550
89551 2004-09-08  Bruno Haible  <bruno@clisp.org>
89552             Oskar Liljeblad  <oskar@osk.mine.nu>
89553
89554         * modules/stdint: New file.
89555         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89556
89557 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89558
89559         Import from coreutils.
89560         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89561         strings on unbounded length.  alloca's performance benefits aren't
89562         that important here.
89563         (V_STRDUP): Remove.
89564         (parse_with_separator): New function, with most of the internals
89565         of the old parse_user_spec.  Allow user to omit both user and group,
89566         for compatibility with FreeBSD.
89567         Clone only the user name, not the entire spec.
89568         Do not set *uid, *gid unless entirely successful.
89569         Avoid memory leak in some failing cases.
89570         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89571         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89572         (parse_user_spec): Rewrite to use parse_with_separator.
89573
89574 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89575
89576         * modules/userspec: Don't depend on alloca.
89577
89578 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89579
89580         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89581
89582 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89583
89584         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89585         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89586         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89587
89588 2004-08-16  Simon Josefsson  <jas@extundo.com>
89589
89590         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89591         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89592         Add --dry-run for --import.
89593         Let user provided command line parameters override configure.ac
89594         settings.
89595
89596 2004-08-12  Simon Josefsson  <jas@extundo.com>
89597
89598         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89599         as discussed with Paul Eggert in threads rooted at
89600         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89601         and
89602         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89603         Before, the test was empty, and relied on ELIDE_CODE in source
89604         code.)
89605         (gl_PREREQ_GETOPT): New macro.
89606         (gl_GETOPT): Use them.
89607
89608 2004-08-12  Simon Josefsson  <jas@extundo.com>
89609
89610         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89611         * lib/getopt_.h: Renamed from getopt.h.
89612
89613 2004-08-12  Simon Josefsson  <jas@extundo.com>
89614
89615         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89616         Change default library name from libfoo to libgnu.
89617         Now, if you have a configure.ac that says:
89618                 gl_SOURCE_BASE(gl)
89619                 gl_M4_BASE(gl/m4)
89620                 gl_MODULES(error getopt etcetera)
89621                 gl_INIT
89622         you can import all you need by running:
89623                 ../gnulib/gnulib-tool --import
89624
89625         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89626         (Makefile.am): Rewrite, use logic from argz.
89627         (Include): Use <getopt.h> instead of "getopt.h".
89628
89629 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89630
89631         * modules/argp (Files): Add m4/unlocked-io.m4.
89632         (Depends-on): Add extensions.
89633
89634 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89635
89636         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89637         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89638         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89639         Check for program_invocation_name, program_invocation_short_name,
89640         flockfile, funlockfile, features.h, _getopt_long_only_r.
89641
89642 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89643
89644         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89645         its complicated substitute.
89646         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89647         and program_invocation_name.
89648         (__argp_basename) [!_LIBC]: Remove; the only use was
89649         replaced by its body.
89650         (__argp_short_program_name): Change condition from
89651         !defined __argp_short_program_name to
89652         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89653         to match argp-namefrob.h.
89654         (__argp_failure): Don't assume strerror_r returns char *.
89655         * lib/argp-parse.c (N_): Define unconditionally.
89656         (argp_default_options): Fill out initializers with 0 to avoid
89657         gcc warnings.
89658
89659 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89660
89661         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89662         getopt1.c.
89663
89664 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89665
89666         Merge from coreutils.
89667
89668         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89669
89670         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89671         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89672
89673 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89674
89675         Merge from coreutils.
89676
89677         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89678         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89679         for Reliant Unix 5.43.
89680
89681         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89682         (union fooround): Use uintmax_t, not long int.
89683         The rest is a merge from libc:
89684         [defined _LIBC]: Include <shlib-compat.h>.
89685         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89686
89687         * lib/settime.c (settime): Recode to avoid warning with
89688         Sun Forte C 6U2.
89689
89690         * lib/strverscmp.c: Convert to UTF-8.
89691
89692 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89693
89694         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89695         m4/uintmax_t.m4.
89696
89697 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89698
89699         * modules/xalloc-die: New file.
89700         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89701
89702         * modules/md5 (Files): Add m4/uint32_t.m4.
89703         * modules/sha1: Renamed from modules/sha.
89704         (Files):
89705         Rename lib/sha.h to lib/sha1.h.
89706         Rename lib/sha.c to lib/sha1.c.
89707         Rename m4/sha.m4 to m4/sha1.m4.
89708         (lib_SOURCES): Likewise.
89709         (configure.ac): Rename gl_SHA to gl_SHA1.
89710         (Include): sha.h -> sha1.h.
89711
89712 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89713
89714         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89715         * m4/sha1.m4: Renamed from sha.m4.
89716         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89717
89718 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89719
89720         * lib/obstack.h (obstack_empty_p):
89721         Don't assume that chunk->contents is suitably aligned.
89722         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89723         Likewise. Problem reported by Benno in
89724         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89725
89726         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89727         readable.  This could be improved further but it'd take some work.
89728
89729 2004-08-08  Simon Josefsson  <jas@extundo.com>
89730
89731         * modules/xgethostname (Depends-on): Remove exit and error (not
89732         used).
89733
89734         * modules/getpass-gnu: Add getpass.h.
89735         (Depends-on): Add stdbool.
89736         * modules/getpass: Add getpass.h.
89737
89738 2004-08-08  Simon Josefsson  <jas@extundo.com>
89739
89740         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89741         Check getpass declaration.
89742
89743 2004-08-08  Simon Josefsson  <jas@extundo.com>
89744
89745         * lib/xgethostname.c: Don't include error.h (not used).
89746
89747         * lib/getpass.h: Add.
89748         * lib/getpass.c: Include getpass.h first.
89749
89750 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89751
89752         * lib/xalloc-die.c: New file.
89753         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89754         All uses removed.
89755         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89756         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89757         xalloc-die.c.
89758         (_, N_, xalloc_die): Move to xalloc-die.c.
89759         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89760         so that we needn't mess with xalloc_msg_memory_exhausted.
89761
89762         * lib/sha1.h: Renamed from sha.h.
89763         (SHA1_H): Renamed from _SHA_H.
89764         (sha1_ctx): Renamed from sha_ctx.
89765         (sha1_init_ctx): Renamed from sha_init_ctx.
89766         (sha1_process_block): Renamed from sha_process_block.
89767         (sha1_process_bytes): Renamed from sha_process_bytes.
89768         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89769         (sha1_read_ctx): Renamed from sha_read_ctx.
89770         (sha1_stream): Renamed from sha_stream.
89771         (sha1_buffer): Renamed from sha_buffer.
89772         * lib/sha1.c: Likewise; renamed from sha.c.
89773         Do not include <sys/types.h>.
89774         Include <stddef.h> rather than <stdlib.h>.
89775
89776 2004-08-08  Bruno Haible  <bruno@clisp.org>
89777
89778         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89779         FILESYSTEM_PREFIX_LEN.
89780         * lib/progreloc.c: Likewise.
89781         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89782
89783 2004-08-06  Simon Josefsson  <jas@extundo.com>
89784
89785         * modules/progname (Depends-on): Don't depend on stdbool.
89786
89787 2004-08-06  Simon Josefsson  <jas@extundo.com>
89788
89789         * modules/getsubopt: New file.
89790         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89791         getsubopt.
89792
89793 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89794
89795         More merge from coreutils.
89796
89797         * m4/utimens.m4, m4/utimecmp.m4: New files.
89798         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89799         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89800         prereq.m4, sha.m4: Import changes from coreutils.
89801
89802 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89803
89804         More merge from coreutils.
89805         * modules/raise, modules/readtokens0, modules/utimens:
89806         * modules/utimecmp, module/xnanosleep: New files.
89807         * modules/strftime: Add lib/strftime.h.
89808         Change include from <time.h> to "strftime.h".
89809         * modules/yesno: Add lib/yesno.h.
89810         * modules/backupfile: Remove lib/addext.c.
89811         * modules/euidaccess: Add stat-macros.h.
89812         * modules/canonicalize, modules/euidaccess,
89813         modules/filemode, modules/lchown, modules/makepath,
89814         modules/rmdir, modules/stat: Likewise.
89815
89816 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89817
89818         Merge from tar.
89819         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89820         SIZE_MAX is a valid preprocessor constant.
89821         (__argp_basename): Change from "#ifndef _LIBC"
89822         to "#ifndef __argp_short_program_name", so that
89823         we don't compile these functions for tar.
89824
89825         More merges from coreutils.
89826         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89827         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89828         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89829         * lib/addext.c: Remove; no longer needed.
89830         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89831         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89832         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89833         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89834         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89835         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89836         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89837         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89838         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89839         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89840         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89841         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89842         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89843         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89844         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89845         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89846         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89847         Import changes from coreutils.
89848
89849 2004-08-05  Simon Josefsson  <jas@extundo.com>
89850
89851         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89852
89853 2004-08-05  Simon Josefsson  <jas@extundo.com>
89854
89855         * m4/getsubopt.m4: New file.
89856
89857 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89858
89859         Merge from coreutils.
89860
89861         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89862         * m4/getcwd-path-max.m4: New files.
89863
89864         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89865         FILESYSTEM_PREFIX_LEN ->
89866         FILE_SYSTEM_PREFIX_LEN.
89867         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89868         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89869         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89870         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89871
89872         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89873         prerequisite modules now handle the DOS stuff.
89874         Don't check for unistd.h.
89875
89876 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89877
89878         Merge from coreutils.
89879
89880         * lib/.gdb-history: Remove; this doesn't belong here.
89881
89882         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89883         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89884         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89885         * lib/getcwd.c: New files.
89886
89887         * lib/dirname.h: Include <stdbool.h>.
89888         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89889         for consistency with POSIX terminology.  All uses changed.
89890         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89891         (strip_trailing_slashes): Use bool for booleans.
89892         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89893
89894         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89895         sometimes returns a positive errno value even when it succeeds.
89896         (print_errno_message) [!LIBC]: Fall back on strerror if
89897         __strerror_r fails.
89898
89899         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89900         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89901         (longest_relative_suffix): New function.
89902         (path_concat): Use it.  Assume first argument is not NULL.
89903         Port to DOS.  Omit redundant separators.
89904         Report an error instead of returning NULL.
89905         Use mempcpy instead of memcpy.
89906         (xpath_concat): Remove: not declared or used.
89907
89908         * lib/same.h: Include <stdbool.h>
89909         (same_name): Return bool, not int.
89910         * lib/same.c (same_name): Likewise.
89911         (errno): Don't declare; we assume C89 or better now.
89912
89913         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89914         if not already defined.
89915
89916         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89917         * lib/dup-safer.c (errno): Likewise.
89918
89919 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89920
89921         Merge from coreutils.
89922         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89923         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89924         * modules/path-concat: Don't depend on strdup.
89925
89926 2004-08-03  Simon Josefsson  <jas@extundo.com>
89927
89928         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89929         * lib/progname.h: Don't include stdbool.h.
89930
89931 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89932
89933         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89934         * MODULES.html.sh (func_all_modules): Remove fatal.
89935
89936 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89937
89938         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89939
89940 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89941
89942         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89943         working.
89944
89945 2004-08-02  Simon Josefsson  <jas@extundo.com>
89946
89947         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89948         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89949         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89950
89951 2004-08-01  Simon Josefsson  <jas@extundo.com>
89952
89953         * lib/xgetdomainname.c: Include stdlib.h, for free().
89954
89955 2004-07-19  Bruno Haible  <bruno@clisp.org>
89956
89957         * MODULES.html.sh (func_all_modules): Add dummy.
89958
89959 2004-07-16  Simon Josefsson  <jas@extundo.com>
89960
89961         * modules/dummy: New file.
89962
89963 2004-07-16  Simon Josefsson  <jas@extundo.com>
89964
89965         * lib/dummy.c: New file.
89966
89967 2004-07-16  Bruno Haible  <bruno@clisp.org>
89968
89969         * lib/backupfile.h: Add extern "C" for C++.
89970         * lib/closeout.h: Likewise.
89971         * lib/copy-file.h: Likewise.
89972         * lib/findprog.h: Likewise.
89973         * lib/full-write.h: Likewise.
89974         * lib/pathname.h: Likewise.
89975         * lib/progname.h: Likewise.
89976         * lib/stpcpy.h: Likewise.
89977         * lib/stpncpy.h: Likewise.
89978         * lib/strcase.h: Likewise.
89979         * lib/strstr.h: Likewise.
89980         * lib/xalloc.h: Likewise.
89981
89982         * lib/mbswidth.h: Add extern "C" for C++.
89983         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89984
89985 2004-07-13  Robert Millan  <robertmh@gnu.org>
89986
89987         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89988
89989 2004-07-09  Simon Josefsson  <jas@extundo.com>
89990
89991         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89992         failed without this.)
89993
89994 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89995
89996         * modules/chown (Files): Add lib/fchown-stub.c, since
89997         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89998
89999 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90000
90001         * lib/fchown-stub.c: New file.
90002
90003 2004-06-24  Jim Meyering  <jim@meyering.net>
90004
90005         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90006
90007 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90008
90009         * modules/argz: Omit "#include".
90010
90011         * MODULES.html.sh (func_all_modules): Add calloc, to match
90012         2004-06-01 addition of calloc module.
90013
90014 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90015
90016         * m4/argz.m4: New file, which is autoupdated from libtool.
90017
90018 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90019
90020         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90021         libtool.
90022
90023 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90024
90025         * config/srclist-update: Don't insist on "USA." before the
90026         close-comment, as libtool omits the period and puts the */ on a
90027         separate line.
90028         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90029         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90030
90031 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90032
90033         * modules/argz: New file.
90034         * MODULES.html.sh (func_all_modules): Add argz.
90035
90036 2004-06-12  Jim Meyering  <jim@meyering.net>
90037         and  Paul Eggert  <eggert@cs.ucla.edu>
90038
90039         * modules/hash (Files): Add lib/xalloc.h.
90040         * modules/pipe (Depends-on): Add wait-process.
90041         * modules/stat (Depends-on): Add xalloc.
90042         * modules/userspec (Files): Add lib/userspec.h.
90043         * modules/xstrto
90044
90045         Upgrade from gettext-0.13.
90046         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90047         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90048         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90049
90050 2004-06-10  Jim Meyering  <jim@meyering.net>
90051
90052         * lib/calloc.c: New file.
90053
90054 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90055
90056         * lib/getdate.y (yylex): Allow space between sign and number.
90057         Problem reported by Dan Jacobson.
90058
90059 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90060
90061         Merge from coreutils CVS.
90062
90063         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90064         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90065         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90066         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90067         xstrtol.m4: Fix copyright date and/or serial number.
90068
90069         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90070         See if we need an fchown replacement.
90071         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90072         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90073         and use the replacement function if we detect either defect.
90074
90075         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90076         gl_UTIMECMP.
90077
90078 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90079         and  Jim Meyering  <jim@meyering.net>
90080
90081         Merge from coreutils CVS.
90082
90083         * lib/stat-macros.h: New file, with contents from file-type.h
90084         and coreutils' system.h.
90085         * lib/file-type.c: Include "stat-macros.h".
90086         * lib/file-type.h (file_type): Move all macro definitions to new file,
90087         stat-macros.h.
90088
90089         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90090         Wrap old code with this conditional.
90091         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90092         function that does not dereference symlinks.
90093         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90094
90095         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90096         dependency problems.
90097         (xreadlink): Accept new arg SIZE, for efficiency.
90098         All decls and uses changed.
90099         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90100
90101         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90102         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90103
90104         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90105         sysexits.h.
90106
90107 2004-06-01  Jim Meyering  <jim@meyering.net>
90108
90109         * m4/calloc.m4: New file.
90110
90111 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90112
90113         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90114         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90115         Also, fix a typo in a diagnostic.
90116
90117 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90118
90119         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90120         or AC_FUNC_REALLOC.
90121
90122 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90123
90124         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90125         macros to be defined.
90126         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90127         the allocator returns NULL because the requested size is zero.
90128
90129 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90130
90131         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90132         var.  Add comment explaining why libc still defines it.  This
90133         merges the following patch from glibc:
90134         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90135
90136 2004-05-20  Andreas Schwab  <schwab@suse.de>
90137
90138         * m4/free.m4: Replace free if it not known to work, not the other
90139         way round.
90140
90141 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90142
90143         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90144         present in glibc since revision 1.1 of this file.
90145         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90146         obstack_alignment_mask, obstack_alloc, obstack_base,
90147         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90148         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90149         obstack_grow0, obstack_init, obstack_int_grow,
90150         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90151         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90152         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90153         nonexistent functions.
90154
90155 2004-05-18  Karl Berry  <karl@gnu.org>
90156
90157         * config/srclist.txt: break link for vasnprintf.c.
90158
90159 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90160
90161         Port obstack to the AS/400, where pointers are 16 bytes wide and
90162         you cannot cast an integer to a valid pointer.  This patch is
90163         currently waiting to be integrated into glibc; see
90164         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90165
90166         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90167         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90168         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90169         (struct obstack): temp member is now a union of a pointer and
90170         an integer, instead of an integer.  All integer uses changed.
90171         This does not affect the physical layout of struct obstack,
90172         except on hosts (like the AS/400) where the size or alignment of
90173         void * is greater than that of ptrdiff_t.
90174         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90175         __STDC__)]: Store temporary in pointer member of union, not
90176         integer member.
90177         * lib/obstack.c: Include <stddef.h>, for offsetof.
90178         (struct fooalign): Remove; it doesn't need a name.
90179         (union fooround): Change double to long double, and add void *.
90180         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90181         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90182         not a macro.  Hence the values are always int; so remove all
90183         casts-to-int in uses.
90184
90185 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90186
90187         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90188         we can get this patch merged into glibc.
90189
90190 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90191             Paul Eggert  <eggert@cs.ucla.edu>
90192
90193         * m4/argp: Depend on alloca.
90194
90195 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90196             Paul Eggert  <eggert@cs.ucla.edu>
90197
90198         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90199         freecoding.
90200
90201 2004-05-17  Bruno Haible  <bruno@clisp.org>
90202
90203         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90204         precision that consists of a '.' followed by an empty digit string.
90205         Patch by Tor Lillqvist <tml@iki.fi>.
90206
90207 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90208
90209         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90210         for backward compatibility with older code.  We need our own
90211         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90212         it under some other name, and our alloca.h will define it.
90213
90214 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90215             Derek Price  <derek@ximbiot.com>
90216
90217         * lib/alloca.c: Include <alloca.h>, to get our interface.
90218         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90219         include <alloca.h> first.  Use C89 prototype for alloca; this
90220         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90221         Use #elif for simplicity, since we can assume C89 now.
90222         Don't try to source the system alloca.h since it will not be found
90223         and to prevent recursively including its replacement.
90224         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90225         * lib/regex.c: Likewise.
90226
90227 2004-05-16  Derek Price  <derek@ximbiot.com>
90228             Paul Eggert  <eggert@cs.ucla.edu>
90229
90230         getline cleanup.  This changes the getndelim2 API: both order of
90231         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90232         no delimiter).
90233
90234         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90235         interface does that.
90236         (getline): Always use getdelim, so that we don't have two
90237         copies of this code.
90238         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90239         if available.
90240         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90241         (GETNDELIM2_MAXIMUM): New macro.
90242         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90243         instead of the old practice of delim2==0.  All callers changed.
90244         Return -1 on overflow, instead of returning junk.
90245         Do not set *linesize unless allocation succeeds.
90246         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90247         that we include sys/types.h.
90248         * lib/getnline.h: Likewise.
90249         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90250         (getndelim2): Reorder arguments.
90251         * lib/getnline.c (getnline, getndelim):
90252         Don't discard the NMAX argument.
90253         (getnline): Invoke getndelim, to avoid code duplication.
90254         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90255         of (size_t) -1 by callers of the getnline family.
90256
90257 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90258
90259         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90260         Check for gettimeofday.
90261         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90262         Check for settimeofday, stime.
90263
90264 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90265
90266         * lib/nanosleep.c (suspended): Change its type from int to
90267         sig_atomic_t volatile.
90268         (first_call): Make it private to rpl_nanosleep, and have it
90269         be zero initially as that's a bit faster.
90270         (my_usleep): Round up fractional times instead of truncating them,
90271         as this is the usual meaning for 'sleep'.
90272
90273         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90274         doesn't work.
90275         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90276         (ENOSYS): Define if not defined.
90277         (settime): Fall back on stime if it exists and settimeofday fails.
90278         But don't bother with fallbacks if a method fails with errno == EPERM.
90279
90280 2004-05-11  Jim Meyering  <jim@meyering.net>
90281
90282         Prior to this change, the save_cwd caller required read access to the
90283         current directory on most systems (ones with the fchdir function).
90284
90285         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90286         fails, try write-only, and finally, resort to using xgetcwd.
90287
90288 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90289
90290         * lib/obstack.c, obstack.h: Import changes from libc.
90291
90292 2004-04-28  Bruno Haible  <bruno@clisp.org>
90293
90294         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90295         also implicitly appends .exe to executables.
90296         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90297         accepts Windows pathnames.
90298         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90299         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90300         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90301         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90302         Reported by Derek Robert Price <derek@ximbiot.com>.
90303
90304 2004-04-21  Karl Berry  <karl@gnu.org>
90305
90306         * config/srclist.txt (localcharset.c): break sync.
90307
90308 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90309
90310         * m4/host-os.m4: Add a copyright notice.
90311
90312 2004-04-20  Jim Meyering  <jim@meyering.net>
90313
90314         Change UTILS_ to gl_ in AC_DEFINE'd names.
90315         Change utils_- and jm_-prefixed variables, too.
90316         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90317         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90318         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90319
90320         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90321         Don't emit trailing blanks.
90322         Also rename jm_-prefixed variables to have gl_ prefix.
90323
90324         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90325         Also rename jm_-prefixed variables to have gl_ prefix.
90326
90327         * m4/jm-macros.m4: Reflect the renamings.
90328         * m4/prereq.m4: Likewise.
90329
90330 2004-04-20  Jim Meyering  <jim@meyering.net>
90331
90332         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90333         memory.
90334
90335 2004-04-20  Jim Meyering  <jim@meyering.net>
90336             Bruno Haible  <bruno@clisp.org>
90337
90338         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90339         memory when realloc fails.
90340
90341 2004-04-19  Jim Meyering  <jim@meyering.net>
90342
90343         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90344         now that readutmp.c may call `free (0)'.
90345
90346 2004-04-19  Bruno Haible  <bruno@clisp.org>
90347
90348         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90349         * m4/inttypes_h.m4: Likewise.
90350         * m4/stdint_h.m4: Likewise.
90351         * m4/intmax_t.m4: Likewise.
90352         * m4/uintmax_t.m4: Likewise.
90353
90354 2004-04-18  Jim Meyering  <jim@meyering.net>
90355
90356         * m4/prereq.m4: Don't forbid jm_ prefix.
90357
90358         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90359         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90360         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90361         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90362         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90363         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90364         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90365         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90366         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90367         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90368         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90369         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90370         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90371         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90372         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90373         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90374         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90375         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90376         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90377
90378 2004-04-18  Jim Meyering  <jim@meyering.net>
90379
90380         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90381         failure, don't leak memory and do call END_UTMP_ENT.
90382
90383 2004-04-16  Jim Meyering  <jim@meyering.net>
90384
90385         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90386         coreutils' stat program.
90387         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90388
90389 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90390
90391         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90392         C89.
90393         (CHAR_BIT): Remove, since we assume C89.
90394         Include <stdint.h> if available, as per current Autoconf CVS advice.
90395
90396 2004-03-31  Jim Meyering  <jim@meyering.net>
90397
90398         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90399         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90400         * m4/xalloc.m4: Likewise.
90401
90402 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90403
90404         Merge from coreutils.
90405
90406         * m4/inttostr.m4: New file.
90407         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90408         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90409         Require gl_CLOCK_TIME.
90410         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90411
90412 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90413
90414         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90415         not bool, to be more consistent with Unix conventions.
90416         Suggested by Bruno Haible.
90417
90418         Merge from coreutils.
90419
90420         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90421         * lib/umaxtostr.c: New files.
90422
90423         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90424         the usual <time.h> dance.
90425         (get_date): Change signature to support fractional time stamps.
90426         All callers changed.
90427         * lib/getdate.y: Include "getdate.h" first, as we can now
90428         assume C89 and don't need to worry about 'const'.
90429         Similarly, include "unlocked-io.h" near start, not in middle.
90430         Include <limits.h>.
90431         (textint.value): Use long int rather than int.
90432         (textint.digits): Use size_t rather than int.
90433         (BILLION, LOG10_BILLION): New constants.
90434         (parser_control): New member rel_ns.  Members day_ordinal,
90435         time_zone, month, day, hour, minutes, rel_year, rel_month,
90436         rel_day, rel_hour, rel_minutes, rel_seconds
90437         are now long int, not int.  Member seconds is now struct timespec,
90438         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90439         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90440         not int.
90441         (%union.intval): Now long int, not int.
90442         New member timespec.
90443         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90444         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90445         (spec): Now is a timespec or an item list.
90446         (timespec, items): New nonterminals.
90447         (time, rel, relunit, number, get_date):
90448         Add support for fractional seconds.
90449         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90450         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90451         (to_hour): First arg is now long int, not int.
90452         (to_year): Returns long int, not int.
90453         Don't treat year -70 like 70.
90454         (tm_diff): Returns long int, not int.
90455         (lookup_word): Use bool instead of int when appropriate.
90456         (yylex): Use size_t for count, not int.
90457         Detect overflow when parsing large integer constants.
90458         Add support for fractions.
90459         (get_date): Make pointers 'const' if possible.
90460         Use more-portable code to detect integer overflow.
90461         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90462         Don't use ctime; it's not reliable if the year has >4 digits.
90463
90464         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90465         This is for compatibility with BSD.
90466
90467         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90468         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90469         From coreutils' system.h.
90470
90471         * lib/userspec.c: Don't include "posixver.h".
90472         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90473         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90474         compatible extension.  Simplify code by removing a boolean int
90475         that was always nonzero if a string was nonnull.
90476
90477 2004-03-30  Jim Meyering  <jim@meyering.net>
90478
90479         Merge from coreutils.
90480
90481         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90482         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90483         on some systems one must include <grp.h> before it.
90484         Reported by Christian Krackowizer.
90485
90486 2004-03-30  Jim Meyering  <jim@meyering.net>
90487
90488         Merge from coreutils.
90489
90490         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90491
90492         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90493         an empty input stream.
90494
90495         * lib/readtokens.c: Include <stdbool.h>.
90496         (readtoken): Use `size_t' rather than int/long.
90497         All callers adjusted.
90498         Use `bool' rather than `int' where appropriate.
90499         Use memset rather than an explicit loop.
90500         Use x2nrealloc rather than xrealloc.
90501         Allow the use of `\0' as a delimiter.
90502         (readtokens): Likewise.
90503         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90504
90505 2004-03-30  Jim Meyering  <jim@meyering.net>
90506
90507         * m4/realloc.m4: Remove file, since now it does no more than
90508         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90509         the `configure.ac' section of module/realloc.
90510         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90511
90512 2004-03-30  Bruno Haible  <bruno@clisp.org>
90513
90514         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90515         nonnull.
90516
90517 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90518
90519         Merge changes to getloadavg.c from coreutils and Emacs.
90520
90521         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90522         Define to an expression, not to the empty string.
90523         Include cloexec.h and xalloc.h.
90524         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90525         Use set_cloexec_flag rather than rolling our own.
90526         * lib/cloexec.c, lib/cloexec.h: New files.
90527
90528 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90529
90530         * m4/cloexec.m4: New file.
90531
90532 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90533
90534         * lib/getopt.h: Sync with libc CVS.
90535
90536 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90537             Bruno Haible  <bruno@clisp.org>
90538
90539         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90540         mbswidth.
90541
90542 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90543             Bruno Haible  <bruno@clisp.org>
90544
90545         * lib/mbswidth.h: Include <wchar.h> only if
90546         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90547         <wchar.h>.
90548         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90549
90550 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90551
90552         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90553         Sync with libc CVS.
90554         * lib/getopt_int.h: New file, also synced from libc.
90555
90556 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90557
90558         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90559         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90560         Bring back getopt.c, getopt.h, getopt1.c.
90561
90562 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90563
90564         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90565         All uses changed.  Check for sa_sigaction member; this fixes
90566         a bug first reported by Jason Andrade in
90567         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90568
90569 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90570
90571         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90572         '#if' expressions.  Unlike the code it replaces, it does not
90573         depend on (defined _SC_PAGESIZE).  However, it does depend on
90574         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90575         first reported by Jason Andrade in
90576         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90577
90578 2004-02-25  Simon Josefsson  <jas@extundo.com>
90579
90580         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90581
90582 2004-02-25  Simon Josefsson  <jas@extundo.com>
90583
90584         * lib/strdup.h: New file.
90585         * lib/strdup.c: Include it.
90586         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90587         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90588
90589 2004-02-23  Karl Berry  <karl@gnu.org>
90590
90591         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90592         (from fencepost.gnu.org:/gd/gnuorg).
90593
90594 2004-02-23  Karl Berry  <karl@gnu.org>
90595
90596         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90597         * config/srclist.txt: add maintain/standards documents.
90598
90599 2004-02-18  Bruno Haible  <bruno@clisp.org>
90600
90601         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90602         Reported by Derek Robert Price <derek@ximbiot.com>.
90603
90604 2004-02-16  Karl Berry  <karl@gnu.org>
90605
90606         * config/mkinstalldirs, install-sh: update from automake.
90607
90608 2004-02-06  Karl Berry  <karl@gnu.org>
90609
90610         * m4/po.m4: update from gettext 0.14.1.
90611
90612 2004-02-06  Karl Berry  <karl@gnu.org>
90613
90614         * lib/config.charset: update from gettext 0.14.1.
90615
90616 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90617
90618         Add comments and code, prompted by suggestions from Bruno Haible
90619         for sh-quote.
90620         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90621         describing the enum quoting_style values.
90622         * lib/quotearg.c (quotearg_alloc): New function.
90623         (quotearg_buffer_restyled): Treat lone { and } as special.
90624         Treat = as special.  Work around bug with older shells
90625         that "see" a '\' that is really the 2nd byte of a multibyte char.
90626         Quote empty string with shell_quoting_style.
90627
90628 2004-02-03  Bruno Haible  <bruno@clisp.org>
90629
90630         * m4/pipe.m4: New file, from GNU gettext.
90631
90632 2004-02-03  Bruno Haible  <bruno@clisp.org>
90633
90634         * lib/pipe.h: New file, from GNU gettext.
90635         * lib/pipe.c: New file, from GNU gettext.
90636
90637 2004-01-27  Bruno Haible  <bruno@clisp.org>
90638
90639         * m4/execute.m4: New file, from GNU gettext.
90640
90641 2004-01-27  Bruno Haible  <bruno@clisp.org>
90642
90643         * lib/execute.h: New file, from GNU gettext.
90644         * lib/execute.c: New file, from GNU gettext.
90645         * lib/w32spawn.h: New file, from GNU gettext.
90646
90647 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90648
90649         Merge from diffutils.
90650
90651         * lib/file-type.c (file_type): Add typed memory objects.
90652         * lib/file-type.h (S_TYPEISTMO): New macro.
90653
90654         * lib/c-stack.h (c_stack_action): Remove argv argument.
90655         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90656         (die): Don't calculate message unless segv_action returns.
90657         (get_stack_location, min_address_from_argv, max_address_from_argv,
90658         volatile stack_base, volatile_stack_size): Remove.
90659         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90660         that every segmentation violation is a stack overflow.  (Ouch!)
90661         See Debian bug 136249 (still outstanding) for more info about why
90662         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90663
90664 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90665
90666         Exit-status fix from coreutils.
90667
90668         Use exit_failure consistently in place of EXIT_FAILURE,
90669         so that program exit statuses are consistent on failure.
90670
90671         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90672         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90673         * lib/argmatch.h: Comment fix to match the above.
90674         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90675         Now a macro referring to exit_failure, instead of a separate
90676         variable.  Include "exitfail.h" to get it.
90677         * lib/xstrtol.h: Include "exitfail.h".
90678         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90679
90680         * lib/long-options.c (parse_long_options): Use prototype
90681         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90682         for clarity.
90683
90684 2004-01-21  Jim Meyering  <jim@meyering.net>
90685
90686         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90687         so as not to conflict with a different-sized __mktime_internal
90688         function in GNU libc.
90689         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90690         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90691
90692 2004-01-20  Karl Berry  <karl@gnu.org>
90693
90694         * config/config.guess: update from config.
90695
90696         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90697
90698 2004-01-20  Bruno Haible  <bruno@clisp.org>
90699
90700         Safer stack allocation.
90701         * lib/setenv.c: Include allocsa.h.
90702         (alloca): Remove fallback definition.
90703         (freea): Remove macro.
90704         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90705         instead of freea.
90706
90707 2004-01-20  Bruno Haible  <bruno@clisp.org>
90708
90709         * m4/eealloc.m4: New file, from GNU gettext.
90710
90711 2004-01-20  Bruno Haible  <bruno@clisp.org>
90712
90713         * m4/allocsa.m4: New file, from GNU gettext.
90714
90715 2004-01-20  Bruno Haible  <bruno@clisp.org>
90716
90717         * lib/xallocsa.h: New file, from GNU gettext.
90718         * lib/xallocsa.c: New file, from GNU gettext.
90719
90720 2004-01-20  Bruno Haible  <bruno@clisp.org>
90721
90722         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90723
90724 2004-01-20  Bruno Haible  <bruno@clisp.org>
90725
90726         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90727         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90728         specially.
90729
90730 2004-01-20  Bruno Haible  <bruno@clisp.org>
90731
90732         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90733         patch.
90734
90735 2004-01-20  Bruno Haible  <bruno@clisp.org>
90736
90737         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90738
90739 2004-01-20  Bruno Haible  <bruno@clisp.org>
90740
90741         * lib/eealloc.h: New file.
90742
90743 2004-01-20  Bruno Haible  <bruno@clisp.org>
90744
90745         * lib/binary-io.h: Avoid warnings on Cygwin.
90746
90747 2004-01-20  Bruno Haible  <bruno@clisp.org>
90748
90749         * lib/allocsa.h: New file, from GNU gettext.
90750         * lib/allocsa.c: New file, from GNU gettext.
90751
90752 2004-01-18  Karl Berry  <karl@gnu.org>
90753
90754         * doc/gpl.texi, doc/lgpl.texi: new files.
90755
90756 2004-01-18  Karl Berry  <karl@gnu.org>
90757
90758         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90759         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90760
90761 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90762
90763         Merge from coreutils.
90764
90765         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90766         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90767         (gl_DEFAULT_POSIX2_VERSION): Move
90768         the documentation from 'configure' into 'config.hin',
90769         so that 'configure --help' isn't burdened by it and
90770         we don't have to worry about its formatting there.
90771         Reword the documentation so that it's more succinct
90772         and can be run together into a single paragraph.
90773         * m4/same.m4 (gl_SAME): Check for pathconf.
90774
90775 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90776
90777         Merge from coreutils.
90778
90779         * lib/posixver.c: Include posixver.h.
90780
90781         * lib/same.c: Include <stdbool.h>, <limits.h>.
90782         (_POSIX_NAME_MAX): Define if not defined.
90783         (MIN): New macro.
90784         (same_name): If file names are silently truncated, report
90785         that the file names are the same if they are the same after
90786         the silent truncation.
90787
90788         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90789         conversion function.
90790         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90791         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90792         longer needed.
90793
90794 2004-01-15  Jim Meyering  <jim@meyering.net>
90795
90796         Merge from coreutils.
90797
90798         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90799         if no library is required.
90800         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90801         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90802         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90803         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90804         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90805         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90806         value, $ac_cv_search_crypt, if it's "none required".
90807         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90808         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90809         not gl_FUNC_GETLOADAVG.
90810         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90811         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90812
90813 2004-01-15  Jim Meyering  <jim@meyering.net>
90814
90815         Merge from coreutils.
90816
90817         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90818         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90819         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90820
90821         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90822         optional configure-time default.
90823
90824         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90825
90826         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90827
90828 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90829
90830         Merge from coreutils.
90831
90832         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90833         value, $ac_cv_search_nanosleep, if it's "none required".
90834
90835 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90836
90837         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90838         with like-named macro in fnmatch.c.
90839         (EXT): Use an internal constant instead.
90840
90841         Merge fnmatch patches from glibc.
90842         * lib/fnmatch.c (mbsinit): Remove define.
90843         Add libc_hidden_ver (__fnmatch, fnmatch).
90844         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90845         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90846
90847 2004-01-14  Karl Berry  <karl@gnu.org>
90848
90849         * config/install-sh: update from automake.
90850
90851 2004-01-13  Karl Berry  <karl@gnu.org>
90852
90853         * config/install-sh: update from automake.
90854
90855 2004-01-09  Karl Berry  <karl@gnu.org>
90856
90857         * config/install-sh: update from automake.
90858
90859 2004-01-05  Karl Berry  <karl@gnu.org>
90860
90861         * config/config.{sub,guess}: update from config.
90862
90863 2003-12-31  Karl Berry  <karl@gnu.org>
90864
90865         * config/depcomp: update from automake.
90866
90867 2003-12-14  Karl Berry  <karl@gnu.org>
90868
90869         * lib/config.charset: update from gettext-runtime.
90870
90871 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90872
90873         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90874         Bug reported by Alfred M. Szmidt.
90875
90876 2003-12-03  Bruno Haible  <bruno@clisp.org>
90877
90878         * m4/gettext.m4: Upgrade from gettext-0.13.
90879         * m4/po.m4: Upgrade from gettext-0.13.
90880         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90881         * m4/intmax.m4: New file, from gettext-0.13.
90882         * m4/printf-posix.m4: New file, from gettext-0.13.
90883
90884 2003-11-29  Karl Berry  <karl@gnu.org>
90885
90886         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90887
90888 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90889             Bruno Haible  <bruno@clisp.org>
90890
90891         * lib/printf-parse.h: Don't include sys/types.h.
90892         (ARG_NONE): New macro.
90893         (char_directive): Change type of *arg_index fields to size_t.
90894         * lib/printf-parse.c: Don't include sys/types.h.
90895         (SSIZE_MAX): Remove macro.
90896         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90897         Remove unnecessary overflow check.
90898         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90899         fields.
90900
90901 2003-11-25  Bruno Haible  <bruno@clisp.org>
90902
90903         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90904
90905 2003-11-25  Bruno Haible  <bruno@clisp.org>
90906
90907         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90908         gt_TYPE_SSIZE_T.
90909
90910 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90911
90912         * modules/alloca: Remove dependency on xalloc.
90913
90914 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90915
90916         * lib/alloca.c: Remove dependency on xalloc module.
90917         (xalloc_die): Remove.
90918         (memory_full) [!defined emacs]: New macro.
90919         [!defined emacs]: Don't include xalloc.h.
90920         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90921         address arithmetic overflows.  Change datatypes a bit to avoid
90922         unnecessary casts.
90923
90924 2003-11-22  Jim Meyering  <jim@meyering.net>
90925
90926         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90927         s/size/size_t/.
90928
90929 2003-11-21  Karl Berry  <karl@gnu.org>
90930
90931         * config/config.{sub,guess}: update from config.
90932
90933 2003-11-18  Karl Berry  <karl@gnu.org>
90934
90935         * config/config.{sub,guess}: update from config.
90936
90937         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90938
90939 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90940
90941         * README: Mention that S+T cannot overflow if S is the size of
90942         an existing object and T is sufficiently small.
90943
90944 2003-11-17  Jim Meyering  <jim@meyering.net>
90945
90946         On systems without utime and without a utimes function capable of
90947         dealing with a NULL struct utimbuf* argument, this utime replacement
90948         could -- in unusual circumstances -- leak a file descriptor.
90949         * lib/utime.c: Include <unistd.h> and <errno.h>.
90950         (utime_null): Be sure to close `fd' and to preserve errno.
90951         Reported by Geoff Collyer via Arnold Robbins.
90952
90953 2003-11-17  Bruno Haible  <bruno@clisp.org>
90954
90955         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90956         (Depends-on): Add xsize.
90957
90958 2003-11-17  Bruno Haible  <bruno@clisp.org>
90959
90960         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90961
90962 2003-11-17  Bruno Haible  <bruno@clisp.org>
90963
90964         * lib/vasnprintf.c (alloca): Remove fallback definition.
90965         (freea): Remove definition.
90966         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90967         Reported by Paul Eggert.
90968
90969 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90970             Bruno Haible  <bruno@clisp.org>
90971
90972         Protect against address arithmetic overflow.
90973         * lib/printf-args.h: Include stddef.h.
90974         (arguments): Change type of field 'count' to size_t.
90975         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90976         'unsigned int' where appropriate.
90977         * lib/printf-parse.h: Include sys/types.h.
90978         (char_directive): Change type of *arg_index fields to ssize_t.
90979         (char_directives): Change type of fields 'count', max_*_length to
90980         size_t.
90981         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90982         (SSIZE_MAX): Define fallback value.
90983         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90984         instead of 'int' where appropriate. Check a_allocated, d_allocated
90985         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90986         * lib/vasnprintf.c: Include xsize.h.
90987         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90988         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90989         overflow. Avoid wraparound when converting a width or precision from
90990         decimal to binary.
90991
90992 2003-11-16  Bruno Haible  <bruno@clisp.org>
90993
90994         Update from GNU gettext.
90995         * lib/printf-parse.c: Generalize to it can be compiled for wide
90996         strings.
90997         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90998         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90999         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91000         SNPRINTF): New macros.
91001         Don't include <alloca.h> if the file is used inside libintl.
91002         (local_wcslen): New function, for Solaris 2.5.1.
91003         (VASNPRINTF): Use it instead of wcslen.
91004
91005 2003-11-16  Bruno Haible  <bruno@clisp.org>
91006
91007         * lib/xsize.h (xmax): New function.
91008         (xsum, xsum3, xsum4): Declare as "pure" functions.
91009
91010 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91011
91012         * modules/xalloc (Files): Undo latest change, since xalloc.h
91013         no longer needs SIZE_MAX or PTRDIFF_MAX.
91014
91015 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91016
91017         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91018         gl_PTRDIFF_MAX.
91019
91020 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91021
91022         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91023         "return", to pacify some unknown compiler.  Problem reported
91024         by Joerg Schilling.
91025
91026 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91027
91028         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91029         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91030         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91031         heuristic is just as accurate as far as we know, and it removes a
91032         dependency on size_max.m4 and ptrdiff_max.m4.
91033
91034 2003-11-11  Bruno Haible  <bruno@clisp.org>
91035
91036         * modules/xsize (Files): Add m4/size_max.m4.
91037         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91038
91039 2003-11-11  Bruno Haible  <bruno@clisp.org>
91040
91041         * m4/size_max.m4: New file.
91042         * m4/ptrdiff_max.m4: New file.
91043         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91044         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91045         (gl_XALLOC): Invoke it.
91046
91047 2003-11-11  Bruno Haible  <bruno@clisp.org>
91048
91049         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91050         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91051         defined.
91052
91053 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91054
91055         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91056         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91057         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91058         From Bruno Haible.
91059         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91060         not (size_t) -1, since it's defined here.
91061
91062 2003-11-09  Karl Berry  <karl@gnu.org>
91063
91064         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91065
91066 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91067
91068         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91069         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91070         Reject sizes of exactly SIZE_MAX bytes.
91071         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91072         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91073
91074 2003-11-05  Bruno Haible  <bruno@clisp.org>
91075
91076         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91077         SIZE_MAX defined in <limits.h> on Solaris.
91078
91079 2003-11-04  Jim Meyering  <jim@meyering.net>
91080
91081         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
91082         variable names, rather than @VAR@.
91083         * modules/poll: Likewise.
91084
91085 2003-11-04  Bruno Haible  <bruno@clisp.org>
91086
91087         * modules/xsize: New file.
91088         * modules/linebreak: Depend on xsize.
91089         * MODULES.html.sh (func_all_modules): Add xsize.
91090
91091 2003-11-04  Bruno Haible  <bruno@clisp.org>
91092
91093         * m4/xsize.m4: New file.
91094
91095 2003-11-04  Bruno Haible  <bruno@clisp.org>
91096
91097         * lib/xsize.h: New file.
91098         * lib/linebreak.c: Include xsize.h.
91099         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91100         argument for overflow.
91101         Suggested by Paul Eggert.
91102
91103 2003-11-03  Karl Berry  <karl@gnu.org>
91104
91105         * config/config.{guess,sub}: update from config.
91106
91107 2003-11-03  Jim Meyering  <jim@meyering.net>
91108
91109         * modules/userspec (lib_SOURCES): Add userspec.h.
91110         (Include): Add "userspec.h".
91111         Improve description.
91112
91113 2003-11-03  Jim Meyering  <jim@meyering.net>
91114
91115         * lib/userspec.c: Include "userspec.h".
91116         * lib/userspec.h: New file.
91117
91118 2003-11-03  Bruno Haible  <bruno@clisp.org>
91119
91120         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91121
91122 2003-11-03  Bruno Haible  <bruno@clisp.org>
91123
91124         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91125         available, to avoid (extremely rare) race condition.
91126         Suggested by Paul Eggert.
91127
91128 2003-11-02  Karl Berry  <karl@gnu.org>
91129
91130         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91131
91132 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91133
91134         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91135         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91136         (read_filesystem_list): Set and use me_type_malloced.
91137         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91138         whatever the type happens to be), for brevity and consistency.
91139         Check for size calculation overflow on Alphas running OSF/1.
91140
91141 2003-10-31  Jim Meyering  <jim@meyering.net>
91142
91143         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91144
91145         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91146
91147 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91148             Bruno Haible  <bruno@clisp.org>
91149
91150         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91151         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91152
91153 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91154
91155         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91156         netbsd*-gnu*.  Suggested by Robert Millan.
91157
91158 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91159
91160         * modules/group-member: Depend on stdbool.
91161
91162 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91163
91164         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91165
91166 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91167
91168         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91169         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91170         after the 'gnu' in these cases.  This fixes some bugs in the
91171         previous change, and is based on suggestions by Robert Millan.
91172
91173 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91174
91175         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91176         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91177         no longer needed.
91178         * lib/quotearg.c (quotearg_n_options): Use it.
91179         * lib/group-member.c: Include <stdbool.h>.
91180         (free_group_info): Arg is now const *; don't free arg.
91181         (get_group_info): Now returns bool and accepts struct group_info *,
91182         rather than returning a malloc'ed struct group_info *.
91183         All uses changed.  Check for overflow in internal size calculation.
91184
91185         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91186         rather than xmalloc/xrealloc.
91187         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91188         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91189         conformance bug: the old code used a pointer after freeing the
91190         storage that it addressed.
91191         * lib/hash.c (hash_initialize): Simplify the code by using
91192         xalloc_oversized rather than doing it by hand.
91193         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91194         the buffer preserved.  Use free and xmalloc instead.
91195         * lib/quotearg.c (quotearg_n_options): Likewise.
91196         Use a simpler test for size overflow.  Don't use xalloc_oversized
91197         because unsigned int might be wider than size_t (!); this suggests
91198         that we should switch from unsigned int to size_t for slot numbers.
91199
91200 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91201
91202         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91203         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91204         NetBSD kernels.  Requested by Richard Stallman.
91205
91206 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91207
91208         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91209         to allocate the returned structure.  Do not allocate a subarray,
91210         as x2nrealloc will do that.
91211         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91212         instead of xnrealloc.
91213         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91214
91215 2003-10-27  Bruno Haible  <bruno@clisp.org>
91216
91217         * lib/stdbool_.h: Better support for BeOS.
91218
91219 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91220
91221         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91222         now uses inline.
91223
91224 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91225
91226         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91227         callers that want to do their own size-overflow checking.  Include
91228         <stdbool.h>, since xalloc_oversized returns bool.
91229         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91230         to use xalloc_oversized.
91231
91232         Add two functions x2realloc, x2nrealloc, for programs that grow
91233         arrays dynamically by doubling their sizes.
91234         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91235         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91236         New functions.
91237
91238         Port to C99 semantics for 'inline' of external functions.
91239         Bug reported by Bruno Haible.
91240         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91241         with the old contents of xnmalloc.
91242         (xnmalloc, xmalloc): Use it.
91243         (xnrealloc_inline): New static inline function,
91244         with the old contents of xnrealloc.
91245         (xnrealloc, xrealloc): Use it.
91246
91247         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91248         that.
91249
91250 2003-10-26  Karl Berry  <karl@gnu.org>
91251
91252         * config/srclist.txt (COPYING.DOC): no longer available from
91253         /gd/gnuorg; don't know where the ultimate source is.
91254
91255 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91256
91257         Fix several address-calculation bugs in the hash modules,
91258         plus some minor code cleanup.
91259
91260         * lib/hash.h: Include <stdbool.h>, for bool.
91261         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91262         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91263         hash_get_n_entries, hash_get_max_bucket_length,
91264         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91265         hash_rehash): Use size_t rather than unsigned.
91266         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91267         hash_get_n_buckets_used, hash_get_n_entries,
91268         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91269         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91270         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91271         Likewise.
91272         (SIZE_MAX): Define if not defined.
91273         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91274         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91275         hash_print):
91276         Use const * when possible.
91277         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91278         (check_tuning): Fix bug: if tuning parameters were very close to
91279         0 or 1, rounding errors could have caused subscript violations.
91280         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91281         (hash_initialize): Add 'fail:' label
91282         to free table and return NULL, and use it to simplify code.
91283         Use calloc rather than clearing the storage ourself.
91284         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91285         buffer size calculations.
91286         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91287         Include <stddef.h>, for size_t.
91288         * lib/hash-pjw.c (hash_pjw): Likewise.
91289         Switch to method described by Bruno Haible.
91290         Include <limits.h>, for CHAR_BIT.
91291         (SIZE_BITS): New macro.
91292
91293 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91294
91295         * m4/getline.m4 (AM_FUNC_GETLINE):
91296         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91297         hosts.  Problem reported by Derek Robert Price in
91298         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91299         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91300         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91301
91302 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91303
91304         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91305         ceiling the allocation at NMAX bytes rather than silently
91306         discarding input bytes before NMAX is reached.  This makes
91307         a difference only if NMAX exceeds SIZE_MAX / 2.
91308
91309         * lib/obstack.c: Merge from glibc.
91310         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91311         Add libc_hidden_def (_obstack_newchunk).
91312         (_obstack_free) [! defined _LIBC]: Remove.
91313         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91314         a clone of the function body.
91315         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91316         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91317
91318         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91319         glibc.
91320         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91321         arg to memcpy.
91322
91323         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91324         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91325         Don't use lvalue casts, as GCC plans to remove support for them
91326         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91327         was also present in the non-GCC version, indicating that this
91328         code had always been buggy and had never been widely used.
91329         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91330         Use the fast variant of each macro, rather than copying the
91331         definiens of the fast variant; that way, we'll be more likely to
91332         catch future bugs in the fast variants.
91333
91334 2003-10-20  Bruno Haible  <bruno@clisp.org>
91335
91336         * modules/wait-process: New file.
91337         * MODULES.html.sh (func_all_modules): Add wait-process.
91338
91339 2003-10-20  Bruno Haible  <bruno@clisp.org>
91340
91341         * m4/wait-process.m4: New file.
91342
91343 2003-10-20  Bruno Haible  <bruno@clisp.org>
91344
91345         * lib/wait-process.h: New file, from GNU gettext.
91346         * lib/wait-process.c: New file, from GNU gettext.
91347
91348 2003-10-19  Jim Meyering  <jim@meyering.net>
91349
91350         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91351         HPUX 10.20.
91352
91353 2003-10-18  Karl Berry  <karl@gnu.org>
91354
91355         * config/config.guess: update from config.
91356
91357 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91358
91359         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91360         (getgroups): First arg is int, not size_t.
91361         Don't let 'free' mangle errno.
91362
91363 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91364
91365         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91366
91367 2003-10-16  Karl Berry  <karl@gnu.org>
91368
91369         * config/config.{guess,sub}: update from config.
91370
91371 2003-10-16  Jim Meyering  <jim@meyering.net>
91372
91373         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91374         memcpy.
91375
91376 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91377
91378         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91379         (SIZE_MAX): Remove.
91380         (new_exclude, add_exclude_file): Initial size no longer needs to
91381         be a power of 2.
91382         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91383         our own address arithmetic overflow checking.
91384
91385         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91386         (fnmatch): Do not alloca more than 2000 wide characters;
91387         instead, use malloc for large buffers.
91388         Check for address arithmetic overflow, and return -1
91389         with errno set to ENOMEM in that case.
91390         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91391         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91392         instead, return -1.  Check for address arithmetic overflow.
91393
91394 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91395
91396         Handle invalid suffixes and overflow independently, so that
91397         callers can treat them independently as needed.  Fix some bugs in
91398         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91399         suffix for a human-readable blocksize.  The major caller-visible
91400         change is the addition of a new
91401         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91402         that both overflow and suffix chars were found.
91403
91404         * lib/human.c (humblock): Don't check separately for invalid suffix
91405         char; that is xstrtoumax's job (now that its bug is fixed).
91406         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91407         INTMAX_MAX]: New macros.
91408         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91409         TYPE_MAXIMUM): New macros.
91410         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91411         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91412         if overflow occurs, as it's what __strtol does and it's more useful
91413         in practice.
91414         (__xstrtol): If __strtol reports some error other than ERANGE,
91415         reflect it to the caller as LONGINT_INVALID.  If it reports
91416         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91417         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91418         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91419         value.
91420         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91421         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91422         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91423         [defined UINTMAX_MAX]: New macros.
91424
91425 2003-10-14  Bruno Haible  <bruno@clisp.org>
91426
91427         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91428
91429 2003-10-14  Bruno Haible  <bruno@clisp.org>
91430
91431         * m4/sig_atomic_t: New file, from GNU gettext.
91432         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91433
91434 2003-10-14  Bruno Haible  <bruno@clisp.org>
91435
91436         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91437         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91438         Also use volatile where needed.
91439
91440 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91441
91442         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91443         Change maintainer from Bruno Haible to 'all'.
91444
91445 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91446
91447         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91448
91449 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91450
91451         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91452         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91453         and define in terms of the other primitives.
91454         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91455         (SIZE_MAX): Define if not already defined.
91456         (array_size_overflow): New function.
91457         (xalloc_die): Abort instead of exiting if 'error' returns.
91458         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91459         (xmalloc, xrealloc): Use them.
91460         (xcalloc): Check for address arithmetic overflow.
91461         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91462         a bit faster than strcpy.
91463
91464 2003-10-10  Simon Josefsson  <jas@extundo.com>
91465
91466         * modules/argp (Depends-on): Add restrict and strcase.
91467
91468 2003-10-10  Simon Josefsson  <jas@extundo.com>
91469
91470         * m4/argp.m4: Add AC_C_INLINE.
91471
91472 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91473
91474         Merge getpass from libc, plus a few fixes.
91475
91476         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91477         Include <stdbool.h>.
91478         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91479         __fsetlocking to empty.
91480         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91481         do include <bits/libc-lock.h>.
91482         Do not include <fcntl.h>; not needed.
91483         [_LIBC]: Include <wchar.h>.
91484         (NOTCANCEL_MODE): New macro.
91485         (flockfile, funlockfile) [_LIBC]: New macros.
91486         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91487         [!_LIBC]: New macros.
91488         (call_fclose): New function.
91489         (getpass): Use it.  Save tty stream separately; this simplifies the
91490         code and makes it more reliable if stdin happens to equal stdout.
91491         Invoke __fsetlocking on tty.
91492         Handle thread cancellation if needed.
91493         Namespace cleanup (use __tcgetattr, __getline).
91494         Use bool for Booleans.
91495         [USE_IN_LIBIO]: Handle wide streams.
91496         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91497         stream might go where.
91498
91499         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91500         doesn't have to include <stdio.h> before us.
91501         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91502         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91503         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91504         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91505         if not declared, so that we can use getpass.c code from libc without
91506         rewriting it.
91507         (flockfile, ftrylockfile, funlockfile): New macros.
91508
91509 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91510
91511         * modules/getpass: Depend on stdbool.
91512
91513 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91514
91515         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91516
91517 2003-10-07  Karl Berry  <karl@gnu.org>
91518
91519         * config/config.{guess,sub}: update from config.
91520
91521 2003-10-06  Jim Meyering  <jim@meyering.net>
91522             Bruno Haible  <bruno@clisp.org>
91523
91524         This lets translators provide better translations for the
91525         "Written by ..." part of --version output.
91526         * lib/version-etc.h: Include stdarg.h.
91527         (version_etc_copyright): Declare as readonly.
91528         (version_etc): Make this function variadic with a NULL-terminated list
91529         of author name strings.
91530         (version_etc_va): New declaration.
91531         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91532         (version_etc_copyright): Declare as readonly.
91533         (version_etc_va): New function. Provide a different translatable string
91534         for each possible number of authors < 10. Abbreviate when there are 10
91535         authors or more.
91536         (version_etc): Make this function variadic. Call version_etc_va.
91537         Suggestion from Gary V. Vaughan.
91538
91539         * lib/long-options.h (parse_long_options): Change prototype: the
91540         authors string is moved to the end and becomes variadic.
91541         * lib/long-options.c: Include stdarg.h.
91542         (parse_long_options): Make this function variadic, too.
91543         Call version_etc_va, not version_etc.
91544
91545 2003-10-06  Bruno Haible  <bruno@clisp.org>
91546
91547         * modules/version-etc-2: Remove file.
91548         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91549
91550 2003-10-06  Bruno Haible  <bruno@clisp.org>
91551
91552         * modules/fatal-signal: New file.
91553         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91554
91555 2003-10-06  Bruno Haible  <bruno@clisp.org>
91556
91557         * m4/fatal-signal.m4: New file.
91558         * m4/signalblocking.m4: New file, from GNU gettext.
91559
91560 2003-10-06  Bruno Haible  <bruno@clisp.org>
91561
91562         * lib/version-etc-2.h: Remove file.
91563         * lib/version-etc-2.c: Remove file.
91564
91565 2003-10-06  Bruno Haible  <bruno@clisp.org>
91566
91567         * lib/fatal-signal.h: New file, from GNU gettext.
91568         * lib/fatal-signal.c: New file, from GNU gettext.
91569
91570 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91571
91572         * README: Rework advice for preventing empty .o files.
91573         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91574         not <sys/types.h>.
91575
91576 2003-10-04  Karl Berry  <karl@gnu.org>
91577
91578         * lib/argp*: update from libc.
91579
91580 2003-10-04  Karl Berry  <karl@gnu.org>
91581
91582         * config/config.{guess,sub}: update from config.
91583
91584 2003-10-02  Bruno Haible  <bruno@clisp.org>
91585
91586         * modules/lchown (Include): Add lchown.h.
91587         * modules/time_r (Include): Use "..." syntax.
91588         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91589
91590 2003-10-01  Simon Josefsson  <jas@extundo.com>
91591
91592         * MODULES.html.sh (func_all_modules): Move gethostname from section
91593         'based on' to section 'lacking' POSIX:2001.
91594
91595 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91596
91597         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91598         to output mode on the same stream.
91599
91600 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91601
91602         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91603         Fix arg typo in previous patch.
91604
91605 2003-09-28  Jim Meyering  <jim@meyering.net>
91606
91607         * lib/error.c: Correct cpp indentation.
91608
91609 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91610
91611         * modules/free: New file.
91612
91613 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91614
91615         * m4/free.m4: New file.
91616
91617 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91618
91619         * lib/minmax.h (MIN, MAX)
91620         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91621         Omit the special code that used __typeof__, since we worry that
91622         it could be more trouble than it's worth.  See:
91623         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91624         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91625
91626         * lib/free.c: New file.
91627
91628 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91629
91630         Trivial fixes to Makefile.am parts of module listings.
91631         * modules/strstr: Append strstr.h to lib_SOURCES.
91632         * modules/strcase: Likewise, for strcase.h.
91633
91634 2003-09-27  Karl Berry  <karl@gnu.org>
91635
91636         * config/mkinstalldirs: update from automake.
91637
91638 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91639
91640         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91641         (error_tail): Do not loop, reallocating temporary buffer, since
91642         the output cannot contain more wide characters than the input
91643         contains bytes, the size must be big enough already.  This avoids
91644         one potential size overflow calculation.  Check for size overflow
91645         when calculating temporary buffer size.  Free temporary buffer
91646         when done, if it was allocated with malloc; this plugs a memory
91647         leak.  Remove casts from void * to pointers, that are no longer
91648         needed now that we're assuming C89 or better.
91649
91650         Merge error changes from glibc.
91651
91652         * lib/error.c, error.h: Update copyright notice header to match glibc.
91653         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91654         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91655         Disable cancellation while printing error.
91656         * lib/error.h: Prepend __ to parameter names.
91657
91658 2003-09-26  Jim Meyering  <jim@meyering.net>
91659
91660         * lib/error.c (error_tail): Move some declarations
91661         into inner scope where the local variables are used.
91662
91663 2003-09-26  Bruno Haible  <bruno@clisp.org>
91664
91665         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91666         stpncpy().
91667         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91668
91669 2003-09-26  Bruno Haible  <bruno@clisp.org>
91670
91671         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91672         (stpncpy): Define as alias for gnu_stpncpy.
91673         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91674
91675 2003-09-25  Simon Josefsson  <jas@extundo.com>
91676
91677         * lib/xgetdomainname.h: New file.
91678         * lib/xgetdomainname.c: New file.
91679
91680 2003-09-25  Simon Josefsson  <jas@extundo.com>
91681             Bruno Haible  <bruno@clisp.org>
91682
91683         * modules/getdomainname: New file.
91684         * modules/xgetdomainname: New file.
91685         * MODULES.html.sh (func_all_modules): Add getdomainname,
91686         xgetdomainname.
91687
91688 2003-09-25  Simon Josefsson  <jas@extundo.com>
91689             Bruno Haible  <bruno@clisp.org>
91690
91691         * m4/getdomainname.m4: New file.
91692
91693 2003-09-25  Simon Josefsson  <jas@extundo.com>
91694             Bruno Haible  <bruno@clisp.org>
91695
91696         * lib/getdomainname.h: New file.
91697         * lib/getdomainname.c: New file.
91698
91699 2003-09-25  Karl Berry  <karl@gnu.org>
91700
91701         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91702
91703 2003-09-25  Karl Berry  <karl@gnu.org>
91704
91705         * config/install-sh: update from automake.
91706
91707 2003-09-25  Bruno Haible  <bruno@clisp.org>
91708
91709         * modules/version-etc-2: New file, from modules/version-etc with
91710         modifications.
91711         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91712
91713 2003-09-25  Bruno Haible  <bruno@clisp.org>
91714
91715         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91716         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91717
91718 2003-09-24  Simon Josefsson  <jas@extundo.com>
91719
91720         * modules/xgethostname: Add xgethostname.h.
91721
91722 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91723
91724         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91725         the buffer associated with the argument.  Bug reported by
91726         Simon Josefsson.
91727
91728 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91729
91730         * README: Document assumptions that 'int' is at least 32 bits
91731         wide, that integer arithmetic is 2's complement without overflow,
91732         that there are no holes in integer values, that adding sizes of
91733         two nonoverlapping objects can't overflow, and that all-bits-zero
91734         yields scalar zero.  Fix spelling and capitalization typos.
91735
91736 2003-09-19  Karl Berry  <karl@gnu.org>
91737
91738         * lib/argp.h: update from libc.
91739
91740 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91741
91742         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91743         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91744         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91745
91746 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91747
91748         * gnulib-tool: Use "test -h", not "test -L", for portability
91749         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91750         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91751         (sed_extract_prog): Issue s commands one-by-one, rather than
91752         using \| in one s command.
91753
91754 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91755
91756         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91757         input error, instead of returning NULL the next time we are called
91758         (and therefore losing track of errno).
91759
91760 2003-09-16  Bruno Haible  <bruno@clisp.org>
91761
91762         * gnulib-tool (func_create_testdir): Warn about duplicated
91763         dependencies.
91764
91765 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91766
91767         * modules/argmatch, modules/fatal, modules/obstack,
91768         modules/xalloc, modules/xgethostname: Sort dependencies by
91769         importance, not alphabetically.
91770
91771 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91772
91773         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91774         fails, so that the caller gets the proper errno.
91775
91776         * lib/readutmp.c (read_utmp): Likewise.
91777         Check for fstat error.  Close stream and free storage
91778         when failing.
91779
91780 2003-09-14  Karl Berry  <karl@gnu.org>
91781
91782         * config/srclist.txt (strdup.c): disable for c89 changes.
91783
91784 2003-09-14  Jim Meyering  <jim@meyering.net>
91785
91786         * lib/getloadavg.c: Correct cpp indentation.
91787         * lib/strdup.c: Likewise.
91788         * lib/vasnprintf.c: Likewise.
91789
91790 2003-09-14  Bruno Haible  <bruno@clisp.org>
91791
91792         * modules/fwriteerror: New file.
91793         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91794
91795 2003-09-14  Bruno Haible  <bruno@clisp.org>
91796
91797         * lib/fwriteerror.h: New file.
91798         * lib/fwriteerror.c: New file.
91799
91800 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91801
91802         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91803         modules/xgethostname, modules/xalloc: Depend on exit.
91804
91805 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91806
91807         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91808
91809         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91810         and AC_MINIX, too, so that their extensions are available.
91811
91812         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91813         This macro has been superseded by gl_BACKUPFILE.
91814
91815         More patches to assume C89 or better.
91816
91817         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91818
91819         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91820         unconditionally.
91821         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91822         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91823         Include <string.h>, <stdlib.h> unconditionally.
91824         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91825         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91826         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91827         headers or for string.h.
91828         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91829         or strtoul.
91830
91831         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91832         headers.
91833         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91834         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91835         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91836         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91837         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91838         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91839         memcpy, memset.
91840         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91841         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91842         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91843         strtol.
91844         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91845         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91846         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91847         strtoul.
91848
91849 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91850
91851         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91852         * lib/obstack.c [!defined _LIBC]: Likewise.
91853         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91854         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91855         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91856
91857         More changes to assume C89 or better.
91858
91859         * lib/error.c (error_tail): Assume vprintf.
91860
91861         * lib/argmatch.c (getenv): Remove decl.
91862         * lib/progreloc.c (get_full_program_name): Define via prototype.
91863         * lib/setenv.c (clearenv): Likewise.
91864         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91865         needed.
91866         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91867         (malloc, memcpy): Remove decls.
91868         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91869         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91870         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91871         (memcpy): Remove macro.
91872         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91873         (__P): Remove.  All uses removed.
91874         (PTR): Remove.  All uses changed to void *.
91875         (CHAR_BIT, NULL): Remove.
91876         (spaces, zeros, memset_space, memset_zero)
91877         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91878         Remove.
91879         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91880         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91881         Define with prototype.
91882         Remove now-unnecessary prototype decl.
91883         (extra_args_spec): Assume ANSI C.  All uses changed.
91884         (extra_args_spec_iso): Remove.
91885         (my_strftime, emacs_strftimeu): Define via prototype.
91886         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91887         unconditionally.
91888         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91889         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91890         (strtoul, strtol): Remove decls.
91891         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91892         LONG_MAX): Remove.
91893         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91894         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91895         (LOCALE_PARAM_PROTO): New macro.
91896         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91897         (INTERNAL (strtol), strtol): Define with a prototype.
91898         (PARAMS): Remove.  All uses removed.
91899         * lib/tempname.c: Include <string.h> unconditionally.
91900         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91901         * lib/xgethostname.c (main): Define with a prototype.
91902         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91903         Include <stdlib.h> unconditionally.
91904         (calloc, malloc, realloc, free): Remove decls.
91905         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91906         Include <stdlib.h> unconditionally.  Sort include file names.
91907         (strtod): Remove.
91908         (xstrtod): Define with a prototype.
91909         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91910         (strtol, strtoul): Remove decls.
91911
91912 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91913
91914         More patches to assume C89 or better.
91915         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91916         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91917         string.h, memchr, STDC_HEADERS.
91918
91919 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91920
91921         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91922         Include <stdlib.h>, <string.h> unconditionally.
91923         Remove now-unnecessary cast to char *.
91924         * lib/strnlen.c: Include <string.h> unconditionally.
91925         * lib/yesno.c (yesno): Define with a prototype.
91926
91927 2003-09-11  Bruno Haible  <bruno@clisp.org>
91928
91929         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91930
91931 2003-09-10  Jim Meyering  <jim@meyering.net>
91932
91933         * lib/error.c: Correct indentation of cpp directives.
91934
91935 2003-09-10  Bruno Haible  <bruno@clisp.org>
91936
91937         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91938         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91939         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91940         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91941         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91942         <stdlib.h> and <string.h> checks.
91943         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91944         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91945
91946 2003-09-10  Bruno Haible  <bruno@clisp.org>
91947
91948         * lib/strcspn.c: Include <string.h> unconditionally.
91949         * lib/strpbrk.c: Include <string.h> unconditionally.
91950         * lib/strstr.c: Include <string.h> unconditionally.
91951         * lib/unicodeio.c: Include <string.h> unconditionally.
91952         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91953         * lib/unsetenv.c: Likewise.
91954         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91955         * lib/yesno.c: Include <stdlib.h> unconditionally.
91956         (rpmatch): Add prototype.
91957
91958 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91959
91960         More patches to assume C89 or better.
91961         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91962         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91963         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91964         or for string.h.
91965         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91966         stdlib.h.
91967         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91968         C headers.
91969         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91970         string.h.
91971         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91972         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91973         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91974         or for string.h.
91975         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91976         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91977         C headers.
91978         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91979         memcpy.
91980         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91981         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91982         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91983         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91984         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91985         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91986         string.h, free.
91987         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91988         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91989         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91990         C headers, or for string.h.
91991         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91992         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91993         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91994         headers, memory.h, stdlib.h, string.h, strings.h.
91995         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91996         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91997         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91998         strchr.
91999         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92000         headers, memory.h, string.h.
92001         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92002         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92003         free.
92004         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92005         headers.
92006         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92007         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92008         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92009         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92010         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92011
92012 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92013
92014         More K&R removal.
92015
92016         * lib/acosl.c (main): Use a prototype.
92017         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92018         tanl.c: Likewise.
92019
92020         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92021
92022         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92023         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92024         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92025         with a prototype.
92026         * lib/getopt.c (const): Remove macro.
92027         Include <string.h> unconditionally.
92028         (my_index): Remove; all uses changed to strchr.
92029         (strlen): Remove decl.
92030         (exchange): Remove forward decl; no longer needed.
92031         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92032         Define with prototype.
92033         * lib/getopt1.c (const): Remove macro.
92034         (getopt_long, getopt_long_only, main): Define with prototype.
92035
92036         * lib/getugroups.c: Include <string.h> unconditionally.
92037
92038         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92039         (getusershell, setusershell, endusershell, readname, main):
92040         Define with prototypes.
92041
92042         * lib/group-member.c: Include group-member.h first.
92043         Include <stdlib.h> unconditionally.
92044
92045         * lib/hard-locale.c: Include hard-locale.h first.
92046         Include <stdlib.h>, <string.h> unconditionally.
92047
92048         * lib/hash.c (free, malloc): Remove decls.
92049         Include <stdlib.h> unconditionally.
92050
92051         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92052         (getenv): Do not declare.
92053
92054         * lib/idcache.c: Include <string.h> unconditionally.
92055
92056         * lib/long-options.c: Include long-options.h first, to test interface.
92057         Include <stdlib.h> unconditionally.
92058
92059         * lib/makepath.c: Include makepath.h first, to test interface.
92060         Include <stdlib.h> and <string.h> unconditionally.
92061
92062         * lib/linebuffer.c: Include <stdlib.h>.
92063         (free): Remove decl.
92064
92065         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92066         stddef.h. rpl_malloc returns void *, not char *.
92067         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92068         prototype.
92069
92070         * lib/md5.h: Include <limits.h> unconditionally.
92071         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92072         (__P): Remove; all uses removed.
92073         * lib/md5.c: Include "md5.h" first.
92074         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92075         md5_buffer, md5_process_bytes, md5_process_block):
92076         Define with prototypes.
92077         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
92078         * lib/sha.c: Include "sha.h" first.
92079         Include <stdlib.h>, <string.h> unconditionally.
92080
92081         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
92082         * lib/memcmp.c (__ptr_t): Likewise.
92083         * lib/memrchr.c (__ptr_t): Likewise.
92084         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92085         Include <string.h> unconditionally.
92086         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92087         * lib/memchr.c: Include <stdlib.h> unconditionally.
92088         * lib/memchr.c (LONG_MAX): Remove.
92089         * lib/memrchr.c (LONG_MAX): Likewise.
92090         * lib/memchr.c (__memchr): Define via a prototype.
92091         * lib/memrchr.c (__memrchr): Likewise.
92092         * lib/memcmp.c (__P): Remove, and remove all uses.
92093         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92094         Remove forward decls; no longer needed.
92095         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92096         Use types required by C89 in prototype.
92097
92098         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92099         * lib/savedir.c: Likewise.
92100         * lib/mkdir.c (free): Remove decl.
92101         * lib/rmdir.c (rmdir): Define with a prototype.
92102         * lib/savedir.c: Include savedir.h first, to test interface.
92103
92104         * lib/mktime.c (STDC_HEADERS): Remove.
92105         Include <stdlib.h>, <string.h> unconditionally.
92106
92107         * lib/modechange.c: Include <stdlib.h> unconditionally.
92108         (malloc): Remove decl.
92109
92110         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92111         (free): Remove decl.
92112
92113         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92114         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92115         (This type really should be intptr_t, but that's a C99ism.)
92116         (_obstack_memcpy): Remove: all uses changed to memcpy.
92117         Include <string.h> unconditionally.
92118         (struct obstack): Assume __STDC__ for types of members
92119         chunkfun, freefun, extra_arg.
92120         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92121         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92122         obstack_begin, obstack_specify_allocation,
92123         obstack_specify_allocation_with_arg, obstack_chunkfun,
92124         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92125         Remove unprototyped decls and the macros that use them.
92126         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92127         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92128         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92129         (defined __STDC__ && __STDC__)]:
92130         Remove nonprototyped code.
92131         Include <stdlib.h> unconditionally.
92132         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92133         _obstack_allocated_p, _obstack_free, obstack_free,
92134         _obstack_memory_used, print_and_abort):
92135         Define using prototypes.
92136         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92137         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92138         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92139         obstack_next_free, obstack_object_size, obstack_room) [0]:
92140         Remove unused, unprototyped code.
92141
92142         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92143
92144         * lib/physmem.c (physmem_total, physmem_available, main): Define
92145         with prototypes.
92146
92147         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92148         (main): Define with a prototype.
92149
92150         * lib/posixver.c (getenv): Remove decl.
92151
92152         * lib/putenv.c (malloc): Returns void *, not char *.
92153         Include <string.h> unconditionally.
92154         (strchr, memcpy, NULL): Do not define.
92155
92156         * lib/readtokens.c: Include readtokens.h first, to test interface.
92157         Include <stdlib.h>, <string.h> unconditionally.
92158         (init_tokenbuffer): Define with a prototype.
92159
92160         * lib/regex.c (PARAMS): Remove.  All uses removed.
92161         All uses of _RE_ARGS removed, too.
92162         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92163         unconditionally.
92164         (bzero): Assume memset exists.
92165         (memcmp, memcpy, NULL): Remove.
92166         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92167         char, or assignments to local vars of type signed char.
92168         (init_syntax_once, PREFIX(extract_number_and_incr),
92169         PREFIX(print_partial_compiled_pattern),
92170         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92171         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92172         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92173         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92174         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92175         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92176         wcs_compile_range, byte_compile_range, truncate_wchar,
92177         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92178         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92179         count_mbs_length, wcs_re_match_2_internal,
92180         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92181         PREFIX(alt_match_null_string_p),
92182         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92183         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92184         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92185         now-unnecessary declaration, if any.
92186         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92187         regcomp, regexec):
92188         Remove now-unnecessary casts among pointer types.
92189         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92190
92191         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92192         (free): Remove decl.
92193
92194         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92195
92196         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92197         (free): Remove decl.
92198
92199         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92200         * lib/xgetcwd.c: Likewise.
92201
92202         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92203         (free): Remove decl.
92204
92205         * lib/strchrnul.c (strchrnul): Define with a prototype.
92206         Fix bug: c_in was not converted to char before searching.
92207
92208         The following changes are not K&R related:
92209
92210         * lib/group-member.h: Include <sys/types.h>, so that this file is
92211         self-contained.
92212         * lib/makepath.h: Likewise.
92213
92214         * lib/getusershell.c (readname, default_index, line_size, readname):
92215         Use size_t, not int, for sizes.
92216         (readname): If the size overflows, report an error instead of
92217         looping forever.
92218
92219 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92220
92221         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92222         libc.
92223
92224 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92225
92226         * README: New section: portability guidelines.
92227
92228 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92229
92230         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92231         C89 spec.
92232
92233 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92234
92235         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92236
92237 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92238
92239         Assume C89 or better; remove K&R cruft.
92240         A few of these changes were first proposed by Derek Robert Price
92241         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92242
92243         * lib/addext.c: Include <string.h> unconditionally.
92244         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92245         Don't declare getenv or malloc.
92246
92247         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92248         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92249         (NULL): Remove.
92250         (find_stack_direction, alloca): Use prototypes.
92251
92252         * lib/atexit.c (atexit): Define using a prototype.
92253
92254         * lib/basename.c, dirname.c, stripslash.c:
92255         Include <string.h> unconditionally.
92256
92257         * lib/bcopy.c: Include <stddef.h>.
92258         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92259
92260         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92261
92262         * lib/error.h (error, error_at_line, error_print_progname)
92263         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92264         * lib/error.c: Include error.h first, to check interface.
92265         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92266         (VA_START): Remove; all uses changeed to va_start.
92267         (exit, strerror): Remove decls.
92268         (error_print_progname): Prototype uncondionally.
92269         Don't include <errno.h>; no longer needed.
92270         (private_strerror): Remove.
92271         (error_tail): Always define.
92272         (error, error_at_line): Assume C89 or better; always use prototypes.
92273         * lib/fatal.c: Include "fatal.h" first, to test interface.
92274         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92275         (VA_START): Remove; all uses changed to va_start.
92276         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92277         this case.
92278         (exit): Remove decl.
92279         (fatal): Prototype unconditionally.  Assume va_start works.
92280         Abort at end, to pacify gcc.
92281
92282         * lib/euidaccess.c (main): Define with a prototype.
92283
92284         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92285
92286         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92287
92288         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92289         prototypes.
92290         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92291         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92292         (getenv): Remove decl.
92293         (fnmatch): Define using a prototype.
92294         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92295         (FCT): Define using a prototype.
92296
92297         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92298
92299         * lib/gethostname.c: Include <stddef.h>.
92300         (gethostname): Define with prototype.  Length is size_t, not int.
92301
92302 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92303
92304         Assume C89 or better; remove K&R cruft.
92305         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92306         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92307         string.h, getenv, malloc.
92308         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92309         headers.
92310         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92311         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92312         do not check for strerror.
92313         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92314         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92315         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92316         do not check for doprnt or vprintf.
92317         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92318         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92319
92320 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92321
92322         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92323         getversion.c should have been removed then, but was accidentally
92324         preserved.
92325
92326         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92327         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92328
92329 2003-09-08  Karl Berry  <karl@gnu.org>
92330
92331         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92332                 config, forget about prep.
92333
92334         * config/depcomp, missing: update from automake.
92335
92336 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92337
92338         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92339         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92340
92341 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92342
92343         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92344         copy_tm_result.  Bug reported by Simon Josefsson in
92345         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92346
92347 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92348
92349         * m4/time_r.m4: New file.
92350         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92351         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92352         is. Check for timegm declaration.
92353         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92354         Do not check for gmtime_r.
92355         Replace mktime if __mktime_internal does not exist and if mktime
92356         hasn't been replaced already.
92357
92358 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92359
92360         * lib/time_r.c, lib/time_r.h: New files.
92361
92362         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92363         __localtime_r.
92364         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92365         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92366
92367         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92368         __gmtime_r.
92369         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92370         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92371         Include <time_r.h>.
92372
92373         * lib/timegm.c: Switch to glibc implementation, with the following
92374         changes:
92375         [defined HAVE_CONFIG_H]: Include <config.h>.
92376         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92377         (__mktime_internal) [!defined _LIBC]: New decl.
92378         (__gmtime_r) [!defined _LIBC]: New macro and function.
92379         (timegm): Use a prototype, since gnulib assumes C89.
92380         Do not bother declaring tmp to be const, as it's not really usefu.
92381         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92382         (timegm): Declare only if HAVE_DECL_TIMEGM.
92383
92384 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92385
92386         * MODULES.html.sh (func_all_modules): Add time_r.
92387         * modules/time_r: New file.
92388         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92389         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92390
92391 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92392
92393         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92394         Bug reported by Lute Kamstra in
92395         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92396
92397         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92398         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92399         course with correspondingly smaller numbers for tomorrow and
92400         yesterday.  From Tadayoshi Funaba.  Originally installed into
92401         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92402         coreutils merge?).
92403
92404 2003-08-31  Simon Josefsson  <jas@extundo.com>
92405
92406         * modules/timegm: New file.
92407         * MODULES.html.sh (func_all_modules): Add timegm.
92408
92409 2003-08-31  Simon Josefsson  <jas@extundo.com>
92410
92411         * m4/timegm.m4: New file.
92412
92413 2003-08-31  Simon Josefsson  <jas@extundo.com>
92414
92415         * lib/timegm.h: New file.
92416         * lib/timegm.c: New file.  Based on
92417         wget-1.8.2/src/http.c:mktime_from_utc.
92418
92419 2003-08-31  Karl Berry  <karl@gnu.org>
92420
92421         * lib/argp.h: update from libc.
92422
92423 2003-08-28  Bruno Haible  <bruno@clisp.org>
92424
92425         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92426         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92427         followed by '#define fnmatch fnmatch_posix' gives an error.
92428
92429 2003-08-28  Bruno Haible  <bruno@clisp.org>
92430
92431         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92432         warning on QNX, which defines O_BINARY to 000000.
92433
92434 2003-08-27  Jim Meyering  <jim@meyering.net>
92435
92436         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92437         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92438         would fail after 32.  Reported by Danny Levinson.  Details here:
92439         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92440
92441 2003-08-24  Bruno Haible  <bruno@clisp.org>
92442
92443         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92444         MSVC7 <stdio.h> is included later.
92445
92446 2003-08-22  Simon Josefsson  <jas@extundo.com>
92447
92448         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92449
92450 2003-08-20  Karl Berry  <karl@gnu.org>
92451
92452         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92453
92454 2003-08-20  Bruno Haible  <bruno@clisp.org>
92455
92456         * modules/progname: New file.
92457         * MODULES.html.sh (func_all_modules): Add progname.
92458
92459 2003-08-20  Bruno Haible  <bruno@clisp.org>
92460
92461         * lib/progname.h: New file, from GNU gettext.
92462         * lib/progname.c: New file, from GNU gettext.
92463         * lib/progreloc.c: New file, from GNU gettext.
92464
92465 2003-08-19  Jim Meyering  <jim@meyering.net>
92466
92467         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92468         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92469
92470 2003-08-19  Bruno Haible  <bruno@clisp.org>
92471
92472         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92473         more.
92474
92475 2003-08-19  Bruno Haible  <bruno@clisp.org>
92476
92477         * lib/xstrdup.c: Assume <string.h> exists.
92478
92479 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92480
92481         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92482         in makefile rules.
92483
92484 2003-08-18  Jim Meyering  <jim@meyering.net>
92485
92486         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92487         * m4/lib-ld.m4: Likewise.
92488
92489 2003-08-18  Jim Meyering  <jim@meyering.net>
92490
92491         * lib/setenv.h: Indent nested cpp directive.
92492         * lib/vasnprintf.c: Remove trailing blanks.
92493
92494 2003-08-17  Simon Josefsson  <jas@extundo.com>
92495
92496         * modules/xstrndup: New file.
92497         * MODULES.html.sh (func_all_modules): Add xstrndup.
92498
92499 2003-08-17  Simon Josefsson  <jas@extundo.com>
92500
92501         * modules/argp: Fix autoconf macro name. Add more dependencies.
92502
92503 2003-08-17  Simon Josefsson  <jas@extundo.com>
92504
92505         * m4/xstrndup.m4: New file.
92506
92507 2003-08-17  Simon Josefsson  <jas@extundo.com>
92508
92509         * m4/argp.m4: New file.
92510
92511 2003-08-17  Simon Josefsson  <jas@extundo.com>
92512             Bruno Haible  <bruno@clisp.org>
92513
92514         * lib/xstrndup.h: New file.
92515         * lib/xstrndup.c: New file.
92516
92517 2003-08-17  Bruno Haible  <bruno@clisp.org>
92518
92519         * modules/strndup (Files, Include): Add lib/strndup.h.
92520
92521 2003-08-17  Bruno Haible  <bruno@clisp.org>
92522
92523         * modules/euidaccess (Files): Add lib/euidaccess.h.
92524
92525 2003-08-17  Bruno Haible  <bruno@clisp.org>
92526
92527         * lib/strndup.h: New file.
92528
92529 2003-08-17  Bruno Haible  <bruno@clisp.org>
92530
92531         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92532         like AC_GNU_SOURCE.
92533         * modules/extensions (configure.ac): Comment out the invocation of
92534         gl_USE_SYSTEM_EXTENSIONS.
92535
92536 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92537
92538         Merges from coreutils, etc.
92539         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92540         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92541         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92542         fixing a typo.
92543         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92544         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92545
92546 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92547
92548         Document merge from coreutils.
92549         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92550         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92551         * modules/utime: Add m4/utimes-null.m4.
92552
92553 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92554
92555         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92556         space, undoing this 2003-08-12 change:
92557         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92558
92559 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92560
92561         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92562         strtoul.c from libc, undoing this 2003-08-12 change:
92563         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92564
92565 2003-08-16  Jim Meyering  <jim@meyering.net>
92566
92567         Merges from coreutils.
92568         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92569         prefix.  Adjust cache variables similarly.  Create 500 rather than
92570         just 300 files, to exercise bug on Darwin6.5, too.
92571         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92572         $missing_dir.
92573         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92574         AM_SYS_POSIX_TERMIOS.
92575         Reported by mkc@mathdogs.com.
92576         Also change use of $am_cv_sys_posix_termios
92577         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92578         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92579         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92580         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92581         in /proc/mounts until it finds one with matching device number.  This
92582         is unnecessary when the FILE argument *is* a mount point.  No stat call
92583         is necessary in that case.  So, disable the statvfs-testing code on
92584         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92585         as RedHat bug# 84846.
92586         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92587         to 1MB, so as not to render systems with no stack size limit (e.g.,
92588         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92589         Include <unistd.h>.  On some systems,
92590         it is required for the definition of _SC_PAGESIZE.
92591
92592 2003-08-16  Jim Meyering  <jim@meyering.net>
92593
92594         Merge from coreutils.
92595         * lib/xstrtoimax.c: #else #if -> #elif.
92596         * lib/xstrtoumax.c: Likewise.
92597
92598 2003-08-16  Jim Meyering  <jim@meyering.net>
92599
92600         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92601         * m4/utimes.m4: Removed.
92602         * m4/utimes-null.m4: Renamed from utimes.m4.
92603
92604         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92605         to 1MB, so as not to render systems with no stack size limit (e.g.,
92606         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92607         Include <unistd.h>.  On some systems,
92608         it is required for the definition of _SC_PAGESIZE.
92609
92610 2003-08-16  Jim Meyering  <jim@meyering.net>
92611         and Paul Eggert  <eggert@cs.ucla.edu>
92612
92613         Merges from coreutils, etc.
92614
92615         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92616         using the latest version from cvs.  This avoids problems with #line
92617         directives using a vendor (Sun) compiler.
92618         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92619         Don't set GETGROUPS_LIB here; now it's
92620         done via getgroups.m4's wrapper function.
92621         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92622         rather than just in sh-util/configure.in, so that the
92623         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92624         same.
92625         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92626         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92627         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92628         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92629         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92630         Remove code that is now done by the newly-required macros.
92631         Append $(EXEEXT) to DF_PROG.
92632         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92633         Do not invoke or require the following here,
92634         since prereq.m4 or some gnulib .m4 now does this for us:
92635         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92636         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92637         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92638         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92639         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92640         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92641         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92642         AC_FUNC_OBSTACK.
92643         Do not replace the following functions, as this is now the job
92644         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92645         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92646         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92647         atexit getpass, strdup, getpagesize.
92648         Replace 'raise'.
92649         Do not check for the following functions, as this is now the job
92650         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92651         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92652         setregid.
92653         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92654         Check for sys/sysctl.h.
92655         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92656         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92657         of checking for ssize_t ourselves.
92658
92659         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92660         Require every macro that gnulib/modules/* suggests for us.
92661         (jm_PREREQ_ADDEXT): New macro.
92662         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92663         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92664
92665         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92666         (gl_PHYSMEM): Use it.
92667         Also check for `table' function.
92668         Check for new headers and functions.
92669         Add check for sys/sysmp.h.
92670         With suggestions from Kaveh Ghazi.
92671         Ignore headers that are present but cannot be compiled.  This
92672         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92673         C 5.4.
92674
92675 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92676
92677         Document merge from coreutils.
92678         * modules/userspec: Depend on posixver.
92679         * modules/strftime: Depend on tzset.
92680
92681 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92682
92683         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92684         rather than tab, after '#' in shell-script copyright notices.
92685         Suggested by Bruno Haible.
92686
92687 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92688
92689         * config/srclist-update: Use three spaces, rather than tab, after '#'
92690         in shell-script copyright notices.  Suggested by Bruno Haible.
92691         Remove unnecessary parenthesization in regular expression.
92692
92693 2003-08-15  Jim Meyering  <jim@meyering.net>
92694
92695         Merge from coreutils.
92696         * lib/xgethostname.c: Include <stdlib.h>.
92697         (xghostname): Don't exit for anything other than memory-related
92698         failure; just return NULL.
92699         * lib/userspec.c: Include "posixver.h".
92700         (parse_user_spec): Accept `.' as a separator only
92701         in pre-POSIX-200112 mode.
92702         * lib/strtoimax.c: Use #elif rather than #else #if.
92703         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92704         Remove function, now that we can rely on a working tzset function.
92705         [!_LIBC]: Ensure that the required autoconf test has been run.
92706         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92707         Use underlying_strftime for %r.
92708         * lib/sha.c: Merge in some clean-up and optimization changes from
92709         glibc.
92710         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92711         Ensure that it is a multiple of 64.
92712         Rearrange loop exit tests so as to avoid performing an
92713         additional fread after encountering an error or EOF.
92714         * lib/realloc.c: Update copyright date.
92715
92716 2003-08-15  Jim Meyering  <jim@meyering.net>
92717         and Paul Eggert  <eggert@twinsun.com>
92718
92719         Merge from coreutils.
92720         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92721         member but strut utmpx does not.  Needed for AIX 4.3.3.
92722         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92723
92724 2003-08-15  Jim Meyering  <jim@meyering.net>
92725         and Paul Eggert  <eggert@cs.ucla.edu>
92726
92727         Merges from coreutils, etc.
92728         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92729         Require gl_FUNC_TZSET_CLOBBER.
92730         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92731         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92732         members.
92733
92734 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92735
92736         Help the merge from coreutils.
92737         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92738         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92739         * m4/tzset.m4: Use it too.
92740
92741 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92742
92743         * modules/tzset: New file.
92744
92745 2003-08-14  Jim Meyering  <jim@meyering.net>
92746
92747         Merges from coreutils.
92748         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92749         variable names, rather than @FNMATCH_H@.
92750         * modules/alloca: Likewise for $(ALLOCA_H).
92751
92752         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92753         the three copies of the literal target, `fnmatch.h'.
92754         * modules/alloca (alloca.h): Likewise.
92755
92756 2003-08-14  Jim Meyering  <jim@meyering.net>
92757
92758         Merge from coreutils.
92759         * m4/tzset.m4: New file.
92760         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92761         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92762         otherwise, AIX 5.1 systems would end up using the latter.
92763         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92764         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92765         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92766         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92767
92768 2003-08-14  Jim Meyering  <jim@meyering.net>
92769
92770         Merge from coreutils.
92771         * lib/obstack.h: Whitespace changes.
92772         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92773         and xcalloc return values.
92774         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92775         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92776         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92777         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92778         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92779         error from mntctl.
92780         Use mntctl's return value to drive the entry-processing loop, since
92781         we can't rely on the value of the vmt_length member in the last
92782         entry.  On some systems doing so could result in exhausting
92783         virtual memory.  Based in part on a patch from Mike Jetzer.
92784
92785 2003-08-14  Jim Meyering  <jim@meyering.net>
92786         and Paul Eggert  <eggert@twinsun.com>
92787
92788         Merges from coreutils, plus other fixes.
92789         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92790         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92791         for credits and details.  Thanks to Kaveh Ghazi for helping
92792         to keep these files in sync.
92793         (ARRAY_SIZE): Define it.
92794         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92795         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92796         (memcasecmp): Don't assume size_t fits in unsigned int.
92797         Remove casts and duplicate code.
92798         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92799         (memcpy): Remove definition.
92800         Merge in some clean-up and optimization changes from glibc.
92801         [BLOCKSIZE]: Move definition to top of file.
92802         Ensure that it is a multiple of 64.
92803         Rearrange loop exit tests so as to avoid performing an
92804         additional fread after encountering an error or EOF.
92805         * lib/md5.h (md5_uintptr): Define.
92806         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92807         return to the initial working directory.  Preserve errno
92808         for caller.
92809         * lib/idcache.c: Include "xalloc.h".
92810         (xmalloc, xrealloc): Remove decls.
92811         (getuser): Remove casts no longer required in C89.
92812         * lib/human.c: Include stdio.h, for sprintf.
92813         * lib/group-member.c: Include "xalloc.h".
92814         (xmalloc, xrealloc): Remove decls.
92815         (get_group_info): Remove casts no longer required in C89.
92816         * lib/getusershell.c (readname): Remove casts no longer required in
92817         C89.
92818         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92819         * lib/getline.c: Whitespace fix, from coreutils.
92820
92821 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92822
92823         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92824         Check for isascii.
92825
92826         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92827         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92828         Undo previous (whitespace-only) change.
92829
92830 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92831
92832         * lib/exclude.c: Include <ctype.h>
92833         (IN_CTYPE_DOMAIN): New macro.
92834         (is_space): New fn.
92835         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92836         and empty lines.
92837
92838         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92839         Undo previous (whitespace-only) change.
92840
92841 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92842
92843         * config/srclist-update: Change update back to the old behavior,
92844         leaving whitespace alone.  Use one 'sed' command rather than a
92845         pipeline.
92846         (fixlicense): Now a variable, not a function.
92847         (remove_trailing_blanks): Remove.
92848         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92849         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92850         Undo previous (whitespace-only) change.
92851
92852 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92853
92854         Merge from coreutils.
92855         * modules/euidaccess: Add lib_SOURCES, include for new
92856         file euidaccess.h
92857
92858 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92859
92860         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92861         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92862         Normalize leading white space and remove trailing white space.
92863
92864         Merge from coreutils
92865         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92866
92867         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92868         0.12.1.  These files are now being upgraded automatically by
92869         ../config/srclist-update.
92870
92871 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92872
92873         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92874         Normalize leading white space and remove trailing white space.
92875         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92876         notice, as per ../config/srclist-update.
92877
92878         Merge from coreutils.
92879         * lib/euidaccess.h: New file.
92880         * lib/euidaccess.c: Include it.
92881         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92882         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92883         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92884
92885 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92886
92887         * config/srclist-update: Add copyright notice.
92888         (remove_id_lines, remove_trailing_blanks): New constants.
92889         (fixfile): Use them to normalize spacing a bit in copied files.
92890         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92891         Normalize leading white space and remove trailing white space.
92892
92893         * config/texinfo.tex: Sync with texinfo.
92894
92895         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92896         strtoul.c from libc, to merge coreutils whitespace changes.
92897
92898         * config/srclist.txt: Get the following m4 files from gettext:
92899         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92900         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92901         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92902         wint_t.m4.
92903
92904 2003-08-12  Karl Berry  <karl@gnu.org>
92905
92906         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92907         been made.
92908
92909 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92910
92911         * modules/gnu-source, m4/gnu-source.m4:
92912         Remove; we're assuming Autoconf 2.54 or later now.
92913         Suggested by Bruno Haible.
92914         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92915
92916 2003-08-11  Bruno Haible  <bruno@clisp.org>
92917
92918         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92919
92920 2003-08-11  Bruno Haible  <bruno@clisp.org>
92921
92922         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92923         (vasnprintf): Use it instead of wcslen.
92924
92925 2003-08-11  Bruno Haible  <bruno@clisp.org>
92926
92927         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92928         value to ensure that _Bool promotes to int. Use #define for _Bool when
92929         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92930
92931 2003-08-10  Karl Berry  <karl@gnu.org>
92932
92933         * lib/regex.h: update from libc (whitespace fix).
92934
92935 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92936
92937         Merge some files from coreutils.  These changes were
92938         originally made by Jim Meyering.
92939         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92940         many older Unixes require this.
92941         * lib/alloca.c (alloca): Remove cast to argument of free;
92942         no longer needed in C89.
92943         * lib/alloca_.h, regex.h: Fix white space to match
92944         what GNU indent does.
92945
92946 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92947
92948         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92949         apparently Emacs's Unicode mode got confused before my 2003-08-05
92950         checkin.
92951
92952 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92953
92954         * m4/extensions.m4: New file.
92955         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92956         Require gl_USE_SYSTEM_EXTENSIONS.
92957         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92958         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92959
92960 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92961
92962         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92963         * modules/extensions, modules/gnu-source: New files.
92964         * modules/timespec, modules/unlocked-io: Depend on extensions.
92965
92966 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92967
92968         * modules/restrict: New file.
92969         * MODULES.html.sh (func_all_modules): Add restrict.
92970         * modules/regex: Depend on restrict.
92971
92972 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92973
92974         * m4/restrict.m4: New file.
92975         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92976
92977 2003-08-07  Bruno Haible  <bruno@clisp.org>
92978
92979         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92980         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92981
92982 2003-08-07  Bruno Haible  <bruno@clisp.org>
92983
92984         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92985         makes the module 'getndelim2' compatible with the module 'getline'.
92986
92987 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92988
92989         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92990         byte with "\201" to avoid glitches when editing that source file
92991         with multi-gnome-terminal.
92992
92993 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92994
92995         * lib/bumpalloc.h: Remove.
92996
92997 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92998
92999         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93000         * modules/bumpalloc: Remove.
93001
93002 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93003
93004         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93005         GNU coding style.
93006
93007         Merge from coreutils.
93008         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93009         1. From glibc.
93010         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93011         from Karl Berry, implemented by Jim Meyering.
93012         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93013         from Dmitry V. Levin.
93014         Remove anachronistic cast of xrealloc.
93015         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93016         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93017         type. Otherwise, it wouldn't compile with at least /bin/cc on
93018         ymp-cray-unicos9.0.2.X.
93019         Combine two mostly-identical uses of alloca into one.
93020         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93021
93022 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93023
93024         [From Emacs.]
93025
93026         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93027         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93028         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93029         obsolete NLIST_NAME_UNION.
93030         [__GNU__]: Undef BSD and FSCALE.
93031         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93032
93033 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93034
93035         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93036         an enum type, so that it's guaranteed to promote to int.  See:
93037         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93038
93039 2003-08-03  Karl Berry  <karl@gnu.org>
93040
93041         * config/depcomp: update from automake.
93042
93043 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93044
93045         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93046         (strerror): Don't assume that a printable int fits in 14 bytes.
93047
93048 2003-07-31  Bruno Haible  <bruno@clisp.org>
93049
93050         * modules/getpass-gnu: New file.
93051         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93052
93053 2003-07-31  Bruno Haible  <bruno@clisp.org>
93054
93055         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93056
93057 2003-07-24  Karl Berry  <karl@gnu.org>
93058
93059         * config/missing: update from automake.
93060
93061 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93062             Bruno Haible  <bruno@clisp.org>
93063
93064         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93065         * lib/getline.c (getline, getdelim): Likewise.
93066         Remove _GNU_SOURCE define; now it's defined in config.h through
93067         m4/getline.m4.
93068
93069 2003-07-23  Karl Berry  <karl@gnu.org>
93070
93071         * config/config.sub: update from prep.
93072
93073 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93074
93075         * modules/xalloc (Depends-on): Add exitfail.
93076         * modules/xmemcoll: Likewise.
93077
93078 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93079
93080         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
93081         over-parenthesization in macros.
93082
93083         Sync with coreutils.
93084
93085         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93086         required by C99.
93087
93088         Use `exit_failure' for xalloc and xmemcoll instead of their own
93089         private exit-failure variables.
93090         * lib/xalloc.h (xalloc_exit_failure): Remove.
93091         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93092         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93093         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93094         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93095         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93096
93097 2003-07-20  Jim Meyering  <jim@meyering.net>
93098
93099         * modules/closeout (Depends-on): Add exitfail.
93100         Suggestion from Bruno Haible.
93101
93102 2003-07-19  Karl Berry  <karl@gnu.org>
93103
93104         * config/config.sub: update from prep.
93105
93106 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93107
93108         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93109         Remove.
93110         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93111         to test that it can stand by itself.  Include "exitfail.h".
93112         Clients should set exit_failure instead.
93113         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93114
93115 2003-07-18  Bruno Haible  <bruno@clisp.org>
93116
93117         * modules/getndelim2: New file.
93118         * modules/getline: Share files with module getndelim2.
93119         * modules/getnline: Depend on getndelim2 instead of sharing files with
93120         it. Add getnline.c to lib_SOURCES.
93121         * MODULES.html.sh (func_all_modules): Add getndelim2.
93122
93123 2003-07-18  Bruno Haible  <bruno@clisp.org>
93124
93125         * m4/getndelim2.m4: New file.
93126         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93127         invoke gl_PREREQ_GETNDELIM2.
93128         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93129         gl_PREREQ_GETNDELIM2.
93130         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93131         gl_GETNDELIM2.
93132
93133 2003-07-18  Bruno Haible  <bruno@clisp.org>
93134
93135         * lib/getndelim2.h: New file.
93136         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93137         getndelim2.h.
93138         (getndelim2): Make non-static. Change return type to ssize_t.
93139         * lib/getline.h: Change argument names.
93140         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93141         * lib/getnline.c: Include getndelim2.h.
93142
93143 2003-07-18  Andreas Schwab  <schwab@suse.de>
93144
93145         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93146
93147 2003-07-17  Karl Berry  <karl@gnu.org>
93148
93149         * config/config.sub: update from prep.
93150
93151 2003-07-17  Bruno Haible  <bruno@clisp.org>
93152
93153         * modules/getnline: New file.
93154         * modules/getline: Add lib/getndelim2.c to source file list.
93155         * MODULES.html.sh (func_all_modules): Add getnline.
93156
93157 2003-07-17  Bruno Haible  <bruno@clisp.org>
93158
93159         * m4/getnline.m4: New file.
93160
93161 2003-07-17  Bruno Haible  <bruno@clisp.org>
93162
93163         * m4/Makefile.am.in: Remove file.
93164         * m4/Makefile.am: Remove file.
93165         * m4/Makefile.in: Remove file.
93166
93167 2003-07-17  Bruno Haible  <bruno@clisp.org>
93168
93169         * lib/getnline.h: New file.
93170         * lib/getnline.c: New file.
93171         * lib/getndelim2.c: New file, extracted from getline.c.
93172         (getndelim2): Renamed from getdelim2, with added nmax argument.
93173         * lib/getline.c: Include getndelim2.c.
93174         (getdelim2): Moved out to getndelim2.c.
93175         (getline, getdelim): Update.
93176
93177 2003-07-17  Bruno Haible  <bruno@clisp.org>
93178
93179         * lib/Makefile.am: Remove file.
93180         * lib/Makefile.in: Remove file.
93181
93182 2003-07-17  Bruno Haible  <bruno@clisp.org>
93183
93184         * configure.in: Remove file.
93185         * Makefile.in: Remove file.
93186
93187 2003-07-17  Bruno Haible  <bruno@clisp.org>
93188
93189         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93190
93191 2003-07-16  Karl Berry  <karl@gnu.org>
93192
93193         * config/srclist-update: was running fixlicense twice, which caused
93194                 texinfo.tex to be nullified for some reason.  Simplify,
93195                 $gplsrc is no longer needed as far as I can see?
93196
93197 2003-07-16  Jim Meyering  <jim@meyering.net>
93198
93199         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93200
93201 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93202
93203         * config/srclist.txt: Get the following files from gettext-runtime/intl
93204         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93205         ref-del.sin.  From Bruno Haible.
93206         * config/srclist-update (fixfile): Change grep pattern again, since the
93207         previous fix didn't work (there was another trailing $).  Use
93208         '[$]' to escape the $s.
93209
93210 2003-07-15  Karl Berry  <karl@gnu.org>
93211
93212         * lib/vasnprintf.c: update from gettext.
93213
93214 2003-07-15  Karl Berry  <karl@gnu.org>
93215
93216         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93217         gets expanded when surrounded by '$'.
93218
93219 2003-07-15  Jim Meyering  <jim@meyering.net>
93220
93221         * modules/save-cwd: Don't depend on error.  From Derek Price.
93222
93223 2003-07-15  Jim Meyering  <jim@meyering.net>
93224
93225         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93226
93227 2003-07-14  Simon Josefsson  <jas@extundo.com>
93228
93229         * modules/mempcpy: New file.
93230         * MODULES.html.sh (func_all_modules): Add mempcpy.
93231
93232 2003-07-14  Simon Josefsson  <jas@extundo.com>
93233
93234         * m4/mempcpy.m4: New file.
93235
93236 2003-07-14  Simon Josefsson  <jas@extundo.com>
93237
93238         * lib/mempcpy.h: New file.
93239         * lib/mempcpy.c: New file.
93240
93241 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93242
93243         * modules/getdate, modules/posixtm: Depend on mktime.
93244
93245 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93246
93247         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93248         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93249         unicodeio.c, unicodeio.h, unlocked-io.h:
93250         Switch from LGPL to GPL.
93251
93252 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93253
93254         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93255         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93256         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93257         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93258         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93259         updated automatically by ../config/srclist-update.  This changes
93260         their license from LPGL to GPL.
93261
93262 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93263
93264         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93265         assumed to refer to the root of the most recent stable gettext version.
93266         * config/srclistvars.sh: Add defaults for eggert.
93267         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93268         Match "This program" as well as "The program".  This is needed
93269         for gettext.
93270
93271 2003-07-14  Jim Meyering  <jim@meyering.net>
93272
93273         Don't emit diagnostics.  Let callers do that.
93274         * lib/save-cwd.c: Don't include "error.h".
93275         (save_cwd): Don't call error.  Ensure that errno is valid
93276         when returning nonzero.
93277
93278         * lib/save-cwd.h (restore_cwd): Update prototype.
93279         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93280         Simplify.  Don't call error upon failure.  Let callers do that.
93281         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93282         when auditing is enabled.  But don't bother updating the #if.
93283
93284 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93285
93286         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93287         it breaks C++ compilation.
93288         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93289
93290 2003-07-10  Simon Josefsson  <jas@extundo.com>
93291
93292         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93293
93294 2003-07-10  Jim Meyering  <jim@meyering.net>
93295
93296         * m4/clock_time.m4: Remove trailing blank.
93297         * m4/intmax_t.m4: Likewise.
93298
93299 2003-07-10  Jim Meyering  <jim@meyering.net>
93300
93301         * lib/vasnprintf.c: Remove trailing blanks.
93302         Make cpp indentation consistent.
93303
93304 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93305
93306         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93307         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93308         Switch from LGPL to GPL.
93309
93310 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93311
93312         * config/srclist.txt: Sort sublists.  Add
93313         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93314         that differ from gnulib for one reason or another; we'd like this list
93315         to be smaller but for now let's document what we have.
93316
93317 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93318
93319         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93320         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93321         and sweeter "eval x=$x".
93322         * config/srclist.txt: Get lib/argp* from glibc.
93323
93324 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93325
93326         * lib/mktime.c: Fix some boundary cases and remove need for floating
93327         point.
93328
93329         Issue a compile-time diagnostic if time_t is floating point, or if
93330         two's complement arithmetic is not in effect, or if arithmetic
93331         right shift does not propagate the sign.  These assumptions were
93332         all in the original code but they weren't checked.
93333
93334         (TIME_T_MIDPOINT, verify): New macros.
93335         (__isleap): Remove; it has integer overflow problems.
93336         (leapyear): New function, without those problems.
93337         (ydhms_tm_diff): Remove; splitting into two parts.
93338         (ydhms_diff): New function, containing the arithmetic part of
93339         the old ydhms_tm_diff function.  Issue a compile-time
93340         diagnostic if we are not using C99 integer division.
93341         Avoid casts when possible.
93342         (guess_time_tm): New function, containing the checking part of
93343         the old ydhms_tm_diff function.  Return the new value, rather than
93344         the difference between it and the old.  Accept a new argument T
93345         so that *T specifies the old value.  Check for overflow in the result.
93346
93347         (__mktime_internal): Use a time_t offset, not a long int offset.
93348         This undoes the 2003-06-04 change, which is no longer needed now
93349         that we have better overflow checking.
93350         (localtime_offset): Likewise.
93351
93352         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93353         and long are 64-bit but int is only 32-bit.
93354         (ydhms_diff): Use long int to store year1 and yday1.
93355         Issue a compile-time diagnostic if long int is not wide enough.
93356
93357         (__mktime_internal): Use long int to store adjusted year and yday.
93358         Use plain C rather than preprocessor commands, if that doesn't
93359         affect efficiency.
93360         Check for overflow (and try to repair) after each probe
93361         rather than checking only at the very end.  This avoids some bugs
93362         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93363         does not equal GMT offset at maximum time).
93364         Use integer to check for overflow rather than floating point; this
93365         is more portable to non-IEEE hosts, and is a tad faster.
93366         When we detect that we are oscillating between two values,
93367         don't check whether tm_isdst has the requested value, since
93368         we already know the answer.  When tm_isdst has the wrong value,
93369         use a different heuristic to find the right one, based on the
93370         extreme values actually observed in practice in tz2003a,
93371         rather than the (overly optimistic) "previous 3 calendar quarters".
93372
93373         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93374         "T const" to accommodate glibc style.
93375         (check_result): Use less-confusing report format.  "long" -> "long int.
93376         (main): Likewise.
93377         Don't loop if the iteration overflows time_t.
93378         Allow a negative step in the iteration.
93379
93380 2003-07-06  Karl Berry  <karl@gnu.org>
93381
93382         * config/depcomp: update from automake.
93383         * config/config.sub: update from prep.
93384
93385 2003-07-03  Karl Berry  <karl@gnu.org>
93386
93387         * config/config.guess: update from prep.
93388
93389 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93390
93391         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93392         xreadlink.c now includes it unconditionally.
93393
93394 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93395
93396         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93397         having it depend on HAVE_SYS_TYPES_H.
93398
93399 2003-07-01  Bruno Haible  <bruno@clisp.org>
93400
93401         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93402         <sys/types.h> should be sufficient.
93403         Reported by Paul Eggert.
93404
93405 2003-06-26  Karl Berry  <karl@gnu.org>
93406
93407         * config/depcomp: update from automake.
93408
93409 2003-06-26  Bruno Haible  <bruno@clisp.org>
93410
93411         * modules/human: Depend on module stdbool.
93412
93413 2003-06-25  Bruno Haible  <bruno@clisp.org>
93414
93415         * modules/readlink: New file.
93416         * modules/xreadlink: Depend on it.
93417         * MODULES.html.sh (func_all_modules): Add readlink.
93418
93419 2003-06-25  Bruno Haible  <bruno@clisp.org>
93420
93421         * m4/readlink.m4: New file.
93422
93423 2003-06-25  Bruno Haible  <bruno@clisp.org>
93424
93425         * lib/readlink.c: New file.
93426
93427 2003-06-22  Karl Berry  <karl@gnu.org>
93428
93429         * config/srclist.txt: update mkinstalldirs from automake.
93430         * config/mkinstalldirs: update.
93431
93432 2003-06-22  Bruno Haible  <bruno@clisp.org>
93433
93434         Portability to mingw32.
93435         * m4/ssize_t.m4: New file, from GNU gettext.
93436         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93437         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93438
93439 2003-06-22  Bruno Haible  <bruno@clisp.org>
93440
93441         * modules/safe-read: Add m4/ssize_t.m4.
93442         * modules/xreadlink: Add m4/ssize_t.m4.
93443
93444 2003-06-20  Bruno Haible  <bruno@clisp.org>
93445
93446         Assume C89, so PARAMS isn't needed.
93447         * lib/unicodeio.h (PARAMS): Remove.
93448         * lib/unicodeio.c: Don't use PARAMS.
93449
93450 2003-06-18  Karl Berry  <karl@gnu.org>
93451
93452         * config/config.{guess,sub}: update from prep.
93453
93454 2003-06-18  Jim Meyering  <jim@meyering.net>
93455
93456         Merge changes from coreutils.
93457         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93458         Remove explicit declarations of xmalloc and realloc.
93459         Include xalloc.h.
93460         (read_utmp): Remove anachronistic cast of xmalloc.
93461
93462 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93463
93464         Assume C89, so PARAMS isn't needed.
93465         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93466         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93467         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93468         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93469         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93470         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93471         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93472         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93473         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93474         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93475         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93476         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93477         no longer needed. Anyway, config.h should always be included before any
93478         other file.
93479
93480 2003-06-11  Simon Josefsson  <jas@extundo.com>
93481
93482         * modules/sysexits: New file.
93483         * MODULES.html.sh (func_all_modules): Add sysexits.
93484
93485 2003-06-11  Simon Josefsson  <jas@extundo.com>
93486
93487         * lib/sysexit_.h: New file.
93488
93489 2003-06-11  Derek Price  <derek@ximbiot.com>
93490
93491         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93492         necessary.
93493
93494 2003-06-11  Bruno Haible  <bruno@clisp.org>
93495
93496         * m4/sysexits.m4: New file.
93497
93498 2003-06-10  Simon Josefsson  <jas@extundo.com>
93499
93500         * lib/argp.h: New file, from glibc.
93501         * lib/argp-ba.c: New file, from glibc.
93502         * lib/argp-eexst.c: New file, from glibc.
93503         * lib/argp-fmtstream.c: New file, from glibc.
93504         * lib/argp-fmtstream.h: New file, from glibc.
93505         * lib/argp-fs-xinl.c: New file, from glibc.
93506         * lib/argp-help.c: New file, from glibc.
93507         * lib/argp-namefrob.h: New file, from glibc.
93508         * lib/argp-parse.c: New file, from glibc.
93509         * lib/argp-pv.c: New file, from glibc.
93510         * lib/argp-pvh.c: New file, from glibc.
93511         * lib/argp-xinl.c: New file, from glibc.
93512
93513 2003-06-10  Simon Josefsson  <jas@extundo.com>
93514
93515         * modules/strchrnul: New file.
93516
93517 2003-06-10  Simon Josefsson  <jas@extundo.com>
93518
93519         * modules/argp: New file.
93520
93521 2003-06-10  Simon Josefsson  <jas@extundo.com>
93522
93523         * m4/strchrnul.m4: New file.
93524
93525 2003-06-10  Simon Josefsson  <jas@extundo.com>
93526
93527         * lib/strchrnul.h: New file.
93528         * lib/strchrnul.c: New file.
93529
93530 2003-06-10  Bruno Haible  <bruno@clisp.org>
93531
93532         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93533
93534 2003-06-07  Karl Berry  <karl@gnu.org>
93535
93536         * config/config.{guess,sub}: update from prep.
93537
93538 2003-06-07  Jim Meyering  <jim@meyering.net>
93539
93540         * modules/strtod: Use $(...) notation, not @...@ for
93541         AC_REPLACE'd variables.
93542         * modules/localcharset: Likewise.
93543
93544 2003-06-07  Jim Meyering  <jim@meyering.net>
93545
93546         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93547         in place of my name in the copyright comment.
93548         Remove definition and uses of __P.
93549
93550         From coreutils.
93551         * lib/stat.c: Don't declare xmalloc explicitly.
93552         Instead, include "xalloc.h".
93553         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93554         xrealloc, and xcalloc return values.
93555         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93556         Improve comment.
93557         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93558
93559 2003-06-07  Bruno Haible  <bruno@clisp.org>
93560
93561         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93562         avoid AC_CONFIG_LINKS.
93563         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93564         fnmatch.h, to avoid AC_CONFIG_LINKS.
93565         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93566
93567 2003-06-07  Bruno Haible  <bruno@clisp.org>
93568
93569         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93570         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93571         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93572         directory.
93573         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93574         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93575         directory.
93576
93577 2003-06-06  Jim Meyering  <jim@meyering.net>
93578
93579         Merge from coreutils.
93580         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93581         Consolidate declarations and initializations of *_base* locals.
93582
93583         Merge from coreutils.
93584         This avoids a core dump on systems without GNU putenv,
93585         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93586         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93587         (unsetenv): New static function, from GNU libc.
93588         (rpl_putenv): Use it.
93589
93590         * lib/modechange.c: Remove trailing blanks.
93591
93592         Merge from coreutils.
93593         * lib/fsusage.c: Remove declaration of statfs.
93594         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93595
93596         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93597
93598 2003-06-06  Jim Meyering  <jim@meyering.net>
93599
93600         * lib/stdbool_.h: Renamed from stdbool.h.in.
93601
93602 2003-06-06  Jim Meyering  <jim@meyering.net>
93603             Bruno Haible  <bruno@clisp.org>
93604
93605         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93606         Adjust Makefile.am snippet not to redirect directly to target.
93607         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93608
93609 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93610
93611         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93612         mismatch, look in future quarters as well as past.  This fixes a
93613         bug when processing fall-backwards gaps immediately after a long
93614         period of daylight-saving time.
93615
93616         * lib/mktime.c: Assume freestanding C89 or better.
93617         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93618         (__P): Remove; not used.
93619         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93620         (mktime, not_equal_tm, print_tm, check_result,
93621         main): Use prototypes.  Use const * where appropriate.
93622         (main): Fix typo in testing code that uncovered by above changes.
93623         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93624
93625 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93626
93627         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93628         locale.h, localeconv.  This merges changes from coreutils.
93629
93630         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93631         It can be removed after the next Autoconf is released.
93632         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93633         needed.
93634
93635 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93636
93637         * lib/mktime.c: Fix Debian bug 177940
93638         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93639         (localtime_offset): Now long int, not time_t, because we want it
93640         to be guaranteed to be signed.  All uses changed.
93641         (__mktime_internal): If overflow would occur when adding offset,
93642         don't add it.
93643
93644         Merge 'human' changes from coreutils.  Rewrite to support
93645         locale-specific notations like thousands separators.
93646         * lib/human.c: Simplify authorship notice.
93647         Include human.h immediately after config.h.
93648         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93649         <limits.h>: Do not include, since human.h does.
93650         (SIZE_MAX, UINTMAX_MAX): New macros.
93651         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93652         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93653         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93654         (power_letter): Renamed from suffixes.
93655         (generate_suffix_backwards): Remove.
93656         (adjust_value): Now takes int style (because of human.h changes)
93657         and long double value (for greater precision on some platforms).
93658         (group_number): New function.
93659         (human_readable): Use it.  Use integer options, not enum.
93660         Put the options before the sizes in the arg list.
93661         Support all the new options.
93662         The old human_readable function has been removed;
93663         use inttostr.h instead.
93664         (human_readable, default_block_size, humblock):
93665         Use uintmax_t, not int, for block sizes.
93666         (human_readable_inexact, block_size_types): Remove.
93667         (block_size_opts): New constant.
93668         (human_options): Renamed from human_block_size, with new signature
93669         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93670         * lib/human.h: Add copyright and authorship notice.
93671         Include <limits.h> and <stdbool.h> unconditionally.
93672         (PARAMS): Remove.  All uses removed.
93673         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93674         (enum human_inexact_style): Remove tag; now a nameless enum.
93675         (human_floor, human_ceiling, human_round_to_even): Now have
93676         values 2, 0, 1 rather than -1, 1, 0.
93677         (human_group_digits, human_suppress_point_zero, human_autoscale,
93678         human_base_1024, human_SI, human_B): New constants.
93679         (human_readable_inexact, human_block_size): Remove.
93680         (human_readable): Size args are now uintmax_t, not int.
93681         (human_options): New decl.
93682
93683         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93684         unnecessary now that we assume C89 or better.  This change
93685         imported from coreutils.
93686
93687         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93688         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93689         in the 2003-05-30 sync from glibc.
93690
93691         .h files should stand alone, but we shouldn't include <sys/types.h>
93692         if we can get away with just <stddef.h>.
93693
93694         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93695         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93696         rather than <sys/types.h>, as we merely need size_t.
93697         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93698         to get size_t.
93699         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93700         Include <stdio.h>, to get FILE.
93701         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93702         memcasecmp.h has included <stddef.h> and all we need is size_t.
93703         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93704         our interface, instead of including <sys/types.h>
93705
93706 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93707
93708         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93709         now, as glibc mktime is buggy on non-glibc systems.
93710
93711 2003-06-03  Karl Berry  <karl@gnu.org>
93712
93713         * config/config.sub: update from prep.
93714
93715 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93716
93717         [from coreutils]
93718         Fix some minor time-related bugs with POSIX time arguments.
93719         Some valid time stamps were being rejected (notably -1, and
93720         time stamps before 1900 on 64-bit hosts).  And some invalid
93721         time stamps were being accepted, e.g. September 31.
93722
93723         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93724         that we can return (time_t) -1 successfully.
93725         * lib/posixtm.c: Likewise.
93726         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93727         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93728         (t): Remove static var.
93729         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93730         of static var.  All uses changed.
93731         (year): Do not reject years before 1900; they can occur with
93732         64-bit time_t.
93733         (posix_time_parse): Do not check for out-of-range components;
93734         that is now the caller's responsibility, since our checks were
93735         only approximations.
93736         (posixtime): Use mktime to check for out-of-range components,
93737         since it knows them exactly.
93738         If mktime returns (time_t) -1, check whether an error actually occurred
93739         by invoking localtime on -1.
93740         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93741         posixtime failures better.
93742         Improve the test data (in comments only).
93743
93744 2003-06-02  Karl Berry  <karl@gnu.org>
93745
93746         * config/mkinstalldirs (version): new variable.
93747         (--version): new option.
93748         (usage): improve message.
93749
93750 2003-05-30  Karl Berry  <karl@gnu.org>
93751
93752         * lib/mktime.c: update from libc.
93753
93754 2003-05-30  Bruno Haible  <bruno@clisp.org>
93755
93756         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93757         * config/config.rpath: Upgrade to gettext-0.12.1.
93758
93759 2003-05-30  Bruno Haible  <bruno@clisp.org>
93760
93761         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93762         * m4/nls.m4: New file, from gettext-0.12.1.
93763         * m4/po.m4: New file, from gettext-0.12.1.
93764         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93765
93766 2003-05-30  Bruno Haible  <bruno@clisp.org>
93767
93768         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93769         * lib/localcharset.h: Likewise.
93770         * lib/localcharset.c: Likewise.
93771
93772 2003-05-29  Karl Berry  <karl@gnu.org>
93773
93774         * config/config.rpath: update from gettext.
93775
93776 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93777
93778         Assume the headers required for C89 freestanding compilers.
93779         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93780         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93781         * m4/human.m4 (gl_HUMAN): Likewise.
93782         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93783         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93784         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93785         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93786         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93787         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93788
93789 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93790
93791         Assume the headers required for C89 freestanding compilers.
93792         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93793         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93794         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93795         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93796         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93797         define, since <limits.h> is guaranteed to do that.
93798         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93799         * lib/exclude.c: Include <stdbool.h> unconditionally.
93800         * lib/tempname.c: Include <stddef.h> unconditionally.
93801         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93802         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93803         <stddef.h> does that.
93804         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93805         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93806         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93807         needed.
93808         * lib/xstrtol.c: Likewise.
93809         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93810         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93811
93812         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93813         warnings on some platforms.
93814
93815         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93816         arbitrarily.
93817
93818 2003-05-26  Jim Meyering  <jim@meyering.net>
93819
93820         Merge in a change from coreutils:
93821         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93822         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93823         that condition, rather than `-1' which is slightly misleading.
93824         Change the name of the cache variable to have the gl_ prefix.
93825         Prompted by a patch from Richard Dawe for DJGPP.
93826
93827 2003-05-24  Karl Berry  <karl@gnu.org>
93828
93829         * config/config.guess: update from prep.
93830
93831 2003-05-22  Karl Berry  <karl@gnu.org>
93832
93833         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93834
93835 2003-05-20  Karl Berry  <karl@gnu.org>
93836
93837         * config/config.guess: update from prep.
93838
93839 2003-05-18  Karl Berry  <karl@gnu.org>
93840
93841         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93842         might actually be set by the user.
93843
93844         * config/depcomp, install-sh, mdate-sh: update from automake.
93845
93846 2003-05-17  Bruno Haible  <bruno@clisp.org>
93847
93848         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93849         invalid expansion for AC_EGREP_CPP.
93850         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93851         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93852         Suggested by Akim Demaille <akim@epita.fr> in
93853         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93854
93855 2003-05-12  Jim Meyering  <jim@meyering.net>
93856
93857         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93858         the space-padded-by-default conversion specifiers, %e, %k, %l.
93859
93860 2003-05-12  Bruno Haible  <bruno@clisp.org>
93861
93862         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93863         the string is longer than 4 KB.
93864
93865 2003-05-11  Karl Berry  <karl@gnu.org>
93866
93867         * config/config.{guess,sub}: update from prep.
93868
93869 2003-05-09  Bruno Haible  <bruno@clisp.org>
93870
93871         * modules/error: Add m4/strerror_r.m4 to file list.
93872
93873 2003-05-03  Bruno Haible  <bruno@clisp.org>
93874
93875         Upgrade to Unicode-4.0.
93876         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93877         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93878         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93879         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93880         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93881         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93882         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93883         Change width of U+E0100..U+E01EF from 1 to 0.
93884
93885 2003-04-25  Jim Meyering  <jim@meyering.net>
93886
93887         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93888         of type size_t, not int.
93889
93890 2003-04-25  Bruno Haible  <bruno@clisp.org>
93891
93892         * lib/copy-file.c: Include <stddef.h>, for size_t.
93893
93894 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93895
93896         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93897         code which expansion is under static control.  Patch imported from
93898         Akim Demaille's patch to Bison; see
93899         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93900
93901 2003-04-14  Bruno Haible  <bruno@clisp.org>
93902
93903         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93904
93905 2003-04-11  Jim Meyering  <jim@meyering.net>
93906
93907         Merge changes from Coreutils.
93908
93909         2003-03-22  Jim Meyering  <jim@meyering.net>
93910
93911         * lib/strftime.c (widen): Cast alloca return value to proper type.
93912
93913         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93914
93915         From GNU libc.
93916         * lib/strftime.c (my_strftime): Handle very large width
93917         specifications for numeric values correctly.  Improve checks for
93918         overflow.
93919
93920         2003-01-19  Jim Meyering  <jim@meyering.net>
93921
93922         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93923         definitions.
93924         (nl_get_alt_digit) [! defined my_strftime]: Define.
93925         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93926         _nl_get_alt_digit and _nl_get_walt_digit.
93927
93928         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93929         libc. These changes have no effect outside of _LIBC.
93930
93931 2003-04-10  Bruno Haible  <bruno@clisp.org>
93932
93933         * modules/findprog: New file.
93934         * MODULES.html.sh (func_all_modules): Add it.
93935
93936 2003-04-10  Bruno Haible  <bruno@clisp.org>
93937
93938         * m4/findprog.m4: New file.
93939         * m4/eaccess.m4: New file.
93940
93941 2003-04-10  Bruno Haible  <bruno@clisp.org>
93942
93943         * lib/findprog.h: New file, from GNU gettext.
93944         * lib/findprog.c: New file, from GNU gettext.
93945
93946 2003-04-05  Jim Meyering  <jim@meyering.net>
93947
93948         Merge changes from Coreutils.
93949
93950         * lib/exclude.h (PARAMS): Remove definition and uses.
93951         * lib/exclude.c: Remove uses of `PARAMS'.
93952
93953         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93954         Add test-cases for DOS filenames. Declare program_name.
93955         (main): Set up program_name.  Patch by Rich Dawe.
93956
93957         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93958         error from mntctl.
93959         Use mntctl's return value to drive the entry-processing loop, since
93960         we can't rely on the value of the vmt_length member in the last
93961         entry.  On some systems doing so could result in exhausting
93962         virtual memory.  Based in part on a patch from Mike Jetzer.
93963
93964 2003-04-04  Bruno Haible  <bruno@clisp.org>
93965
93966         * modules/linebreak: New file.
93967         * MODULES.html.sh (func_all_modules): Add it.
93968
93969 2003-04-04  Bruno Haible  <bruno@clisp.org>
93970
93971         * m4/linebreak.m4: New file.
93972
93973 2003-04-04  Bruno Haible  <bruno@clisp.org>
93974
93975         * lib/linebreak.h: New file, from GNU gettext.
93976         * lib/linebreak.c: New file, from GNU gettext with slight
93977         modifications.
93978         * lib/lbrkprop.h: New file, from GNU gettext.
93979
93980 2003-04-03  Bruno Haible  <bruno@clisp.org>
93981
93982         * modules/utf8-ucs4: New file.
93983         * modules/utf16-ucs4: New file.
93984         * modules/ucs4-utf8: New file.
93985         * modules/ucs4-utf16: New file.
93986         * MODULES.html.sh (func_all_modules): Add them.
93987
93988 2003-04-03  Bruno Haible  <bruno@clisp.org>
93989
93990         * m4/utf-ucs4.m4: New file.
93991         * m4/ucs4-utf.m4: New file.
93992
93993 2003-04-03  Bruno Haible  <bruno@clisp.org>
93994
93995         * lib/utf8-ucs4.h: New file, from GNU gettext.
93996         * lib/utf16-ucs4.h: New file, from GNU gettext.
93997         * lib/ucs4-utf8.h: New file, from GNU gettext.
93998         * lib/ucs4-utf16.h: New file, from GNU gettext.
93999
94000 2003-04-02  Bruno Haible  <bruno@clisp.org>
94001
94002         * modules/binary-io: New file.
94003         * MODULES.html.sh (func_all_modules): Add it.
94004
94005 2003-04-02  Bruno Haible  <bruno@clisp.org>
94006
94007         * lib/binary-io.h: New file, from GNU gettext.
94008
94009 2003-04-01  Bruno Haible  <bruno@clisp.org>
94010
94011         * modules/pathname: New file.
94012         * MODULES.html.sh (func_all_modules): Add it.
94013
94014 2003-04-01  Bruno Haible  <bruno@clisp.org>
94015
94016         * lib/pathname.h: New file, from GNU gettext.
94017         * lib/concatpath.c: New file, from GNU gettext.
94018
94019 2003-03-30  Bruno Haible  <bruno@clisp.org>
94020
94021         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94022
94023 2003-03-30  Bruno Haible  <bruno@clisp.org>
94024
94025         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94026         function chown() doesn't exist.
94027
94028 2003-03-28  Bruno Haible  <bruno@clisp.org>
94029
94030         * modules/copy-file: New file.
94031         * MODULES.html.sh (func_all_modules): Add it.
94032
94033 2003-03-28  Bruno Haible  <bruno@clisp.org>
94034
94035         * m4/copy-file.m4: New file.
94036
94037 2003-03-28  Bruno Haible  <bruno@clisp.org>
94038
94039         * lib/copy-file.h: New file, from GNU gettext.
94040         * lib/copy-file.c: New file, from GNU gettext.
94041
94042 2003-03-18  Jim Meyering  <jim@meyering.net>
94043
94044         * lib/quote.c (quote_n): Fix typo in comment.
94045
94046 2003-03-18  Bruno Haible  <bruno@clisp.org>
94047
94048         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94049         checking.
94050         * m4/onceonly_2_57.m4: Likewise.
94051
94052 2003-03-17  Bruno Haible  <bruno@clisp.org>
94053
94054         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94055         (m4_quote): Remove macro.
94056         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94057
94058 2003-03-14  Jim Meyering  <jim@meyering.net>
94059
94060         Merge changes from Coreutils.
94061         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94062         to be const, in order to avoid warnings.
94063         (obstack_room): Likewise.
94064         (obstack_empty_p): Likewise.
94065
94066 2003-03-14  Bruno Haible  <bruno@clisp.org>
94067
94068         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94069         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94070
94071 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94072
94073         Merge changes from Bison.
94074         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94075         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94076         when compiling Bison 1.875's `bitset bset = obstack_alloc
94077         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
94078         * lib/hash.c: Include <stdbool.h> unconditionally.
94079
94080 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94081
94082         * m4/onceonly.m4 (m4_quote): New macro.
94083         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94084         Quote AC_FOREACH variable-expansions properly.
94085
94086 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94087
94088         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94089
94090 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94091
94092         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94093         Reported by Bruce Becker; see:
94094         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94095
94096 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94097             Bruno Haible  <bruno@clisp.org>
94098
94099         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94100         Reported by John Hughes, see
94101         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94102
94103 2003-02-20  Bruno Haible  <bruno@clisp.org>
94104
94105         * MODULES.html.sh (func_all_modules): Add poll.
94106
94107 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94108
94109         * modules/poll: New file.
94110
94111 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94112
94113         * lib/poll_.h: New file.
94114         * lib/poll.c: New file.
94115
94116 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94117
94118         * m4/poll.m4: New file.
94119
94120 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94121
94122         * modules/mathl: New file.
94123
94124 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94125
94126         * lib/mathl.h: New file.
94127         * lib/acosl.c: New file.
94128         * lib/asinl.c: New file.
94129         * lib/atanl.c: New file.
94130         * lib/ceill.c: New file.
94131         * lib/cosl.c: New file.
94132         * lib/expl.c: New file.
94133         * lib/floorl.c: New file.
94134         * lib/frexpl.c: New file.
94135         * lib/ldexpl.c: New file.
94136         * lib/logl.c: New file.
94137         * lib/sincosl.c: New file.
94138         * lib/sinl.c: New file.
94139         * lib/sqrtl.c: New file.
94140         * lib/tanl.c: New file.
94141         * lib/trigl.c: New file.
94142         * lib/trigl.h: New file.
94143
94144 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94145
94146         * m4/mathl.m4: New file.
94147
94148 2003-02-18  Bruno Haible  <bruno@clisp.org>
94149
94150         * MODULES.html.sh (func_all_modules): Add mathl.
94151
94152 2003-02-17  Bruno Haible  <bruno@clisp.org>
94153
94154         * modules/mkdtemp: New module.
94155         * MODULES.html.sh (func_all_modules): Add it.
94156
94157 2003-02-17  Bruno Haible  <bruno@clisp.org>
94158
94159         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94160
94161 2003-02-17  Bruno Haible  <bruno@clisp.org>
94162
94163         * lib/mkdtemp.h: New file, from GNU gettext.
94164         * lib/mkdtemp.c: New file, from GNU gettext.
94165
94166 2003-02-02  Jim Meyering  <jim@meyering.net>
94167
94168         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94169         e.g. glibc-2.2.93.
94170
94171 2003-01-31  Bruno Haible  <bruno@clisp.org>
94172
94173         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94174         'rpl_rename'.
94175         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94176         'rpl_strnlen'.
94177         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94178         'rpl_strtod'.
94179         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94180         'rpl_utime'.
94181
94182 2003-01-31  Bruno Haible  <bruno@clisp.org>
94183
94184         * lib/rename.c: #undef rename before defining rpl_rename.
94185         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94186
94187 2003-01-30  Bruno Haible  <bruno@clisp.org>
94188
94189         * modules/vasnprintf, modules/vasprintf: New modules.
94190         * MODULES.html.sh (func_all_modules): Add them.
94191
94192 2003-01-30  Bruno Haible  <bruno@clisp.org>
94193
94194         * m4/signed.m4: New file, from GNU gettext.
94195         * m4/longdouble.m4: New file, from GNU gettext.
94196         * m4/wchar_t.m4: New file, from GNU gettext.
94197         * m4/wint_t.m4: New file, from GNU gettext.
94198         * m4/vasnprintf.m4: New file.
94199         * m4/vasprintf.m4: New file.
94200
94201 2003-01-30  Bruno Haible  <bruno@clisp.org>
94202
94203         * lib/printf-args.h: New file, from GNU gettext.
94204         * lib/printf-args.c: New file, from GNU gettext.
94205         * lib/printf-parse.h: New file, from GNU gettext.
94206         * lib/printf-parse.c: New file, from GNU gettext.
94207         * lib/vasnprintf.h: New file, from GNU gettext.
94208         * lib/vasnprintf.c: New file, from GNU gettext.
94209         * lib/asnprintf.c: New file, from GNU gettext.
94210         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94211         * lib/vasprintf.c: New file, from GNU gettext.
94212         * lib/asprintf.c: New file, from GNU gettext.
94213
94214 2003-01-29  Bruno Haible  <bruno@clisp.org>
94215
94216         * modules/stpncpy: New module.
94217         * MODULES.html.sh (func_all_modules): Add it.
94218
94219 2003-01-29  Bruno Haible  <bruno@clisp.org>
94220
94221         * m4/stpncpy.m4: New file.
94222
94223 2003-01-29  Bruno Haible  <bruno@clisp.org>
94224
94225         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94226         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94227
94228 2003-01-28  Bruno Haible  <bruno@clisp.org>
94229
94230         * modules/c-ctype: New module.
94231         * MODULES.html.sh (func_all_modules): Add it.
94232
94233 2003-01-28  Bruno Haible  <bruno@clisp.org>
94234
94235         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94236         Paul Eggert.
94237         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94238         Paul Eggert.
94239
94240 2003-01-27  Bruno Haible  <bruno@clisp.org>
94241
94242         * modules/xsetenv: New module.
94243         * MODULES.html.sh (func_all_modules): Add it.
94244
94245 2003-01-27  Bruno Haible  <bruno@clisp.org>
94246
94247         * lib/xsetenv.h: New file, from GNU gettext.
94248         * lib/xsetenv.c: New file, from GNU gettext.
94249
94250 2003-01-23  Jim Meyering  <jim@meyering.net>
94251
94252         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94253         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94254
94255 2003-01-23  Bruno Haible  <bruno@clisp.org>
94256
94257         * modules/minmax: New module.
94258         * MODULES.html.sh (func_all_modules): Add it.
94259
94260 2003-01-23  Bruno Haible  <bruno@clisp.org>
94261
94262         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94263         Eggert.
94264
94265 2003-01-22  Bruno Haible  <bruno@clisp.org>
94266
94267         * modules/exit: New module.
94268         * MODULES.html.sh (func_all_modules): Add it.
94269
94270 2003-01-22  Bruno Haible  <bruno@clisp.org>
94271
94272         * lib/exit.h: New file, from GNU gettext.
94273
94274 2003-01-19  Bruno Haible  <bruno@clisp.org>
94275
94276         * gnulib-tool: Recognize option --extract-maintainer.
94277         (func_get_maintainer): New function.
94278         * modules/*: Add Maintainer entry.
94279
94280 2003-01-16  Jim Meyering  <jim@meyering.net>
94281
94282         * m4/regex.m4: The `regex' struct is both input and output.
94283         Initialize it before each use.  Patch by Tim Waugh.
94284
94285 2003-01-16  Bruno Haible  <bruno@clisp.org>
94286
94287         * MODULES.html.sh: Add a table of contents. Add the module name as
94288         leftmost column. Add hyperlinks.
94289
94290 2003-01-15  Bruno Haible  <bruno@clisp.org>
94291
94292         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94293
94294 2003-01-15  Bruno Haible  <bruno@clisp.org>
94295
94296         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94297         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94298         suffix.
94299
94300 2003-01-15  Bruno Haible  <bruno@clisp.org>
94301
94302         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94303
94304 2003-01-15  Bruno Haible  <bruno@clisp.org>
94305
94306         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94307         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94308
94309 2003-01-14  Jim Meyering  <jim@meyering.net>
94310
94311         * lib/same.c (same_name): Tweak a comment.
94312
94313 2003-01-14  Bruno Haible  <bruno@clisp.org>
94314
94315         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94316         when a string comparison is sufficient.
94317
94318 2003-01-14  Bruno Haible  <bruno@clisp.org>
94319
94320         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94321         'unsigned int'.
94322
94323 2003-01-14  Bruno Haible  <bruno@clisp.org>
94324
94325         * lib/hash-pjw.c: Add comment about low quality of this function.
94326
94327 2003-01-13  Bruno Haible  <bruno@clisp.org>
94328
94329         * modules/stpcpy: Distribute lib/stpcpy.h.
94330         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94331
94332 2003-01-13  Bruno Haible  <bruno@clisp.org>
94333
94334         * modules/*: Add a description.
94335         * modules/strpbrk: Fix Makefile.am snippet.
94336         * modules/strtoimax: Fix dependencies.
94337         * modules/strtoumax: Likewise.
94338
94339 2003-01-13  Bruno Haible  <bruno@clisp.org>
94340
94341         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94342         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94343         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94344
94345 2003-01-13  Bruno Haible  <bruno@clisp.org>
94346
94347         * gnulib-tool (func_create_testdir): Store config/* files in the main
94348         directory.
94349         * config.rpath: Move to ...
94350         * config/config.rpath: ... here.
94351         * modules/gettext: Contains config/config.rpath, not config.rpath.
94352         * modules/iconv: Likewise.
94353
94354 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94355
94356         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94357         to avoid collisions with libcurses and libreadline.
94358
94359         * m4/getstr.m4: Remove.
94360         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94361
94362 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94363
94364         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94365         to avoid collisions with libcurses and libreadline.
94366
94367         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94368         * lib/getstr.h, getstr.c: Remove.
94369         * lib/getline.c: Include "getline.h", to check interface.
94370         Move body of old getstr.c here: this defines MIN_CHUNK and
94371         declares getdelim2, which is renamed from getstr.
94372         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94373
94374         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94375         All uses changed.
94376         * lib/linebuffer.h: Likewise.
94377         (readline): Remove backward-compatibility macro.
94378
94379 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94380
94381         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94382         to avoid collisions with libcurses and libreadline.
94383         * getstr: Remove.
94384         * MODULES.html.sh: Remove getstr.
94385         * modules/getline: Depend on unlocked-io, not getstr.
94386
94387 2003-01-12  Jim Meyering  <jim@meyering.net>
94388
94389         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94390
94391 2003-01-10  Bruno Haible  <bruno@clisp.org>
94392
94393         * modules/alloca: Change Makefile.am requirements. Simplify Include
94394         requirements. Add lib/alloca_.h to file list.
94395
94396 2003-01-10  Bruno Haible  <bruno@clisp.org>
94397
94398         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94399
94400 2003-01-10  Bruno Haible  <bruno@clisp.org>
94401
94402         * lib/alloca_.h: New file.
94403         * lib/getdate.y: Unconditionally include alloca.h.
94404         * lib/makepath.c: Likewise.
94405         * lib/setenv.c: Likewise.
94406         * lib/userspec.c: Likewise.
94407
94408 2003-01-09  Karl Berry  <karl@gnu.org>
94409
94410         * MODULES.html.sh: include `dirname $0` in PATH, to find
94411         gnulib-tool.
94412
94413 2003-01-09  Bruno Haible  <bruno@clisp.org>
94414
94415         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94416         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94417
94418 2003-01-09  Bruno Haible  <bruno@clisp.org>
94419
94420         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94421
94422 2003-01-09  Bruno Haible  <bruno@clisp.org>
94423
94424         * lib/stdbool.h.in: New file.
94425
94426 2003-01-09  Bruno Haible  <bruno@clisp.org>
94427
94428         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94429         * MODULES.html.sh: Likewise.
94430
94431 2003-01-08  Jim Meyering  <jim@meyering.net>
94432
94433         * lib/full-write.c: Undefine and define-away `const' after inclusion
94434         of errno.h, not before.  Suggestion from Bruno Haible.
94435
94436 2003-01-08  Bruno Haible  <bruno@clisp.org>
94437
94438         * modules/full-read: Depend on full-write.
94439
94440 2003-01-08  Bruno Haible  <bruno@clisp.org>
94441
94442         * lib/safe-read.c: Include specification header first, to ensure its
94443         selfcontainedness.
94444         * lib/full-write.c: Likewise.
94445
94446 2003-01-07  Jim Meyering  <jim@meyering.net>
94447
94448         * lib/full-write.c: Rework so that it may serve to define full_read,
94449         too.
94450         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94451
94452 2003-01-07  Bruno Haible  <bruno@clisp.org>
94453
94454         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94455         <inttypes.h>.
94456         * lib/xstrtol.h: Likewise.
94457         * lib/xstrtoimax.c: Likewise.
94458         * lib/xstrtoumax.c: Likewise.
94459         * lib/human.h: Likewise.
94460
94461         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94462         on systems that have <inttypes.h> but not <stdint.h>.
94463
94464 2003-01-07  Bruno Haible  <bruno@clisp.org>
94465
94466         * MODULES.html.sh: Add copyright notice.
94467         (missed_files): Omit CVS directory entries.
94468         (func_module): Make it work with sed-3.02.
94469         * MODULES.txt: Remove file.
94470
94471 2003-01-06  Jim Meyering  <jim@meyering.net>
94472
94473         * lib/version-etc.c: Update year in translatable copyright string.
94474
94475 2003-01-03  Karl Berry  <karl@gnu.org>
94476
94477         * config/config.{guess,sub}: update from prep.
94478
94479 2003-01-02  Karl Berry  <karl@gnu.org>
94480
94481         * doc/COPYING.DOC: belatedly updated to 1.2.
94482
94483 2003-01-01  Karl Berry  <karl@gnu.org>
94484
94485         * gnulib-tool (func_verify_module): report module name $module in
94486         error message, not $1.
94487         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94488         be created, only if it doesn't exist.
94489         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94490
94491 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94492
94493         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94494
94495 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94496
94497         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94498         memcmp if strcoll doesn't work.
94499
94500 2002-12-31  Bruno Haible  <bruno@clisp.org>
94501
94502         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94503         nonempty.
94504
94505 2002-12-31  Bruno Haible  <bruno@clisp.org>
94506
94507         * lib/memcoll.c (STRCOLL): New macro.
94508         (memcoll): Use it.
94509
94510 2002-12-31  Bruno Haible  <bruno@clisp.org>
94511
94512         * lib/localcharset.h: New file.
94513         * lib/localcharset.c: Include it.
94514         * lib/unicodeio.c: Likewise.
94515
94516 2002-12-31  Bruno Haible  <bruno@clisp.org>
94517
94518         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94519         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94520
94521 2002-12-31  Bruno Haible  <bruno@clisp.org>
94522
94523         * lib/getline.h: Include <stddef.h>, for size_t.
94524
94525         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94526         * lib/unicodeio.c: Don't include <stddef.h>.
94527
94528 2002-12-31  Bruno Haible  <bruno@clisp.org>
94529
94530         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94531         HAVE_TM_ZONE.
94532
94533 2002-12-24  Karl Berry  <karl@gnu.org>
94534
94535         * config/config.guess: update from prep.
94536
94537 2002-12-24  Bruno Haible  <bruno@clisp.org>
94538
94539         General infrasructure.
94540         * m4/README: Rewritten.
94541         * m4/onceonly.m4: New file.
94542         * m4/onceonly_2_57.m4: New file.
94543
94544         Module atexit.
94545         * m4/atexit.m4: New file.
94546
94547         Module strtod.
94548         * m4/strtod.m4: New file.
94549
94550         Module strtol.
94551         * m4/strtol.m4: New file.
94552
94553         Module strtoul.
94554         * m4/strtoul.m4: New file.
94555
94556         Module memchr.
94557         * m4/memchr.m4: New file.
94558
94559         Module memcmp.
94560         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94561         (jm_FUNC_MEMCMP): Invoke it.
94562
94563         Module memcpy.
94564         * m4/memcpy.m4: New file.
94565
94566         Module memmove.
94567         * m4/memmove.m4: New file.
94568
94569         Module memset.
94570         * m4/memset.m4: New file.
94571
94572         Module strcspn.
94573         * m4/strcspn.m4: New file.
94574
94575         Module strpbrk.
94576         * m4/strpbrk.m4: New file.
94577
94578         Module strstr.
94579         * m4/strstr.m4: New file.
94580
94581         Module strerror.
94582         * m4/strerror.m4: New file.
94583
94584         Module mktime.
94585         * m4/mktime.m4: Renamed from jm-mktime.m4.
94586         (gl_PREREQ_MKTIME): New macro.
94587         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94588
94589         Module malloc.
94590         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94591         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94592         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94593
94594         Module realloc.
94595         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94596         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94597         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94598
94599         Module strftime.
94600         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94601         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94602         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94603         gl_TM_GMTOFF.
94604         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94605
94606         Module xalloc.
94607         * m4/xalloc.m4: New file.
94608
94609         Module alloca.
94610         * m4/alloca.m4: New file.
94611
94612         Module putenv.
94613         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94614         (jm_FUNC_PUTENV): Invoke it.
94615
94616         Module setenv.
94617         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94618         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94619         when invoked twice.
94620         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94621         gt_FUNC_SETENV.
94622
94623         Module memrchr.
94624         * m4/memrchr.m4: New file.
94625
94626         Module stpcpy.
94627         * m4/stpcpy.m4: New file.
94628
94629         Module strcase.
94630         * m4/strcase.m4: New file.
94631
94632         Module strdup.
94633         * m4/strdup.m4: New file.
94634
94635         Module strnlen.
94636         * m4/strnlen.m4: New file.
94637
94638         Module strndup.
94639         * m4/strndup.m4: New file.
94640
94641         Module xstrtod.
94642         * m4/xstrtod.m4: New file.
94643
94644         Module xstrtol.
94645         * m4/xstrtol.m4: New file.
94646
94647         Module getdate.
94648         * m4/getdate.m4: New file.
94649
94650         Module unlocked-io.
94651         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94652         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94653         * m4/jm-glibc-io.m4n: Remove file.
94654
94655         Module long-options.
94656         * m4/long-options.m4: New file.
94657
94658         Module md5.
94659         * m4/md5.m4: New file.
94660
94661         Module sha.
94662         * m4/sha.m4: New file.
94663
94664         Module getstr.
94665         * m4/getstr.m4: New file.
94666
94667         Module getline.
94668         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94669         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94670         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94671         simply getline. Infoke gl_PREREQ_GETLINE.
94672
94673         Module obstack.
94674         * m4/obstack.m4: New file.
94675
94676         Module hash.
94677         * m4/hash.m4: New file.
94678
94679         Module readtokens.
94680         * m4/readtokens.m4: New file.
94681
94682         Module strverscmp.
94683         * m4/strverscmp.m4: New file.
94684
94685         Module stdbool.
94686         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94687         OSF/1.
94688
94689         Module strtoll.
94690         * m4/strtoll.m4: New file.
94691
94692         Module strtoull.
94693         * m4/strtoull.m4: New file.
94694
94695         Module strtoimax.
94696         * m4/strtoimax.m4: New file.
94697
94698         Module strtoumax.
94699         * m4/strtoumax.m4: New file.
94700
94701         Module xstrtoimax.
94702         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94703         jm_AC_PREREQ_XSTRTOIMAX.
94704         Moved the strtol prerequisites to strtol.m4.
94705         Moved the strtoll prerequisites to strtoll.m4.
94706         Moved the strtoimax prerequisites to strtoimax.m4.
94707
94708         Module xstrtoumax.
94709         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94710         jm_AC_PREREQ_XSTRTOUMAX.
94711         Moved the strtoul prerequisites to strtoul.m4.
94712         Moved the strtoull prerequisites to strtoull.m4.
94713         Moved the strtoumax prerequisites to strtoumax.m4.
94714
94715         Module chown.
94716         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94717         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94718
94719         Module dup2.
94720         * m4/dup2.m4: New file.
94721
94722         Module ftruncate.
94723         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94724         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94725
94726         Module getgroups.
94727         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94728         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94729
94730         Module gettimeofday.
94731         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94732         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94733         gl_PREREQ_GETTIMEOFDAY.
94734
94735         Module mkdir.
94736         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94737         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94738
94739         Module mkstemp.
94740         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94741         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94742         jm_AC_TYPE_UINTMAX_T.
94743         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94744
94745         Module stat.
94746         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94747         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94748
94749         Module lstat.
94750         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94751         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94752
94753         Module timespec.
94754         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94755         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94756         * m4/st_mtim.m4: Indentation.
94757
94758         Module nanosleep.
94759         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94760         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94761         gl_PREREQ_NANOSLEEP.
94762
94763         Module regex.
94764         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94765         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94766         (gl_REGEX): New macro.
94767
94768         Module rename.
94769         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94770         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94771
94772         Module rmdir.
94773         * m4/rmdir.m4: New file.
94774
94775         Module utime.
94776         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94777         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94778         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94779
94780         Module dirname.
94781         * m4/dirname.m4: New file.
94782
94783         Module getopt.
94784         * m4/getopt.m4: New file.
94785
94786         Module unistd-safer.
94787         * m4/unistd-safer.m4: New file.
94788
94789         Module fnmatch.
94790         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94791         declaration.
94792         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94793         (gl_FUNC_FNMATCH_POSIX): New macro.
94794         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94795         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94796         simply fnmatch.
94797
94798         Module exclude.
94799         * m4/exclude.m4: New file.
94800
94801         Module human.
94802         * m4/human.m4: New file.
94803
94804         Module acl.
94805         * m4/acl.m4: Nop.
94806
94807         Module backupfile.
94808         * m4/backupfile.m4: New file.
94809         * m4/d-ino.m4: Indentation.
94810
94811         Module fsusage.
94812         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94813         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94814         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94815
94816         Module dirfd.
94817         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94818         requirements.
94819
94820         Module euidaccess.
94821         * m4/euidaccess.m4: New file.
94822
94823         Module file-type.
94824         * m4/file-type.m4: New file.
94825
94826         Module fileblocks.
94827         * m4/fileblocks.m4: New file.
94828
94829         Module filemode.
94830         * m4/filemode.m4: New file.
94831
94832         Module isdir.
94833         * m4/isdir.m4: New file.
94834
94835         Module lchown.
94836         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94837         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94838
94839         Module makepath.
94840         * m4/makepath.m4: New file.
94841
94842         Module modechange.
94843         * m4/modechange.m4: New file.
94844
94845         Module mountlist.
94846         * m4/mountlist.m4: New file.
94847         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94848         Indentation.
94849
94850         Module path-concat.
94851         * m4/path-concat.m4: New file.
94852
94853         Module pathmax.
94854         * m4/pathmax.m4: New file.
94855
94856         Module same.
94857         * m4/same.m4: New file.
94858
94859         Module save-cwd.
94860         * m4/save-cwd.m4: New file.
94861
94862         Module savedir.
94863         * m4/savedir.m4: New file.
94864
94865         Module xgetcwd.
94866         * m4/xgetcwd.m4: New file.
94867         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94868
94869         Module xreadlink.
94870         * m4/xreadlink.m4: New file.
94871
94872         Module safe-read.
94873         * m4/safe-read.m4: New file.
94874
94875         Module safe-write.
94876         * m4/safe-write.m4: New file.
94877
94878         Module closeout.
94879         * m4/closeout.m4: New file.
94880
94881         Module stdio-safer.
94882         * m4/stdio-safer.m4: New file.
94883
94884         Module getpass.
94885         * m4/getpass.m4: New file.
94886
94887         Module getugroups.
94888         * m4/getugroups.m4: New file.
94889
94890         Module group-member.
94891         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94892         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94893
94894         Module idcache.
94895         * m4/idcache.m4: New file.
94896
94897         Module userspec.
94898         * m4/userspec.m4: New file.
94899
94900         Module gettime.
94901         * m4/clock_time.m4: New file.
94902         * m4/gettime.m4: New file.
94903
94904         Module settime.
94905         * m4/settime.m4: New file.
94906
94907         Module posixtm.
94908         * m4/posixtm.m4: New file.
94909
94910         Module gethostname.
94911         * m4/gethostname.m4: New file.
94912
94913         Module canon-host.
94914         * m4/canon-host.m4: New file.
94915
94916         Module gettext.
94917         * m4/codeset.m4: New file, from gettext-0.11.5.
94918         * m4/gettext.m4: New file, from gettext-0.11.5.
94919         * m4/glibc21.m4: New file, from gettext-0.11.5.
94920         * m4/iconv.m4: New file, from gettext-0.11.5.
94921         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94922         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94923         * m4/inttypes.m4: New file, from gettext-0.11.5.
94924         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94925         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94926         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94927         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94928         * m4/lib-link.m4: New file, from gettext-0.11.5.
94929         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94930         * m4/progtest.m4: New file, from gettext-0.11.5.
94931         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94932         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94933         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94934
94935         Module localcharset.
94936         * m4/localcharset.m4: New file.
94937
94938         Module hard-locale.
94939         * m4/hard-locale.m4: New file.
94940
94941         Module mbswidth.
94942         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94943         onceonly macros.
94944         * m4/mbrtowc.m4: Add comment.
94945
94946         Module memcasecmp.
94947         * m4/memcasecmp.m4: New file.
94948
94949         Module memcoll.
94950         * m4/memcoll.m4: New file.
94951
94952         Module unicodeio.
94953         * m4/unicodeio.m4: New file.
94954
94955         Module rpmatch.
94956         * m4/rpmatch.m4: New file.
94957
94958         Module yesno.
94959         * m4/yesno.m4: New file.
94960
94961         Module exitfail.
94962         * m4/exitfail.m4: New file.
94963
94964         Module c-stack.
94965         * m4/c-stack.m4 (gl_C_STACK): New macro.
94966         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94967
94968         Module error.
94969         * m4/error.m4 (gl_ERROR): New macro.
94970         (jm_PREREQ_ERROR): Use onceonly macros.
94971
94972         Module fatal.
94973         * m4/fatal.m4: New file.
94974
94975         Module getloadavg.
94976         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94977         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94978
94979         Module getpagesize.
94980         * m4/getpagesize.m4: New file.
94981
94982         Module getusershell.
94983         * m4/getusershell.m4: New file.
94984
94985         Module physmem.
94986         * m4/physmem.m4: New file.
94987
94988         Module posixver.
94989         * m4/posixver.m4: New file.
94990
94991         Module quotearg.
94992         * m4/quotearg.m4: New file.
94993
94994         Module quote.
94995         * m4/quote.m4: New file.
94996
94997         Module readutmp.
94998         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94999
95000         Module sig2str.
95001         * m4/sig2str.m4: New file.
95002
95003         Other.
95004         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95005         ulonglong.m4.
95006         * m4/intmax_t.m4: New file.
95007         * m4/d-type.m4: Indentation.
95008         * m4/jm-macros.m4: Update.
95009         * m4/prereq.m4 (jm_PREREQ): Update.
95010         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95011         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95012         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95013         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95014         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95015         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95016         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95017         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95018         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95019         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95020         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95021         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95022         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95023         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95024         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95025         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95026         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95027         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95028         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95029
95030 2002-12-24  Bruno Haible  <bruno@clisp.org>
95031
95032         * MODULES.txt: Update according to m4/ changes.
95033
95034         Module gettext.
95035         * config.rpath: New file, from gettext-0.11.5.
95036
95037         * modules/*: New module descriptions.
95038         * gnulib-tool: New file.
95039         * MODULES.html.sh: New file.
95040
95041 2002-12-21  Karl Berry  <karl@gnu.org>
95042
95043         * doc/fdl.texi: update to version 1.2.
95044
95045 2002-12-19  Karl Berry  <karl@gnu.org>
95046
95047         * config/config.guess: update from prep.
95048
95049 2002-12-18  Bruno Haible  <bruno@clisp.org>
95050
95051         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95052         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95053
95054 2002-12-17  Bruno Haible  <bruno@clisp.org>
95055
95056         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95057         stdlib.h, string.h.
95058
95059 2002-12-17  Bruno Haible  <bruno@clisp.org>
95060
95061         * lib/canon-host.c (strdup): Remove unused declaration.
95062
95063         * lib/fsusage.c: Include full_read.h.
95064         (get_fs_usage): Use full_read instead of safe_read.
95065
95066         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95067
95068 2002-12-12  Karl Berry  <karl@gnu.org>
95069
95070         * config/config.guess: update from prep.
95071
95072 2002-12-11  Bruno Haible  <bruno@clisp.org>
95073
95074         * m4/setenv.m4: New file, from gettext-0.11.5.
95075
95076 2002-12-11  Bruno Haible  <bruno@clisp.org>
95077
95078         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
95079         not unsetenv().
95080         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
95081         modifications:
95082
95083         2002-12-11  Bruno Haible  <bruno@clisp.org>
95084
95085                 * setenv.c (alloca): Fall back to malloc.
95086                 (freea): New macro.
95087                 (setenv): Use freea() to free memory allocated with alloca().
95088
95089         2002-11-13  Bruno Haible  <bruno@clisp.org>
95090
95091                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95092                 function declarations.
95093                 * unsetenv.c (unsetenv): Likewise.
95094
95095         2002-03-04  Bruno Haible  <bruno@clisp.org>
95096
95097                 Portability to AIX 4.3.3.
95098                 * unsetenv.c: New file, extracted from setenv.c.
95099                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95100
95101         2001-12-20  Bruno Haible  <bruno@clisp.org>
95102
95103                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95104                 use malloc instead. For SunOS 4.
95105
95106         2001-12-11  Bruno Haible  <bruno@clisp.org>
95107
95108                 * setenv.c: Declare alloca.
95109                 (compar_fn_t): New typedef.
95110                 (KNOWN_VALUE, STORE_VALUE): Use it.
95111
95112         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95113         setenv.h.
95114
95115 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95116
95117         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95118         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95119         Choose values that are less likely to collide with system fnmatch
95120         options.
95121         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95122         defined (e.g., a pure POSIX system).
95123         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95124         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95125
95126 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95127
95128         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95129         a pain in practice to deal with generated m4 files.  This change
95130         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95131
95132         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95133         and jm-glibc-io.m4, as they are no longer a special case.
95134         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95135         kludge and the auto-generation stuff.  Check only whether the
95136         functions are declared, not whether they exist, since older hosts
95137         that don't declare the functions can't use the optimization anyway.
95138
95139 2002-12-06  Jim Meyering  <jim@meyering.net>
95140
95141         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95142
95143         Merge in changes from libc's misc/error.c, in preparation
95144         for the merge of gnulib's changes back into libc.
95145
95146         * lib/error.c (_): Define only if not already defined.
95147         Move definition to follow all #include directives.
95148         Include unlocked-io.h only if !_LIBC.
95149         [_LIBC]: Include <libio/libioP.h>.
95150         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95151         (fflush): Tweak definition to use INTUSE.
95152         (putc): Define.
95153
95154 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95155
95156         * lib/alloca.c [defined emacs]: Include "lisp.h".
95157         (xalloc_die) [defined emacs]: New macro.
95158         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95159         [! defined emacs]: Include <xalloc.h>.
95160         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95161         (pointer): Typedef to POINTER_TYPE *.
95162         (malloc): Remove decl; we now always use xmalloc.
95163         (alloca): Use old-style definition, since Emacs needs this.
95164         Check for arithmetic overflow when computing combined size.
95165
95166 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95167
95168         Do not generate unlocked-io.h automatically, since it's easier to
95169         maintain it by hand.
95170
95171         * lib/unlocked-io.h: New file, from GNU diffutils,
95172         but with proper copyright notice and attribution.
95173         * lib/gen-uio: Remove.
95174         * lib/Makefile.am: Add copyright notice.
95175         (libfetish_a_SOURCES): Add unlocked-io.h.
95176         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95177         (DISTCLEANFILES, io_functions): Remove macros.
95178         (EXTRA_DIST): Remove gen_uio.
95179         (unlocked-io.h): Remove rule.
95180
95181 2002-12-04  Jim Meyering  <jim@meyering.net>
95182
95183         Reflect the fact that stat.c and lstat.c are no longer generated.
95184         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95185         (DISTCLEANFILES): Likewise.
95186         (EXTRA_DIST): Likewise.
95187         (all_local): Don't depend on stat.c or lstat.c.
95188         (stat.c, lstat.c): Remove rules.
95189         (EXTRA_DIST): Remove xstat.in.
95190
95191         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95192         * lib/stat.c: New file.  Contents mostly from xstat.in.
95193         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95194         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95195
95196         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95197         too.
95198         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95199
95200 2002-12-03  Jim Meyering  <jim@meyering.net>
95201
95202         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95203         but not semantics, to minimize the differences between these two files.
95204         (safe_read): Change comment to mention SAFE_READ_ERROR.
95205
95206         * lib/safe-read.c (IS_EINTR): Define.
95207         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95208
95209 2002-12-02  Jim Meyering  <jim@meyering.net>
95210
95211         * lib/safe-read.c (EINTR): Define.
95212         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95213         (INT_MAX): Provide fallback.
95214         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95215
95216         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95217
95218 2002-12-02  Bruno Haible  <bruno@clisp.org>
95219
95220         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95221         Define, taken from safe-read.c.
95222         (INT_MAX): Provide fallback.
95223         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95224         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95225
95226         * lib/safe-read.c (EINTR): Remove definition.
95227         (safe_read): Don't use EINTR if it is absent.
95228
95229 2002-12-01  Jim Meyering  <jim@meyering.net>
95230
95231         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95232         zero.
95233         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95234
95235 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95236
95237         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95238         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95239         with `if (! (value < limit)) abort ();', for readability.
95240
95241 2002-11-26  Karl Berry  <karl@gnu.org>
95242
95243         * lib/strdup.c: copy from libc again, with jim's ok.
95244         * lib/.cppi-disable: re-add strdup.c
95245
95246 2002-11-25  Karl Berry  <karl@gnu.org>
95247
95248         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95249         instead of "strtol.c".
95250
95251 2002-11-25  Karl Berry  <karl@gnu.org>
95252
95253         * config/install-sh: update from automake for variable quoting, $0 in
95254         error msgs, etc.
95255
95256         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95257         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95258         entry.
95259
95260 2002-11-25  Jim Meyering  <jim@meyering.net>
95261
95262         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95263
95264 2002-11-24  Karl Berry  <karl@gnu.org>
95265
95266         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95267         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95268
95269 2002-11-24  Jim Meyering  <jim@meyering.net>
95270
95271         Update from coreutils:
95272
95273         * lib/mktime.c: Merge in changes from libc.
95274
95275         Avoid a link-time failure on some Linux systems.
95276         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95277         (otherwise).
95278         (__mon_yday): Declare with the STATIC attribute.
95279         (__mktime_internal): Likewise.
95280         Based on a report from Greg Schafer.
95281
95282 2002-11-23  Jim Meyering  <jim@meyering.net>
95283
95284         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95285         Use `unsigned', not `int', as type of index.
95286
95287         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95288
95289         * lib/fsusage.c: Remove unneeded parentheses around operands of
95290         `defined'.
95291
95292 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95293
95294         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95295         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95296         so that we can be included first.
95297         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95298         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95299         No need to include stddef.h or sys/types.h any more.
95300         Surround local include files with "", not "<>".
95301         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95302         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95303         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95304         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95305         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95306         (ISPRINT): Remove; no longer needed now that we assume C89.
95307
95308         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95309         Preserve errno.
95310
95311         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95312         quotearg_char): Use SIZE_MAX rather than
95313         (size_t) -1 when we are talking about "infinity".
95314
95315         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95316
95317 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95318
95319         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95320         hint that one should use `if (! x) abort ();' rather than `assert
95321         (x);', and anyway it's one less thing to worry about configuring.
95322         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95323         hash_rehash, hash_insert): Use abort rather than assert.
95324
95325 2002-11-22  Bruno Haible  <bruno@clisp.org>
95326
95327         * lib/safe-read.h: Assume C89. Add comments.
95328         (safe_read): Change return type to size_t.
95329         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95330         byte counts > SSIZE_MAX correctly.
95331         * lib/safe-write.h: New file.
95332         * lib/safe-write.c: New file.
95333         * lib/full-read.h: New file.
95334         * lib/full-read.c: New file.
95335         * lib/full-write.h: Assume C89. Add comments.
95336         * lib/full-write.c: Include safe-write.h.
95337         (full_write): Rewritten to use safe_write.
95338         Suggested by Jim Meyering and Paul Eggert.
95339
95340 2002-11-21  Jim Meyering  <jim@meyering.net>
95341
95342         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95343
95344         Merge in changes from the coreutils.
95345
95346         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95347         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95348         <stdint.h>.
95349         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95350         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95351         int.  Work more efficiently if X is the same width as uintmax_t.
95352         Do not compare X to -1, to avoid bogus compiler warning.
95353         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95354         Don't assume that f_frsize and f_bsize are the same type.
95355
95356         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95357         warning on FreeBSD.
95358
95359         * lib/makepath.c (make_path): Restore umask *before* creating the final
95360         component.
95361         (make_path): Minor reformatting.
95362
95363         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95364         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95365         HAVE_MALLOC/HAVE_REALLOC.
95366
95367         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95368         dummy ones.  At least on GNU/Linux systems, `auto' means something
95369         else.
95370         From Michael Stone.
95371
95372 2002-11-21  Bruno Haible  <bruno@clisp.org>
95373
95374         Remove case insensitive option matching.
95375         * lib/argmatch.h (argcasematch): Remove declaration.
95376         (ARGCASEMATCH): Remove macro.
95377         (__xargmatch_internal): Remove case_sensitive argument.
95378         (XARGMATCH): Update.
95379         (XARGCASEMATCH): Remove macro.
95380         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95381         case_sensitive argument.
95382         (argcasematch): Remove function.
95383         (__xargmatch_internal): Remove case_sensitive argument.
95384         (main): Use XARGMATCH instead of XARGCASEMATCH.
95385
95386         * lib/xmalloc.c: Change compile-time error message. Add comment about
95387         required autoconf version.
95388
95389 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95390
95391         Merge argmatch cleanups from Bison.  Assume C89.
95392
95393         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95394         Include stdlib.h, for EXIT_FAILURE.
95395         Always include <string.h>, since we assume C89.
95396         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95397         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95398         Include <stddef.h> instead, since it's all we need for size_t.
95399         (PARAMS): Remove.  All uses removed.
95400         (ARRAY_CARDINALITY): Do not bother to #undef.
95401         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95402         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95403         Remove unnecessary parentheses.
95404         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95405         Insert necessary parentheses.
95406         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95407         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95408
95409 2002-11-19  Bruno Haible  <bruno@clisp.org>
95410
95411         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95412         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95413
95414         * lib/mbswidth.h (PARAMS): Remove macro.
95415         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95416         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95417
95418         * lib/gcd.h (PARAMS): Remove macro.
95419         (gcd): Use ANSI C function declarations.
95420         * lib/gcd.c (gcd): Likewise.
95421
95422 2002-11-15  Bruno Haible  <bruno@clisp.org>
95423
95424         * lib/strcspn.c: Include <stddef.h>.
95425         (strcspn): Use ANSI C function declaration. Change return type to
95426         size_t. Use NULL.
95427         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95428         (strpbrk): Use NULL.
95429         * lib/strpbrk.h (PARAMS): Remove macro.
95430         (strpbrk): Use ANSI C function declaration.
95431         * lib/strstr.c: Don't include <sys/types.h>.
95432         * lib/strstr.h (PARAMS): Remove macro.
95433         (strstr): Use ANSI C function declarations.
95434
95435 2002-11-14  Karl Berry  <karl@gnu.org>
95436
95437         * config/mkinstalldirs: `do' on separate line, instead of
95438         `for var; do'.
95439
95440 2002-11-06  Bruno Haible  <bruno@clisp.org>
95441
95442         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95443         * lib/gcd.c (gcd): Likewise.
95444
95445 2002-11-05  Bruno Haible  <bruno@clisp.org>
95446
95447         * lib/gcd.h: New file, from gettext-0.11.5.
95448         * lib/gcd.c: New file, from gettext-0.11.5.
95449
95450 2002-11-05  Bruno Haible  <bruno@clisp.org>
95451
95452         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95453         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95454         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95455         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95456
95457         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95458         <libintl.h>.
95459         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95460         <libintl.h>.
95461
95462         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95463         * lib/human.c: Include gettext.h instead of <libintl.h>.
95464         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95465         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95466         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95467         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95468         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95469         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95470         (textdomain): Remove definition.
95471         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95472
95473         * lib/long-options.c: Remove include of <libintl.h> and definition of
95474         _.
95475         * lib/same.c: Remove include of <libintl.h> and definition of _.
95476
95477 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95478
95479         * lib/config.charset: A few additions for Solaris.
95480
95481 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95482
95483         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95484         * lib/localcharset.c (locale_charset): Declare as extern "C".
95485
95486 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95487
95488         * lib/config.charset: msdos in uk_UA uses CP1125.
95489
95490 2002-11-04  Bruno Haible  <bruno@clisp.org>
95491
95492         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95493         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95494         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95495         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95496         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95497
95498 2002-11-04  Bruno Haible  <bruno@clisp.org>
95499
95500         * lib/localcharset.c (locale_charset): Don't return an empty string.
95501
95502 2002-11-04  Bruno Haible  <bruno@clisp.org>
95503
95504         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95505         aliases.
95506
95507 2002-11-04  Bruno Haible  <bruno@clisp.org>
95508
95509         * lib/config.charset: Update for newest glibc. Add canonical names
95510         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95511
95512 2002-11-04  Bruno Haible  <bruno@clisp.org>
95513
95514         * lib/config.charset: Add support for NetBSD.
95515
95516 2002-11-04  Bruno Haible  <bruno@clisp.org>
95517
95518         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95519
95520 2002-11-01  Bruno Haible  <bruno@clisp.org>
95521
95522         * configure.in: Add AC_CONFIG_AUX_DIR call.
95523         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95524         test/Makefile.
95525         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95526
95527 2002-09-28  Karl Berry  <karl@gnu.org>
95528
95529         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95530         installed automake until the next release, since changes have been
95531         made.
95532
95533 2002-09-25  Karl Berry  <karl@gnu.org>
95534
95535         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95536         * lib/getopt*: copy from libc/posix.
95537         * lib/gettext.h: copy from gettext.
95538         * lib/.cppi-disable: add strdup.c, gettext.h.
95539
95540 2002-09-25  Karl Berry  <karl@gnu.org>
95541
95542         * config/srclist.txt: enable gettext.h check.
95543         * config/config.{guess,sub}: update from prep.
95544         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95545                 from automake 1.6.3.
95546         See srclist*.
95547
95548 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95549
95550         * regex.c (PATFETCH): Remove the translating fetch.
95551         (PATFETCH_RAW): Rename to PATFETCH.
95552         (set_image_of_range): New fun.
95553         (SET_RANGE_TABLE_WORK_AREA): Use it.
95554         (regex_compile): Don't translate the pattern chars so eagerly.
95555         Only do it when inserting an `exactn' bytecode or when handling
95556         a char-range.
95557         (mutually_exclusive_p): Avoid empty statement.
95558
95559 2002-07-06  Jim Meyering  <meyering@lucent.com>
95560
95561         * m4/README: Don't mention Makefile.am.in.
95562         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95563
95564 2002-07-01  Jim Meyering  <meyering@lucent.com>
95565
95566         * lib/c-stack.c: Include sys/time.h.
95567         From Volker Borchert.
95568
95569 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95570
95571         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95572
95573 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95574
95575         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95576         New macro.  Use it uniformly instead of
95577         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95578         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95579         reported by Vin Shelton.
95580
95581 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95582
95583         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95584         Do not assume SA_SIGINFO behavior.
95585         Bug reported by Jim Meyering on NetBSD 1.5.2.
95586
95587 2002-06-22  Jim Meyering  <meyering@lucent.com>
95588
95589         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95590         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95591
95592         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95593         now that configure.ac uses AC_GNU_SOURCE.
95594         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95595         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95596
95597         Update to latest tools.  Suggestions from Paul Eggert.
95598         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95599         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95600         * m4/fnmatch.m4: Likewise.
95601         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95602         to AC_HEADER_STDBOOL
95603
95604 2002-06-22  Jim Meyering  <meyering@lucent.com>
95605
95606         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95607         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95608
95609 2002-06-22  Jim Meyering  <meyering@lucent.com>
95610
95611         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95612
95613         * lib/exitfail.c, exitfail.h: Likewise.
95614         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95615
95616         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95617         of fnmatch.h.
95618         (EXTRA_DIST): Add fnmatch_loop.c.
95619         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95620
95621         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95622         * lib/fnmatch.c: Update from diffutils-2.8.2.
95623         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95624         * lib/fnmatch.h: Remove file.
95625
95626 2002-06-21  Jim Meyering  <meyering@lucent.com>
95627
95628         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95629         * m4/mbrtowc.m4: Likewise.
95630
95631         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95632         * m4/mbswidth.m4: Reflect name change:
95633         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95634         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95635
95636         * m4/lib-link.m4: Update from gettext-0.11.2.
95637         * m4/gettext.m4: Likewise.
95638
95639         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95640         From Alfred M. Szmidt.
95641
95642 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95643
95644         * lib/file-type.h: Report an error if neither S_ISREG nor
95645         S_IFREG is defined, instead of using a test specific to glibc
95646         2.2.  This should be safe, since POSIX requires S_ISREG and
95647         Unix Version 7 had S_IFREG.  We don't need to check for
95648         <sys/types.h> since we don't use any symbols that it defines.
95649
95650 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95651
95652         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95653         $@-t, so that each temporary file name is unique and valid in the first
95654         8 characters, for operation under DOS.
95655
95656 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95657
95658         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95659
95660 2002-06-15  Jim Meyering  <meyering@lucent.com>
95661
95662         Work even with DJGPP 2.03, which lacks support for symlinks.
95663         From Richard Dawe.
95664         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95665         is defined.
95666         * lib/lchown.c (S_ISLNK): Likewise.
95667
95668 2002-06-15  Jim Meyering  <meyering@lucent.com>
95669
95670         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95671         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95672         have been included before this file.
95673
95674 2002-06-14  Jim Meyering  <meyering@lucent.com>
95675
95676         * lib/file-type.h: Use the version from diffutils-2.8.2.
95677         * lib/file-type.c: Likewise.
95678
95679 2002-06-07  Jim Meyering  <meyering@lucent.com>
95680
95681         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95682         They're needed at least for NetBSD 1.5.2.
95683         ($statxfs_includes): Include those same headers.
95684         ($statxfs_includes): Include sys/vfs.h if available.
95685         ($statxfs_includes): Likewise for sys/statvfs.h.
95686         Check for the following members in both structs statfs and statvfs:
95687         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95688
95689 2002-06-01  Jim Meyering  <meyering@lucent.com>
95690
95691         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95692         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95693
95694 2002-05-28  Jim Meyering  <meyering@lucent.com>
95695
95696         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95697         Reported by Volker Borchert.
95698
95699 2002-05-27  Jim Meyering  <meyering@lucent.com>
95700
95701         Fix a problem seen only on nonconforming systems whereby ls.c's
95702         use of localtime, and then of gettimeofday would cause trouble:
95703         the localtime call used to initialize rpl_gettimeofday's save
95704         mechanism would clobber ls's current local time information so
95705         that in any long listing the first file would always be listed
95706         with date 1970-01-01.  Analysis by Volker Borchert.
95707
95708         * lib/gettimeofday.c (localtime): Undefine.
95709         (rpl_localtime): New function.
95710
95711 2002-05-27  Jim Meyering  <meyering@lucent.com>
95712
95713         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95714         localtime.
95715
95716         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95717         use the replacement function; it wouldn't resolve at link time.
95718         Reported by Volker Borchert.
95719
95720 2002-05-22  Jim Meyering  <meyering@lucent.com>
95721
95722         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95723         file-type.h.
95724         * lib/file-type.h: New file.
95725         * lib/file-type.c (file_type): New file/function.  Extracted from
95726         diffutils.
95727
95728 2002-04-30  Jim Meyering  <meyering@lucent.com>
95729
95730         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95731
95732 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95733
95734         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95735
95736 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95737
95738         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95739         Do not check for alloca.h (no longer used) or stdbool.h (was never
95740         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95741
95742 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95743
95744         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95745
95746 2002-04-29  Jim Meyering  <meyering@lucent.com>
95747
95748         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95749         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95750         Use AC_FUNC_STRNLEN here instead.
95751
95752         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95753         With autoconf-2.53a, it's part of AC_PROG_CC.
95754
95755 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95756
95757         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95758         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95759
95760 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95761
95762         * lib/sig2str.h, lib/sig2str.c: New files.
95763         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95764
95765 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95766
95767         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95768         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95769         of 127, since 64 is the largest conceivable number for ancient
95770         nonstandard hosts.
95771         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95772
95773 2002-04-28  Jim Meyering  <meyering@lucent.com>
95774
95775         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95776
95777 2002-04-24  Jim Meyering  <meyering@lucent.com>
95778
95779         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95780         (jm_PREREQ): Use it.
95781
95782         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95783         mach/mach.h fcntl.h.
95784         Check for this function: setlocale.
95785
95786 2002-04-24  Jim Meyering  <meyering@lucent.com>
95787
95788         * lib/gettext.h: New file, from Gettext.
95789         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95790         (libfetish_a_SOURCES): Add gettext.h.
95791
95792 2002-04-16  Jim Meyering  <meyering@lucent.com>
95793
95794         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95795         ut_pid, ut_id, ut_exit.
95796
95797 2002-04-16  Jim Meyering  <meyering@lucent.com>
95798
95799         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95800         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95801         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95802
95803 2002-04-12  Jim Meyering  <meyering@lucent.com>
95804
95805         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95806         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95807         existence of the getmntinfo function.  Needed for Darwin 5.3.
95808
95809         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95810         This is necessary at least on Darwin 5.3.
95811
95812         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95813         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95814         strnlen.o in the library, and that makes some versions of ranlib
95815         object.
95816
95817 2002-04-12  Jim Meyering  <meyering@lucent.com>
95818
95819         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95820
95821 2002-04-09  Jim Meyering  <meyering@lucent.com>
95822
95823         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95824         to be more precise.  Rather than saying we're checking whether the
95825         function `works', say what we're testing.
95826         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95827         Reported by Bruno Haible.
95828
95829 2002-03-10  Jim Meyering  <meyering@lucent.com>
95830
95831         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95832         Suggestion from Santiago Vila.
95833
95834 2002-03-08  Jim Meyering  <meyering@lucent.com>
95835
95836         * lib/rename.c: Mention that this wrapper is needed also on
95837         mips-dec-ultrix4.4 systems.
95838
95839 2002-03-02  Jim Meyering  <meyering@lucent.com>
95840
95841         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95842         not HAVE_CLOCK_SETTIME.
95843
95844 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95845
95846         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95847         Check for clock_settime.
95848
95849 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95850
95851         * lib/nanosleep.h: Rename to....
95852         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95853
95854         * lib/gettime.c: New file.
95855         * lib/settime.c: New file.
95856         * lib/stime.c: Remove.
95857
95858         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95859         timespec.h.  Remove nanosleep.h.
95860
95861 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95862
95863         * m4/acl.m4: New file.
95864         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95865         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95866
95867 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95868
95869         * lib/acl.c, lib/acl.h: New files.
95870         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95871
95872 2002-02-24  Jim Meyering  <meyering@lucent.com>
95873
95874         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95875         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95876         cause trouble.  Reported by Nelson Beebe.
95877
95878 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95879
95880         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95881         compilers that don't know that xalloc_die never returns.
95882
95883 2002-02-20  Jim Meyering  <meyering@lucent.com>
95884
95885         * lib/getdate.c: Regenerate using bison-1.33.
95886
95887 2002-02-17  Jim Meyering  <meyering@lucent.com>
95888
95889         * config/config.guess (main): Don't use `head -1'; it's no longer
95890         portable. Use `sed 1q' instead.
95891
95892 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95893
95894         * m4/codeset.m4: Upgrade to gettext-0.11.
95895         * m4/gettext.m4: Upgrade to gettext-0.11.
95896         * m4/glibc21.m4: Upgrade to gettext-0.11.
95897         * m4/iconv.m4: Upgrade to gettext-0.11.
95898         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95899         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95900         * m4/lib-ld.m4: New file, from gettext-0.11.
95901         * m4/lib-link.m4: New file, from gettext-0.11.
95902         * m4/lib-prefix.m4: New file, from gettext-0.11.
95903         * m4/progtest.m4: Upgrade to gettext-0.11.
95904
95905 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95906
95907         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95908         (jm_PREREQ): Use it.
95909
95910 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95911
95912         * lib/posixver.c, lib/posixver.h: New files.
95913         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95914
95915 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95916             Bruno Haible  <bruno@clisp.org>
95917
95918         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95919         (fwrite_success_callback): New declaration.
95920         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95921         print_unicode_char. Call failure callback instead of error.
95922         (fwrite_success_callback): New function.
95923         (exit_failure_callback): New function.
95924         (fallback_failure_callback): New function.
95925         (print_unicode_char): Call unicode_to_mb.
95926
95927 2002-01-26  Jim Meyering  <meyering@lucent.com>
95928
95929         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95930         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95931
95932 2002-01-26  Jim Meyering  <meyering@lucent.com>
95933
95934         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95935
95936 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95937
95938         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95939
95940 2002-01-22  Jim Meyering  <meyering@lucent.com>
95941
95942         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95943         Otherwise, some versions of automake would omit the rule that makes
95944         Makefile from Makefile.in.
95945
95946 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95947
95948         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95949         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95950         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95951         (memcoll): Set errno to zero if there is no error.
95952
95953         * lib/quotearg.c (quotearg_buffer_restyled):
95954         Fix bug with quoting buffers containing NUL when backslashing escapes.
95955         This bug was exposed by the other changes in this patch.
95956         (quotearg_n_options): New arg ARGSIZE.
95957         All callers changed.
95958         (quoting_options_from_style): New function.
95959         (quotearg_n_style): Use it.
95960         (quotearg_n_style_mem): New function.
95961
95962         * lib/quotearg.h (quotearg_n_style_mem): New function.
95963
95964 2002-01-19  Jim Meyering  <meyering@lucent.com>
95965
95966         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95967         Remove useless quotes: DF_PROG="df".
95968         * m4/strnlen.m4: New file.
95969
95970 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95971
95972         * lib/backupfile.c (ISDIGIT): Comment fix.
95973         * lib/getdate.y (ISDIGIT): Likewise.
95974         * lib/posixtm.c (ISDIGIT, year): Likewise.
95975         * lib/strverscmp.c (ISDIGIT): Likewise.
95976         * lib/userspec.c (ISDIGIT): Likewise.
95977
95978 2002-01-16  Jim Meyering  <meyering@lucent.com>
95979
95980         * lib/getdate.y: Add three semicolons, each just before a closing
95981         brace. Bison (as of version 1.31) no longer papers over that mistake.
95982
95983 2002-01-05  Jim Meyering  <meyering@lucent.com>
95984
95985         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95986
95987 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95988
95989         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95990         not silently exit merely because the output buffer happens to
95991         have nothing pending.
95992
95993 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95994
95995         See the big note in ../ChangeLog.
95996         * lib/human.c (suffixes): Prefer K to k for 1024.
95997         (generate_suffix_backwards): New function.
95998         (human_readable_inexact): Use it.
95999         * lib/xstrtol.c (__xstrtol): If there is no number but there
96000         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96001         Accept 'K' as well as 'k'.
96002
96003 2001-12-15  Jim Meyering  <meyering@lucent.com>
96004
96005         * lib/regex.h (__restrict_arr): Update from libc.
96006
96007         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96008         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96009         (STREQ): Define.
96010
96011 2001-12-14  Jim Meyering  <meyering@lucent.com>
96012
96013         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96014         Suggestion from Bruno Haible.
96015
96016 2001-12-10  Jim Meyering  <meyering@lucent.com>
96017
96018         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96019         xrealloc, Instead, include "xalloc.h".
96020         (initbuffer): Don't cast xmalloc return value to char*.
96021         (readline): Reword comment.
96022         Don't cast xrealloc return value to char*
96023         Return NULL, not 0.
96024
96025 2001-12-09  Jim Meyering  <meyering@lucent.com>
96026
96027         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96028         about `signed and unsigned type in conditional expression'.
96029         * lib/posixtm.c (posix_time_parse): Likewise.
96030
96031         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96032
96033         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96034         to avoid a pedantic warning.
96035
96036         * lib/getstr.c: Don't include assert.h.
96037         (getstr): Remove warning-evoking assertions.
96038         Return -1 if offset parameter is out of bounds.
96039         Change the type of a local from int to size_t.
96040
96041         * lib/strftime.c (my_strftime_localtime_r): Include this function
96042         definition in the `#if ! HAVE_TM_GMTOFF' block.
96043
96044         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96045         Include xalloc.h instead.
96046
96047 2001-12-02  Jim Meyering  <meyering@lucent.com>
96048
96049         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96050         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96051         included.
96052
96053         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96054         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96055
96056 2001-11-30  Akim Demaille  <akim@epita.fr>
96057
96058         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96059         before being defined.
96060
96061 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96062
96063         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96064         First arg is int, not unsigned.
96065         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96066         (SIZE_MAX, UINT_MAX): New macros.
96067         (quotearg_n_options): Abort if N is negative.
96068         Avoid overflow check on hosts where size_t is 64 bits and int
96069         is 32 bits, as overflow is impossible there.
96070         Fix off-by-one typo that caused unnecessary reallocation.
96071
96072 2001-11-27  Jim Meyering  <meyering@lucent.com>
96073
96074         * lib/tempname.c: Merge with version from libc.
96075         * lib/regex.c: Likewise.
96076
96077         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
96078         systems for which STDC_HEADERS is 0, it was not included, resulting in
96079         a warning about an integer-to-pointer conversion problem with getenv.
96080         Reported by Volker Borchert.
96081
96082 2001-11-26  Jim Meyering  <meyering@lucent.com>
96083
96084         * lib/gtod.h: Remove file.
96085         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96086         * lib/gettimeofday.c: Don't include gtod.h.
96087         (GTOD_init): Remove function.
96088         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96089         Suggestion from Volker Borchert.
96090
96091 2001-11-23  Jim Meyering  <meyering@lucent.com>
96092
96093         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96094         it.
96095         * lib/hash.c (struct hash_table): Define it here instead.
96096
96097 2001-11-22  Jim Meyering  <meyering@lucent.com>
96098
96099         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96100
96101 2001-11-20  Jim Meyering  <meyering@lucent.com>
96102
96103         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96104         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96105
96106 2001-11-19  Jim Meyering  <meyering@lucent.com>
96107
96108         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96109         directory.  Use "conftestXXXXXX" as the template.
96110         Suggestion from Paul Eggert.
96111
96112         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96113         immediately, so the test doesn't mistakenly hit the max-open-files
96114         limit.
96115
96116 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96117
96118         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96119         (TEMPORARIES): New macro.
96120         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96121         removes an artificial limitation (e.g. HP-UX 10.20, where
96122         TMP_MAX is 17576).
96123
96124 2001-11-18  Jim Meyering  <meyering@lucent.com>
96125
96126         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96127
96128 2001-11-18  Jim Meyering  <meyering@lucent.com>
96129
96130         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96131         on SunOS 4.
96132
96133         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96134         files will be created before anything else.
96135
96136 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96137
96138         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96139         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96140
96141 2001-11-17  Jim Meyering  <meyering@lucent.com>
96142
96143         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96144         Prompted by a report from Bob Proulx.
96145
96146         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96147         Instead, require UTILS_FUNC_MKSTEMP.
96148
96149 2001-11-17  Jim Meyering  <meyering@lucent.com>
96150
96151         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96152         Now, that's done as part of AC_FUNC_STRTOD.
96153
96154 2001-11-17  Jim Meyering  <meyering@lucent.com>
96155
96156         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96157         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96158         rather than group writable.  Patch by Juan F. Codagnone.
96159
96160         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96161         xrealloc, Instead, include "xalloc.h".
96162
96163         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96164         Remove explicit declarations of xmalloc, xrealloc,
96165         and xstrdup.  Instead, include "xalloc.h".
96166
96167         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96168         unlocked-io.h.
96169         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96170         Likewise.
96171         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96172
96173         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96174         Reported by Padraig Brady.
96175
96176         * lib/mkstemp.c: #undef mkstemp.
96177         Include config.h.
96178         (rpl_mkstemp): Rename from mkstemp.
96179         Protoize.
96180
96181 2001-11-16  Jim Meyering  <meyering@lucent.com>
96182
96183         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96184         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96185         determine the amount of total physical memory, use pstat_getstatic.
96186         HPUX-11 doesn't define _SC_PHYS_PAGES.
96187         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96188         If sysconf couldn't be used to determine the amount of available
96189         physical memory, use both pstat_getstatic and pstat_getdynamic.
96190         Based on a patch from Bob Proulx.
96191
96192 2001-11-10  Jim Meyering  <meyering@lucent.com>
96193
96194         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96195         (jm_PREREQ): Use it.
96196
96197 2001-11-09  Jim Meyering  <meyering@lucent.com>
96198
96199         * m4/jm-macros.m4: Require autoconf-2.52f.
96200         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96201         Use these AC_-prefixed names, not the AM_-prefixed ones.
96202
96203         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96204
96205 2001-11-05  Jim Meyering  <meyering@lucent.com>
96206
96207         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96208
96209 2001-11-04  Jim Meyering  <meyering@lucent.com>
96210
96211         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96212         $DEFS.
96213
96214 2001-11-03  Jim Meyering  <meyering@lucent.com>
96215
96216         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96217         of AC_DEFUN.
96218
96219         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96220         know the name of the variable in the macro definition.
96221
96222 2001-11-03  Jim Meyering  <meyering@lucent.com>
96223
96224         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96225         in argmatch_to_argument call.
96226
96227         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96228         argument.
96229
96230         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96231         e.g., a fault due to an attempt to free a NULL pointer.
96232
96233 2001-11-01  Jim Meyering  <meyering@lucent.com>
96234
96235         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96236         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96237
96238 2001-11-01  Jim Meyering  <meyering@lucent.com>
96239
96240         * lib/dirfd.c, lib/dirfd.h: New files.
96241         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96242
96243         * lib/hash.c (hash_print) [TESTING]: Clean up.
96244
96245 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96246
96247         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96248         to avoid a warning if -Wall.
96249
96250 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96251
96252         * README: New file
96253         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96254         (per RMS's instructions, this is now the canonical source)
96255         * lgpl/, gpl/: New directories.
96256
96257 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96258
96259         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96260
96261 2001-10-21  Jim Meyering  <meyering@lucent.com>
96262
96263         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96264         this code would end up calling gettext even in packages built
96265         with --disable-nls.
96266         * lib/getopt.c (_): Likewise.
96267         * lib/regex.c (_): Likewise.
96268
96269 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96270
96271         * m4/error.m4 (jm_PREREQ_ERROR):
96272         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96273         AC_FUNC_STRERROR_R does that.
96274         Check for strerror declaration.
96275
96276         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96277         are supposed to have them these days.
96278         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96279         Merge changes from latest Autoconf CVS.
96280         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96281         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96282         POSIX decided to standardize on the int flavor of strerror_r.
96283
96284 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96285
96286         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96287         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96288         Use strerror_r that is only a macro, even if it is not a function.
96289         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96290         (private_strerror): Use prototypes, not old-style function definition.
96291         (print_errno_message): New function.
96292         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96293         char*-flavored one.
96294         (error_tail, error, error_at_line): Use it.
96295
96296 2001-10-11  Jim Meyering  <meyering@lucent.com>
96297
96298         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96299         and quote_n (1, ... to avoid clobbering a buffer.
96300
96301 2001-10-05  Jim Meyering  <meyering@lucent.com>
96302
96303         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96304         hash-pjw.h.
96305         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96306         * lib/hash-pjw.h: New file.
96307
96308 2001-09-30  Jim Meyering  <meyering@lucent.com>
96309
96310         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96311         `struct fsstat' has the `f_fstypename' member.
96312         Use that to define FS_TYPE, which is now used to make
96313         the getfsstat link test tighter.
96314
96315 2001-09-30  Jim Meyering  <meyering@lucent.com>
96316
96317         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96318         Include <sys/ucred.h>, for Apple Darwin.
96319         Include sys/mount.h and sys/fs_types.h only if available.
96320         (FS_TYPE): Define.
96321         (read_filesystem_list): Use FS_TYPE.
96322
96323 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96324
96325         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96326         a boolean context.
96327
96328 2001-09-29  Jim Meyering  <meyering@lucent.com>
96329
96330         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96331         [one-argument getmntent function]): Include stdio.h before mntent.h.
96332         SunOS 4.1.x needs it for the declaration of `FILE'.
96333         Patch by Volker Borchert.
96334
96335         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96336         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96337         sys/fs_types.h, and make the link-test for getfsstat guard #include
96338         directives with appropriate #if HAVE_*_H tests so that we can
96339         detect getfsstat on Apple Darwin1.3.7 systems.
96340         Reported by Nelson Beebe.
96341         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96342
96343 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96344
96345         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96346         #defines strtoimax.  Also treat the other strto* functions
96347         like strtoimax.
96348
96349         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96350         Check for strtoul and strtoumax,
96351         as those declarations are made even in the signed case.
96352         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96353         Likewise, for strtol and strtoimax.
96354
96355 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96356
96357         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96358         #defines strtoimax.  Also treat the other strto* functions
96359         like strtoimax.
96360
96361         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96362         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96363         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96364
96365 2001-09-26  Jim Meyering  <meyering@lucent.com>
96366
96367         Most macros in unlocked-io.h had the wrong number of arguments.
96368         * lib/gen-uio: New script.
96369         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96370         * lib/unlocked-io.hin: Remove file.
96371         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96372         rather than trying to embed it here.
96373         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96374         Reported by Padraig Brady.
96375
96376 2001-09-25  Volker Borchert  <bt@teknon.de>
96377
96378         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96379         `result'.
96380
96381 2001-09-24  Jim Meyering  <meyering@lucent.com>
96382
96383         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96384
96385 2001-09-23  Jim Meyering  <meyering@lucent.com>
96386
96387         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96388         instead of the mere test for existence of mntent.h.  The latter
96389         would get a false-positive on AIX 3.4 systems.
96390         In the outer getmntent if-block, don't die if neither of the getmntent
96391         tests succeeds.  Instead, just fall through and continue with the
96392         remaining tests.
96393
96394 2001-09-23  Jim Meyering  <meyering@lucent.com>
96395
96396         * lib/mountlist.c: Remove useless parentheses in #if directives.
96397         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96398         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96399
96400 2001-09-22  Jim Meyering  <meyering@lucent.com>
96401
96402         * m4/gettext.m4: New file.  From gettext.
96403         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96404         * m4/progtest.m4: Likewise
96405         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96406         * m4/glibc21.m4: Likewise.
96407
96408         * m4/libintl.m4: Remove.  No longer used.
96409
96410 2001-09-22  Jim Meyering  <meyering@lucent.com>
96411
96412         * lib/localcharset.c: Update from latest gettext.
96413         * lib/config.charset: Likewise.
96414
96415 2001-09-20  Jim Meyering  <meyering@lucent.com>
96416
96417         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96418         strtoimax.
96419         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96420         strtoumax.
96421
96422 2001-09-20  Jim Meyering  <meyering@lucent.com>
96423
96424         * lib/xstrtol.c (strtoimax): Guard declaration with
96425         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96426         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96427         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96428         (strtoumax): Likewise, for completeness (it wasn't necessary).
96429
96430 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96431
96432         * lib/strtoimax.c (HAVE_LONG_LONG):
96433         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96434         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96435         to work around bug in IBM C compiler.
96436
96437 2001-09-17  Jim Meyering  <meyering@lucent.com>
96438
96439         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96440         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96441         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96442         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96443         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96444         whenever the right hand side need not be expanded by the shell.
96445
96446 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96447
96448         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96449         library.  It's not correct, as some older glibcs are buggy.
96450         fnmatch wasn't fixed until glibc 2.2.
96451
96452         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96453         special shell magic here.
96454
96455 2001-09-16  Jim Meyering  <meyering@lucent.com>
96456
96457         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96458         * m4/jm-macros.m4: Require it.
96459
96460 2001-09-16  Jim Meyering  <meyering@lucent.com>
96461
96462         * lib/mkdir.c: New file.
96463
96464 2001-09-15  Jim Meyering  <meyering@lucent.com>
96465
96466         * m4/jm-macros.m4: Check for help2man.
96467
96468 2001-09-11  Jim Meyering  <meyering@lucent.com>
96469
96470         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96471         The body, by Paul Eggert, was moved here from configure.in.
96472         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96473
96474 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96475
96476         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96477         (jm_PREREQ): Use it.
96478
96479 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96480
96481         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96482         Use ssize_t, not int, to store result of readlink.
96483         Check for ssize_t overflow as well as size_t overflow,
96484         as POSIX says the result of readlink is implementation-defined
96485         when ssize_t overflows.
96486         Remove unnecessary cast to char*.
96487         Use free+malloc instead of realloc, as the storage doesn't need
96488         to be preserved and it's clearer and can be more efficient that way.
96489         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96490         * lib/xreadlink.h (xreadlink): Update prototype.
96491
96492 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96493
96494         * lib/xgetcwd.c: Revert some of the previous change; intead,
96495         fix the HAVE_GETCWD_NULL code to behave more like the
96496         !HAVE_GETCWD_NULL code used to.
96497
96498         Include "xalloc.h".
96499         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96500         invoke xalloc_die.
96501
96502 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96503
96504         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96505         sys/param.h, as pathmax.h includes them.
96506
96507 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96508
96509         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96510         (jm_PREREQ_XGETCWD): New macro.
96511
96512         * m4/getcwd.m4: New file.
96513
96514 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96515
96516         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96517         like the HAVE_GETCWD_NULL code.
96518         Include pathmax.h if not HAVE_GETCWD.
96519         Do not include xalloc.h.
96520         (INITIAL_BUFFER_SIZE): New symbol.
96521         Do not use xmalloc / xrealloc, since the caller is responsible for
96522         handling errors.  Preserve errno around `free' during failure.
96523         Do not overrun buffer when using getwd.
96524
96525 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96526
96527         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96528         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96529         getcwd (NULL, 0).
96530
96531 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96532
96533         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96534         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96535         spotted by Jim Meyering.
96536
96537 2001-09-03  Jim Meyering  <meyering@lucent.com>
96538
96539         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96540         failure.
96541
96542 2001-09-02  Jim Meyering  <meyering@lucent.com>
96543
96544         * lib/error.c: Update from GNU libc.
96545
96546 2001-09-01  Jim Meyering  <meyering@lucent.com>
96547
96548         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96549         Used by df.
96550
96551 2001-09-01  Jim Meyering  <meyering@lucent.com>
96552
96553         * lib/xreadlink.c: New file.
96554         * lib/xreadlink.h: New file.
96555         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96556         xreadlink.h.
96557
96558         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96559         doesn't conflict with sparc Solaris 7's definition in
96560         /usr/include/sys/int_types.h.
96561
96562         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96563         files.
96564         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96565         and strncasecmp as r-values.  Unixware didn't have declarations.
96566
96567 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96568
96569         * lib/xstrtol.h: Add copyright notice.
96570         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96571         LONGINT_INVALID_SUFFIX_CHAR.
96572
96573 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96574
96575         * lib/xstrtol.c (strtoimax): New decl.
96576
96577 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96578
96579         * lib/xgetcwd.c: Don't include pathmax.h.
96580         Include stdlib.h and unistd.h if available.
96581         Include xalloc.h.
96582         (xmalloc, xstrdup, free): Remove decls.
96583         (xgetcwd): Don't assume sizes fit in unsigned.
96584         Check for overflow when computing sizes.
96585         Simplify reallocation code.
96586
96587 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96588
96589         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96590         a directory's st_size can have an arbitrary value, so the old
96591         usage could waste an arbitrary amount of memory.  All uses
96592         changed.
96593         * lib/savedir.h: Update prototype.
96594
96595 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96596
96597         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96598
96599         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96600         old strtoimax.c.
96601
96602         Also, make the following further changes to make this file's
96603         configuration more similar to that of strtol.c:
96604         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96605         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96606         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96607         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96608         changed to signed values.
96609
96610         And make the following changes as well:
96611         Fix copyright notice, as 1999 was missing.
96612         (verify): New macro.
96613         (strtoimax): Check sizes at compile-time, not run-time.
96614         Prefer strtol to strtoll if both work.
96615         (main): Remove; it was not that useful and was a pain to maintain.
96616
96617         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96618
96619 2001-08-31  Jim Meyering  <meyering@lucent.com>
96620
96621         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96622         Use an initial, malloc'd, buffer of length 128 rather than
96623         a statically allocated one of length 1024.
96624
96625 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96626
96627         Simplify code, partly by assuming autoconf 2.52 semantics.
96628
96629         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96630
96631         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96632         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96633         All uses removed.
96634         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96635         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96636         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96637         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96638         jm_AC_HEADER_INTTYPES_H.
96639         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96640
96641         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96642
96643         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96644         Quote first arg of AC_DEFUN.
96645         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96646         since they are needed to parse the include file even if we need
96647         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96648         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96649         but with opposite signedness.
96650
96651 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96652
96653         Merge 'exclude' changes from tar 1.13.22.
96654         This fixes one or two unlikely storage allocation overflow bugs,
96655         but doesn't change user-visible behavior otherwise.
96656
96657 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96658
96659         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96660         (jm_PREREQ_EXCLUDE): New macro.
96661
96662 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96663
96664         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96665         tm to be declared.
96666
96667 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96668
96669         * lib/hash.c: Remove '2001' from copyright notice.
96670
96671 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96672
96673         * lib/full-write.h: New file.
96674         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96675         * lib/full-write.c: Correct credits, as cccp.c no longer
96676         exists and anyway it was so heavily changed from the old cccp
96677         code as to be unrecognizable.  Include full-write.h.
96678         (full_write): Return size_t, with short writes meaning failure.
96679         All callers changed.  This fixes a bug with large buffers
96680         on 64-bit hosts.
96681         * lib/utime.c: Include full-write.h.
96682
96683 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96684
96685         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96686         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96687         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96688         Include if available.
96689         (<xalloc.h>): Include
96690         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96691         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96692         collide with FNM macros.
96693         (struct patopts): New struct.
96694         (struct exclude): Use it, as exclude patterns now come with options.
96695         (new_exclude): Support above changes.
96696         (new_exclude, add_exclude_file):
96697         Initial size must now be a power of two to simplify overflow checking.
96698         (free_exclude, fnmatch_no_wildcards): New function.
96699         (excluded_filename): No longer requires options arg, as the options
96700         are determined by add_exclude.  Now returns bool, not int.
96701         (excluded_filename, add_exclude):
96702         Add support for the fancy new exclusion options.
96703         (add_exclude, add_exclude_file): Now takes int options arg.
96704         Check for arithmetic overflow when computing sizes.
96705         (add_exclude_file): xrealloc might modify errno, so don't
96706         realloc until after errno might be used.
96707
96708         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96709         New macros.
96710         (free_exclude): New decl.
96711         (add_exclude, add_exclude_file): Now takes int options arg.
96712         (excluded_filename): No longer requires options arg, as the options
96713         are determined by add_exclude.  Now returns bool, not int.
96714
96715 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96716
96717         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96718
96719 2001-08-27  Jim Meyering  <meyering@lucent.com>
96720
96721         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96722
96723         * lib/version-etc.c (N_): Remove definition.
96724         Revert most of last change.
96725         Instead, simply don't mark the `Copyright...' string for translation.
96726         Based on advice from Paul Eggert.
96727
96728         * lib/strtoxmax.c: Tweak comment.
96729
96730 2001-08-26  Jim Meyering  <meyering@lucent.com>
96731
96732         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96733
96734         * m4/xstrtoimax.m4: New file.
96735         * m4/xstrtoumax.m4: Add comments explaining why we
96736         AC_REPLACE_FUNCS(strtol).
96737
96738 2001-08-26  Jim Meyering  <meyering@lucent.com>
96739
96740         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96741         of copyright with `%s' so translators don't get an untranslated
96742         message in 2002.
96743         (COPYRIGHT_YEAR): Define.
96744         (version_etc): Use fprintf rather than fputs.
96745         Suggestion from Ulrich Drepper.
96746
96747         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96748
96749         * lib/strtoll.c: New file, from GNU libc.
96750         * lib/xstrtoimax.c: New file.
96751
96752         * lib/xstrtol.h: Add xstrtoimax.
96753         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96754         * lib/strtoimax.c: New file.  Likewise, but first define
96755         STRTOUXMAX_SIGNED.
96756
96757         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96758         ...
96759         * lib/strtoxmax.c: ... then renamed to this.
96760
96761 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96762
96763         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96764         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96765         (jm_AC_TYPE_INTMAX_T): New macro.
96766         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96767
96768         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96769
96770         * m4/longlong.m4: Renamed from ulonglong.m4.
96771         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96772         * m4/uintmax_t.m4: Removed.
96773
96774 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96775
96776         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96777         Port to Solaris 8, where 'sed' requires a space after the 'r'
96778         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96779         Redirect output to $tmp just once.
96780
96781 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96782
96783         * lib/addext.c (<errno.h>): Include.
96784         (errno): Declare if not defined.
96785         (addext): Work correctly when pathconf returns -1 and leaves
96786         errno alone because there is no limit.  Also, work even if
96787         pathconf returns a value greater than SIZE_MAX.
96788
96789 2001-08-12  Jim Meyering  <meyering@lucent.com>
96790
96791         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96792         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96793         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96794         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96795         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96796         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96797         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96798         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96799         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96800         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96801         utime.m4, utimes.m4, xstrtoumax.m4:
96802         Quote the first argument in each use of AC_DEFUN.
96803
96804 2001-08-12  Jim Meyering  <meyering@lucent.com>
96805
96806         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96807         Simply `return getcwd (NULL, 0);'.
96808         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96809         Use 1300 as initial value for length, not PATH_MAX.
96810
96811         * lib/pathmax.h: Clean up cpp syntax.
96812
96813 2001-08-12  Jim Meyering  <meyering@lucent.com>
96814
96815         * lib/gettimeofday.c: New file.
96816         * lib/gtod.h: New file.
96817         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96818
96819 2001-08-05  Jim Meyering  <meyering@lucent.com>
96820
96821         * m4/jm-macros.m4: Require autoconf-2.52.
96822
96823 2001-08-04  Jim Meyering  <meyering@lucent.com>
96824
96825         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96826         stmt, to get in sync with glibc.
96827
96828 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96829
96830         The following changes are from gettext 0.10.39 as maintained by
96831         Bruno Haible.
96832
96833         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96834         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96835         with inverted sense.  All uses changed.
96836
96837         * lib/mbswidth.c: Don't include <limits.h>.
96838         Include <stdlib.h> and <string.h> unconditionally.
96839         (iswcntrl, mbsinit, ISCNTRL): New macros.
96840         (mbsnwidth): Use K&R style function declarations.
96841         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96842         can optimize it when MB_CUR_MAX == 1.
96843         The width of control characters is zero, not 1.
96844
96845 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96846
96847         The following changes are from gettext 0.10.39 as maintained by
96848         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96849
96850         * m4/codeset.m4: Upgrade to serial AM1.
96851         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96852         all uses changed.  Quote first arg of AC_DEFUN.
96853         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96854
96855         * m4/iconv.m4: Upgrade to serial AM2.
96856         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96857         Add --with-libconv-prefix.
96858         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96859         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96860         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96861         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96862         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96863
96864         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96865         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96866         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96867         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96868         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96869         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96870         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96871         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96872         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96873
96874         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96875         string.h any more.
96876
96877         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96878         not the default value.
96879
96880         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96881         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96882         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96883         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96884         Also check for iswcntrl, used for wcwidth fallback.
96885         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96886         to Autoconf 2.13.
96887
96888 2001-08-03  Jim Meyering  <meyering@lucent.com>
96889
96890         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96891         as it was in the original.  Reported by Paul Eggert.
96892
96893 2001-07-16  Jim Meyering  <meyering@lucent.com>
96894
96895         * m4/gettimeofday.m4: New file.
96896         Prompted by a report from Bernhard Baehr.
96897
96898 2001-07-15  Jim Meyering  <meyering@lucent.com>
96899
96900         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96901         stuff. Now it's in ../Makefile.cfg.
96902
96903 2001-07-15  Jim Meyering  <meyering@lucent.com>
96904
96905         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96906         (BUILT_SOURCES): Add unlocked-io.h.
96907         (io_functions): Define.
96908         (unlocked-io.h): New rule.
96909         (DISTCLEANFILES): Add unlocked-io.h.
96910         (all-local): Depend on unlocked-io.h, to ensure it is created.
96911
96912         * lib/unlocked-io.hin: New file
96913
96914         * lib/regex.c: Update from glibc.
96915
96916 2001-07-05  Jim Meyering  <meyering@lucent.com>
96917
96918         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96919         recommendation.
96920         (libfetish_a_SOURCES): Put all .h files here instead.
96921         Remove a thus-exposed (better checks in automake) duplicate and
96922         two unnecessary .h files.
96923
96924 2001-07-04  Jim Meyering  <meyering@lucent.com>
96925
96926         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96927         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96928         distcheck failure.
96929
96930 2001-07-02  Jim Meyering  <meyering@lucent.com>
96931
96932         The following changes were prompted by suggestions from Bruno Haible.
96933
96934         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96935         is now generated.
96936         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96937         definition of EXTRA_DIST.
96938         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96939         ensure that the generated file is created/updated whenever the list
96940         of $(unlocked_functions) is changed.
96941         (jm-glibc-io.m4): New rule.
96942         (unlocked-io.h): New rule -- currently unused.
96943
96944 2001-06-24  Jim Meyering  <meyering@lucent.com>
96945
96946         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96947         unmatched right bracket, rather than kludging it with an extra,
96948         falsely-matching quote in a comment.  Patch by Akim Demaille.
96949
96950 2001-06-11  Jim Meyering  <meyering@lucent.com>
96951
96952         * lib/regex.c: Update from GNU libc.
96953
96954 2001-05-27  Jim Meyering  <meyering@lucent.com>
96955
96956         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96957         Check for ut_type in struct utmp.
96958
96959 2001-05-27  Jim Meyering  <meyering@lucent.com>
96960
96961         * lib/readutmp.h (UT_TYPE): Define.
96962
96963 2001-05-24  Jim Meyering  <meyering@lucent.com>
96964
96965         * lib/argmatch.c: Include "quote.h".
96966         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96967         quote function.  Reported by Göran Uddeborg.
96968
96969 2001-05-22  Jim Meyering  <meyering@lucent.com>
96970
96971         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96972         now that we use the package-supplied version unconditionally.
96973         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96974
96975 2001-05-21  Jim Meyering  <meyering@lucent.com>
96976
96977         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96978         shell syntax errors.
96979
96980 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96981
96982         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96983
96984 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96985
96986         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96987         Don't bother to check library strftime, since
96988         we'll be using our own my_strftime function anyway.
96989         Define my_strftime instead of strftime.
96990
96991 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96992
96993         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96994         which is not yet declared.
96995
96996 2001-05-15  Jim Meyering  <meyering@lucent.com>
96997
96998         * m4/regex.m4: Use proper quoting so brackets appear in the test
96999         program.
97000         Reported by, and with help from, Bruno Haible.
97001
97002 2001-05-13  Jim Meyering  <meyering@lucent.com>
97003
97004         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97005         undefined.
97006
97007 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97008
97009         dirname code cleanup.  base_name now behaves more compatibly
97010         with POSIX basename when given file names that have trailing
97011         slashes, and similarly for dir_name.  Add new primitives
97012         base_len and dir_len.  Put the directory-name-related decls
97013         into dirname.h.
97014
97015         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97016         * lib/backupfile.c (base_name): Likewise.
97017         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97018         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97019         * lib/makepath.c (strip_trailing_slashes): Likewise.
97020         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97021         ISSLASH): Likewise.
97022         * lib/rename.c (strip_trailing_slashes): Likewise.
97023         * lib/same.c (base_name): Likewise.
97024         * lib/stripslash.c (ISSLASH): Likewise.
97025
97026         * lib/addext.c: Include <dirname.h> after size_t is defined.
97027         * lib/backupfile.c: Likewise.
97028
97029         * lib/addext.c (addext): Use base_len to trim redundant
97030         trailing slashes instead of doing it ourselves.
97031         But do not trim the last slash if it is not redundant.
97032
97033         * lib/backupfile.c (find_backup_file_name,
97034         max_backup_version): Use base_len instead of rolling it ourselves.
97035         Handle the case of "" and (on DOS) "C:" correctly.
97036
97037         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97038         needed. Include <string.h>, <dirname.h>.
97039         (base_name): Allow file names ending in slashes, other than names
97040         that are all slashes.  In this case, return the basename followed
97041         by the slashes.  This is more general, and can be used in places
97042         where the original base_name purposely had an assertion failure.
97043         (base_len): New function.
97044
97045         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97046         Do not include <assert.h>; no longer needed.
97047         Include xalloc.h.
97048         (memrchr): Remove decl.
97049         (dir_name_r): Remove.
97050         (dir_len): Renamed from dirlen.  All callers changed.
97051         Rewrite in terms of base_name, for simplicity and consistency.
97052         (dir_name): Never return NULL.  All callers changed.
97053         Do not include <stdlib.h> in test program; no longer needed.
97054         return 0; is fine for test program.
97055
97056         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97057         New macros.
97058         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97059
97060         * lib/path-concat.c (path_concat): Use base_len to compute
97061         base length, not strlen; this means we cannot rely on memcpy
97062         to null-terminate.
97063
97064         * lib/same.c (STREQ): Remove.
97065         (same_name): Handle the case where the basename ends in trailing '/'.
97066
97067         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97068         a slash was stripped.  Do not strip the last slash after a
97069         file system prefix.
97070
97071 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97072
97073         * lib/Makefile.am (libfetish_a_SOURCES):
97074         Add strftime.c, since we now compile it on all hosts.
97075
97076         * lib/strftime.c (my_strftime):
97077         Define to nstrftime if emacs, but only if my_strftime is not defined.
97078         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
97079         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
97080         Add one more extra argument: a nanoseconds value.
97081         All uses changed.
97082         (ns): New macro.
97083         (my_strftime function): Add %N format.
97084         (emacs_strftimeu): Renamed from emacs_strftime,
97085         with extra ut argument.
97086
97087 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97088
97089         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97090
97091 2001-04-21  Jim Meyering  <meyering@lucent.com>
97092
97093         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97094         doesn't interfere.
97095
97096 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97097
97098         * m4/ftruncate.m4: Check for chsize.
97099         Link with ftruncate.o unconditionally if ftruncate is missing.
97100         This was required when cross-compiling to i586-mingw32msvc.
97101
97102 2001-04-08  Jim Meyering  <meyering@lucent.com>
97103
97104         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97105         recomputed; that's necessary when the offset spans a DST transition.
97106         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97107
97108 2001-04-02  Jim Meyering  <meyering@lucent.com>
97109
97110         * lib/regex.h, regex.c: Update from GNU libc.
97111
97112 2001-03-24  Jim Meyering  <meyering@lucent.com>
97113
97114         * m4/jm-macros.m4: Require autoconf-2.49d.
97115
97116 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97117
97118         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97119
97120 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97121
97122         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97123
97124 2001-03-17  Jim Meyering  <meyering@lucent.com>
97125
97126         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97127         now that the version in autoconf is equivalent.
97128         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97129
97130         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97131         Suggestion from Akim Demaille.
97132
97133         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97134         (jm_PREREQ_TEMPNAME): New function.
97135
97136 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97137
97138         * lib/tempname.c (uint64_t): Define to uintmax_t if
97139         not defined, and if UINT64_MAX is not defined.
97140         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97141         Reported by John David Anglin.
97142
97143 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97144
97145         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97146         resolve alias if codeset is empty.
97147         * lib/config.charset (BeOS): Use wildcard syntax.
97148
97149 2001-03-13  Jim Meyering  <meyering@lucent.com>
97150
97151         * lib/path-concat.c (path_concat)
97152         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97153         concatenating e.g., `C:' and `foo'.
97154         From Bruno Haible.
97155
97156 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97157
97158         * lib/localcharset.c (locale_charset): Don't use
97159         setlocale(LC_CTYPE,NULL). Don't return NULL.
97160         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97161
97162 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97163
97164         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97165         support for DOS/DJGPP.
97166
97167 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97168
97169         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97170         lacks mkstemp.  Compile our own tempname.c if we compile our own
97171         mkstemp.c, as mkstemp relies on tempname.
97172
97173 2001-03-01  Jim Meyering  <meyering@lucent.com>
97174
97175         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97176         AH_VERBATIM really does output its argument verbatim.
97177
97178 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97179
97180         * lib/Makefile.am (libfetish_a_SOURCES):
97181         Add dup-safer.c, fopen-safer.c.
97182         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97183
97184         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97185         * lib/unistd-safer.h: New files.
97186
97187 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97188
97189         The mkstemp replacement is taken from glibc 2.2.2, with some
97190         portability fixes for use outside glibc, as follows:
97191
97192         * lib/tempname.c (struct_stat64): New macro.
97193         (direxists, __gen_tempname): Use it.
97194         This avoids a portability problem with Solaris 8.
97195
97196         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97197         (<stddef.h>, <stdint.h>, <string.h>):
97198         Include only if STDC_HEADERS || _LIBC.
97199         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97200         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97201         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97202         (__set_errno): Define this macro if <errno.h> doesn't.
97203         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97204         Define these macros if <stdio.h> doesn't.
97205         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97206         Define these macros if <sys/stat.h>
97207         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97208         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97209         __xstat64): Define if not _LIBC.
97210         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97211         (__gen_tempname): Invoke gettimeofday only if
97212         HAVE_GETTIMEOFDAY || _LIBC;
97213         otherwise, fall back on plain "time".
97214         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97215
97216         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97217
97218         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97219
97220 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97221
97222         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97223
97224 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97225
97226         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97227         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97228         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97229         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97230
97231 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97232
97233         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97234         Remove workaround macros for hosts that have mbrtowc but not
97235         mbstate_t, as we now insist on proper declarations for both
97236         before using mbrtowc.
97237
97238 2001-02-17  Jim Meyering  <meyering@lucent.com>
97239
97240         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97241         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97242         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97243         UnixWare 7.1.1.
97244
97245         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97246         rather than AC_CACHE_VAL.
97247
97248 2001-02-17  Jim Meyering  <meyering@lucent.com>
97249
97250         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97251         around included file name.
97252
97253         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97254
97255         * lib/strftime.c: Update from GNU libc (the only changes were to
97256         comments).
97257
97258 2001-02-17  Jim Meyering  <meyering@lucent.com>
97259
97260         * lib/regex.c: Update from libc.
97261
97262 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97263
97264         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97265         clash.
97266
97267 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97268
97269         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97270         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97271         Reported by Mark Hounschell via Paul Eggert.
97272
97273 2001-02-07  Jim Meyering  <meyering@lucent.com>
97274
97275         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97276
97277 2001-02-05  Jim Meyering  <meyering@lucent.com>
97278
97279         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97280         it includes the patch required for `large file' support with at least
97281         HP-UX's 10.20 /bin/cc.
97282
97283 2001-02-03  Jim Meyering  <meyering@lucent.com>
97284
97285         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97286         AS_IF, now that it works once again (mysteriously).
97287         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97288
97289 2001-01-30  Jim Meyering  <meyering@lucent.com>
97290
97291         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97292         * m4/chown.m4: Rename conftestchown to conftest.chown.
97293         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97294         s/conftestdir2/conftest.d2/.
97295         * m4/utimes.m4: s/conftestdata/conftest.data/
97296         Inspired by Pavel Roskin's change in autoconf.
97297
97298 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97299
97300         * lib/config.charset: Update for FreeBSD 4.2.
97301
97302 2001-01-27  Jim Meyering  <meyering@lucent.com>
97303
97304         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97305         a use of AS_IF.
97306         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97307
97308 2001-01-26  Jim Meyering  <meyering@lucent.com>
97309
97310         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97311         quotearg.c includes it.
97312
97313 2001-01-26  Jim Meyering  <meyering@lucent.com>
97314
97315         * lib/quotearg.c: Include stddef.h.
97316         * lib/quote.c: Include stddef.h.
97317         Reported by Axel Kittenberger.
97318
97319         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97320         line in double quotes so that it evokes a better diagnostic.
97321         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97322         Reported by Axel Kittenberger.
97323
97324 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97325
97326         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97327         as if it was a `charset'.
97328
97329 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97330
97331         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97332         has const.
97333
97334 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97335
97336         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97337         to avoid a warning.  Add back 'const' to inptr.
97338
97339 2001-01-20  Jim Meyering  <meyering@lucent.com>
97340
97341         Be sure that headers are checked before used in code compiled
97342         for the type checks.
97343         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97344         In place of that, invoke jm_CHECK_ALL_TYPES.
97345         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97346         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97347         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97348         The check for ssize_t was mistakenly run before the test for unistd.h.
97349
97350         The configure-time check for stdbool.h was missing.
97351         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97352         (jm_PREREQ_HASH): New function.
97353
97354 2001-01-17  Jim Meyering  <meyering@lucent.com>
97355
97356         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97357         for autoconf-2.49c.
97358         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97359
97360 2001-01-16  Jim Meyering  <meyering@lucent.com>
97361
97362         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97363         From Bruno Haible.
97364
97365 2001-01-14  Jim Meyering  <meyering@lucent.com>
97366
97367         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97368         foo and bar.  Create conftestdir/ in the script, not in the C code.
97369         Remove directories in the script, not in the C code.
97370         Remove conftestdir{,2} before trying to create the directory.
97371         Make the entire configure script fail if the mkdir fails.
97372
97373 2001-01-14  Jim Meyering  <meyering@lucent.com>
97374
97375         * lib/rename.c: New file.  From Volker Borchert.
97376         Include stdlib.h, string.h or strings.h, and xalloc.h.
97377         Use strip_trailing_slashes rather than open-coding it.
97378
97379 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97380
97381         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97382
97383 2001-01-03  Jim Meyering  <meyering@lucent.com>
97384
97385         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97386         of local `inptr' to avoid warning with some system declarations of
97387         iconv.
97388
97389 2001-01-02  Volker Borchert  <bt@teknon.de>
97390
97391         * m4/rename.m4: New file.
97392         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97393
97394 2001-01-01  Jim Meyering  <meyering@lucent.com>
97395
97396         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97397         even on systems with utmpx.h.  It's necessary for the declaration of
97398         utmp's ut_user member.  Reported by Andreas Jaeger.
97399
97400         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97401         available. They are required for the declarations of getgrgid and
97402         getpwuid resp.
97403         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97404         Reported by Andreas Jaeger.
97405
97406 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97407
97408         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97409         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97410         so `make install' also works in VPATH builds.
97411
97412 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97413
97414         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97415         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97416         can be used in subdirectories.
97417
97418 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97419
97420         * lib/modechange.c: Do not assume that mode_t uses the
97421         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97422         the other-execute bit of FOO even if S_IXOTH != 1.
97423
97424         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97425         WOTH, XOTH, ALLM): New macros.
97426         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97427          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97428         Use them.
97429         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97430         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97431         (mode_compile):
97432         No need to use uintmax_t; unsigned long is long enough.
97433         Don't bother to get suffix since we don't use it.
97434
97435 2000-12-26  Jim Meyering  <meyering@lucent.com>
97436
97437         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97438         better with autoheader.
97439
97440 2000-12-24  Jim Meyering  <meyering@lucent.com>
97441
97442         * lib/hash.c (is_prime): Return explicit boolean values.
97443         (hash_get_first): Return NULL to appease Irix5.6's 89.
97444         Reported by Nelson Beebe.
97445
97446 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97447
97448         * lib/localcharset.c (locale_charset): Add support for Win32.
97449
97450 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97451
97452         * lib/physmem.h, lib/physmem.c: New files.
97453
97454         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97455         (noinst_HEADERS): Add physmem.h.
97456
97457         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97458         't' for compatibility with Solaris 8 sort.
97459
97460 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97461
97462         * lib/config.charset: Add support for BeOS.
97463
97464 2000-12-17  Jim Meyering  <meyering@lucent.com>
97465
97466         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97467         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97468
97469 2000-12-16  Jim Meyering  <meyering@lucent.com>
97470
97471         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97472         N and M) would have treated it like `chown N:N FILE'.
97473
97474         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97475
97476 2000-12-16  Jim Meyering  <meyering@lucent.com>
97477
97478         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97479         SHELLS_FILE to a file name that's useful on djgpp systems.
97480         Include stdlib.h.
97481         (ADDITIONAL_DEFAULT_SHELLS): Define.
97482         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97483         Based mostly on a patch from Prashant TR.
97484
97485 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97486
97487         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97488         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97489         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97490
97491 2000-12-08  Andreas Schwab  <schwab@suse.de>
97492
97493         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97494         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97495
97496 2000-12-07  Jim Meyering  <meyering@lucent.com>
97497
97498         * lib/stripslash.c (ISSLASH): Define.
97499         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97500         `/'.
97501         From Prashant TR.
97502
97503         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97504         (dir_name_r): Declare this function as static.
97505         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97506         manifest itself on a name containing a mix of slashes and
97507         backslashes.
97508         Make this function work with names starting with a DOS-style
97509         drive letter and colon prefix.
97510         (dir_name): Append `.' if necessary.
97511         Based mostly on patches from Prashant TR and Eli Zaretskii.
97512
97513         * lib/dirname.h (dir_name_r): Remove prototype.
97514
97515 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97516
97517         * m4/off_t-format.m4: Remove this file.
97518         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97519
97520 2000-12-06  Jim Meyering  <meyering@lucent.com>
97521
97522         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97523         replacement strtoull, we may well need the replacement strtoul, too.
97524         Check for declarations of strtoul and strtoull.
97525         Check for strtol.  Mainly as a cue to cause automake to include
97526         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97527         Check for limits.h -- strtol.c needs it.
97528
97529 2000-12-05  Jim Meyering  <meyering@lucent.com>
97530
97531         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97532
97533 2000-12-04  Jim Meyering  <meyering@lucent.com>
97534
97535         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97536         Also include memory.h, stdlib.h, unistd.h if appropriate.
97537         Reported by Andreas Jaeger (conflicting declaration of malloc).
97538
97539 2000-12-02  Jim Meyering  <meyering@lucent.com>
97540
97541         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97542         * m4/jm-macros.m4 (jm_MACROS): require it.
97543
97544 2000-12-02  Jim Meyering  <meyering@lucent.com>
97545
97546         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97547
97548 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97549
97550         * lib/memrchr.c: Include <config.h> before any system include file.
97551
97552 2000-11-30  Jim Meyering  <meyering@lucent.com>
97553
97554         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97555
97556 2000-11-30  Jim Meyering  <meyering@lucent.com>
97557
97558         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97559
97560 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97561
97562         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97563
97564 2000-11-26  Jim Meyering  <meyering@lucent.com>
97565
97566         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97567
97568 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97569
97570         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97571         size of (size_t) -1; it's not portable.
97572
97573 2000-11-17  Jim Meyering  <meyering@lucent.com>
97574
97575         * lib/strstr.c: Update from GNU libc.
97576
97577 2000-11-17  Akim Demaille  <akim@epita.fr>
97578
97579         * lib/obstack.h: Formatting changes.
97580         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97581         prevent type checking.
97582         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97583         cast the value to (void *): assigning a `foo *' to a `void *'
97584         variable is valid.
97585         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97586
97587 2000-11-16  Jim Meyering  <meyering@lucent.com>
97588
97589         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97590
97591 2000-11-11  Jim Meyering  <meyering@lucent.com>
97592
97593         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97594
97595 2000-11-10  Jim Meyering  <meyering@lucent.com>
97596
97597         * lib/obstack.h: Update from GNU libc.
97598         * lib/obstack.c: Likewise.
97599
97600 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97601
97602         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97603
97604 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97605
97606         * lib/getusershell.c (setusershell): Use rewind rather than
97607         fseek/fseeko, to avoid configuration hassles with fseeko.
97608         Don't bother opening SHELLS_FILE if shellstream is NULL;
97609         it's not necessary.
97610
97611 2000-11-05  Jim Meyering  <meyering@lucent.com>
97612
97613         * lib/makepath.h (make_dir): Declare.
97614         * lib/makepath.c (make_dir): Remove `static' attribute.
97615         Tweak a comment.
97616
97617 2000-11-04  Jim Meyering  <meyering@lucent.com>
97618
97619         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97620
97621 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97622
97623         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97624         last one in a bucket, advance to the next bucket.
97625
97626 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97627
97628         * lib/fnmatch.c: Do not comment out all the code if we are using
97629         the GNU C library, because in some cases we are replacing buggy
97630         code in the GNU C library itself.
97631
97632 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97633
97634         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97635         (regex_compile): Catch bogus \(\1\).
97636
97637 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97638
97639         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97640         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97641         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97642
97643 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97644
97645         * lib/error.h, getline.h, modechange.h:
97646         Remove "2000" from Copyright line, as the file hasn't been
97647         changed this year other than in the copyright notice.
97648
97649         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97650         was changed this year.
97651
97652 2000-10-29  Jim Meyering  <meyering@lucent.com>
97653
97654         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97655         renaming.
97656         * m4/ls-mntd-fs.m4: Likewise
97657
97658 2000-10-29  Jim Meyering  <meyering@lucent.com>
97659
97660         * lib/xstat.in: Fix grammar in comment.
97661
97662 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97663
97664         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97665         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97666         doesn't define __restrict_arr.
97667
97668 2000-10-28  Jim Meyering  <meyering@lucent.com>
97669
97670         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97671         (jm_PREREQ_MEMCHR): New function.
97672
97673 2000-10-28  Jim Meyering  <meyering@lucent.com>
97674
97675         * lib/memchr.c: Update from libc.
97676         Adjust for portability:
97677         [HAVE_STDLIB_H]: Include stdlib.h.
97678         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97679         Undef __memchr, too.
97680         [!weak_alias]: Define __memchr to memchr.
97681
97682         * lib/regex.c: Update from libc.
97683         * lib/regex.h: Likewise.
97684         * lib/getopt1.c: Likewise.
97685         * lib/memcmp.c: Likewise.
97686
97687         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97688         Avoid using fseek, when possible -- it's broken by design.
97689         Patch by Ulrich Drepper.
97690
97691 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97692
97693         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97694         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97695         Giving in to popular pressure to shut up the compiler with casts.
97696
97697 2000-10-26  Jim Meyering  <meyering@lucent.com>
97698
97699         * lib/strftime.c: Update from libc.
97700
97701 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97702
97703         * regex.c: More `unsigned char' -> `re_char' changes.
97704         Also change several `int' into `re_wchar_t'.
97705         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97706         (PUSH_FAILURE_POINTER): Don't cast any more.
97707         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97708         We want GCC to complain, since this piece of code makes
97709         re_match non-reentrant, which *should* be fixed.
97710         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97711         (EXTEND_BUFFER): Use RETALLOC.
97712         (SET_LIST_BIT): Don't cast.
97713         (re_wchar_t): New type.
97714         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97715         that those two functions will always properly return.
97716         (IMMEDIATE_QUIT_CHECK): Cast to void.
97717         (analyse_first): Use recursion rather than an explicit stack.
97718         (re_compile_fastmap): Can't fail anymore.
97719         (re_search_2): Don't check re_compile_fastmap for failure.
97720         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97721         Now also sets the new value (passed in a new argument).
97722         (re_match_2_internal): Use it.
97723         Also, use a new var `reg' of type size_t when looping through regs
97724         rather than reuse the inappropriate `mcnt'.
97725
97726 2000-10-25  Jim Meyering  <meyering@lucent.com>
97727
97728         * lib/obstack.c: Update from libc.
97729
97730 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97731
97732         * regex.c (regex_compile): Change the way of handling a range from
97733         a char less than 256 to a char not less than 256.
97734
97735 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97736
97737         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97738         NT-Emacs only.
97739         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97740         so that re_search functions only quit when callers expect them to.
97741
97742 2000-10-23  Jim Meyering  <meyering@lucent.com>
97743
97744         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97745         wrong.  That set_locale call must not have any side effects.
97746         From Paul Eggert.
97747
97748 2000-10-22  Jim Meyering  <meyering@lucent.com>
97749
97750         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97751         [CYCLIC]: Remove now-unused definition.
97752
97753         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97754         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97755         Suggestion from Ulrich Drepper.
97756
97757 2000-10-21  Jim Meyering  <meyering@lucent.com>
97758
97759         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97760         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97761         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97762
97763 2000-10-21  Jim Meyering  <meyering@lucent.com>
97764
97765         * lib/dirname.c (memrchr): Declare if necessary.
97766         (dir_name): Remove the restriction that there be no
97767         trailing slashes.  Now, this code skips past them, effectively
97768         ignoring them.
97769         [TEST_DIRNAME] (main): New unit tests.
97770
97771         * lib/memrchr.c: New file from GNU libc.
97772         Undef __memrchr, too.
97773         [!weak_alias]: Define __memrchr to memrchr.
97774         Guard weak_alias use with `#ifdef weak_alias'.
97775
97776 2000-10-21  Jim Meyering  <meyering@lucent.com>
97777
97778         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97779         (dir_name): Use dir_name_r.
97780         * lib/dirname.h (dir_name_r): Declare it.
97781
97782 2000-10-17  Jim Meyering  <meyering@lucent.com>
97783
97784         * lib/quote.h (PARAMS): Define and use.
97785         Reported by Akim Demaille.
97786
97787         * lib/getopt.c: Update from libc.
97788
97789 2000-10-16  Jim Meyering  <meyering@lucent.com>
97790
97791         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97792         setlocale.
97793         From Jan Fedak.
97794
97795 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97796
97797         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97798
97799 2000-09-25  Jim Meyering  <meyering@lucent.com>
97800
97801         * lib/md5.h (rol): Define (from GnuPG).
97802
97803         * lib/sha.c: Give credit (GnuPG) where due.
97804         (M): Use rol rather than open-coding it.
97805         Add a FIXME comment.
97806
97807 2000-09-21  Jim Meyering  <meyering@lucent.com>
97808
97809         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97810         Reported by Michael Stone.
97811
97812 2000-09-20  Jim Meyering  <meyering@lucent.com>
97813
97814         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97815         (noinst_HEADERS): Add sha.h.
97816         Based on code from Scott G. Miller and from GnuPG.
97817
97818 2000-09-18  Jim Meyering  <meyering@lucent.com>
97819
97820         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97821         LIBS. Otherwise, everyone ends up linking with -lelf for some
97822         configurations.
97823         Reported by Mike Stone.
97824
97825 2000-09-15  Jim Meyering  <meyering@lucent.com>
97826
97827         * lib/regex.c: Update from libc.
97828
97829 2000-09-10  Jim Meyering  <meyering@lucent.com>
97830
97831         * lib/getopt.c (_getopt_internal): Update from glibc.
97832
97833 2000-09-09  Jim Meyering  <meyering@lucent.com>
97834
97835         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97836         think it should be used as a general replacement for isascii.
97837         * lib/fnmatch.c: Likewise.
97838         * lib/mbswidth.c: Likewise
97839         * lib/regex.c: Likewise.
97840
97841         Don't use atoi.
97842         * lib/userspec.c: Include sys/param.h and limits.h.
97843         Include xstrtol.h.
97844         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97845         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97846         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97847         UID, GID.  Check range.
97848
97849 2000-09-06  Jim Meyering  <meyering@lucent.com>
97850
97851         * lib/getopt.c (_getopt_internal): Update from glibc.
97852
97853 2000-08-30  Jim Meyering  <meyering@lucent.com>
97854
97855         * lib/strftime.c: Merge in changes from GNU libc.
97856
97857 2000-08-26  Jim Meyering  <meyering@lucent.com>
97858
97859         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97860         * m4/fpending.m4: New file.
97861
97862 2000-08-26  Jim Meyering  <meyering@lucent.com>
97863
97864         * lib/closeout.c: Include "__fpending.h".
97865         (close_stdout_status): Return right away if there's nothing to flush.
97866
97867         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97868         * lib/__fpending.c: New file.
97869         * lib/__fpending.h: New file.
97870
97871 2000-08-20  Jim Meyering  <meyering@lucent.com>
97872
97873         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97874         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97875         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97876
97877 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97878
97879         Improve fileutils installation on systems where running
97880         programs (like install) can't be unlinked.
97881         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97882         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97883
97884 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97885
97886         Standardize on "memory exhausted" instead of "Memory exhausted"
97887         or "virtual memory exhausted".
97888         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97889         "virtual memory exhausted".
97890         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97891         our own message.
97892         * lib/userspec.c (parse_user_spec): Likewise.
97893         * lib/bumpalloc.h: comment fix
97894         * lib/same.c, userspec.c: Include xalloc.h.
97895
97896         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97897         not char *const and pointing to a constant array.
97898         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97899         (xrealloc): Comment fix.
97900
97901         * lib/userspec.c (parse_user_spec):
97902         Don't translate a message until just before returning,
97903         to avoid unnecessary translation.
97904
97905 2000-08-07  Jim Meyering  <meyering@lucent.com>
97906
97907         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97908         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97909         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97910         getgroups.c, gethostname.c, getopt.h, group-member.c,
97911         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97912         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97913         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97914         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97915         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97916         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97917         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97918         yesno.c: Back out Copyright date changes for each file with no change
97919         this year.  This eases coordination with other programs using the same
97920         source code modules.  From Paul Eggert.
97921
97922 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97923
97924         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97925         not char, for compatibility with glibc 2.1.3 strftime.c.
97926
97927 2000-08-03  Greg McGary  <greg@mcgary.org>
97928
97929         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97930         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97931         (EXTEND_BUFFER): Use them.
97932
97933 2000-08-01  Jim Meyering  <meyering@lucent.com>
97934
97935         * lib/dirname.c (ISSLASH): Define.
97936         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97937         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97938         both `\' and `/' may be use as path separators.
97939         Based on a patch from Prashant TR.
97940
97941 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97942
97943         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97944         slot vector a constant, since it might get modified.
97945
97946 2000-07-31  Jim Meyering  <meyering@lucent.com>
97947
97948         * lib/xmalloc.c: Use `virtual memory exhausted', not
97949         `Memory exhausted'.
97950         * lib/obstack.c (print_and_abort): Likewise.
97951
97952 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97953
97954         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97955         buffer, so that the caller can always quote one small
97956         component of a "memory exhausted" message in slot 0.
97957         From a suggestion by Jim Meyering.
97958
97959 2000-07-30  Jim Meyering  <meyering@lucent.com>
97960
97961         * lib/makepath.c (make_path): Quote the other instance, too.
97962
97963         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97964         (STATIC_BUF_SIZE): Define.
97965         (quotearg_n_options): Use only statically allocated storage when
97966         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97967         than STATIC_BUF_SIZE.
97968
97969 2000-07-29  Jim Meyering  <meyering@lucent.com>
97970
97971         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97972         * lib/dirname.c (dir_name): Likewise.
97973
97974         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97975         `/'.
97976
97977         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97978         (dir_name): Assert that there are no trailing slashes.
97979
97980 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97981
97982         * lib/mbswidth.h (mbswidth): Add a flags argument.
97983         (mbswidth): New declaration.
97984         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97985         * lib/mbswidth.c (mbswidth): Add a flags argument.
97986         (mbsnwidth): New function.
97987
97988 2000-07-24  Jim Meyering  <meyering@lucent.com>
97989
97990         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97991
97992 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97993
97994         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97995
97996 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97997
97998         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97999         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98000         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98001         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98002         invoke multibyte primitives.
98003
98004 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98005
98006         * lib/quotearg.c:
98007         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98008         so that mbstate_t is always defined.
98009
98010         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98011         be 1 in at least one GCC installation, and this configuration
98012         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98013         performance on hosts that have mbrtowc but have only unibyte
98014         locales, but I assume these hosts are rare.
98015
98016 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98017
98018         * lib/mbswidth.c (_XOPEN_SOURCE):
98019         Don't define; this causes problems on Solaris 7.
98020         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98021
98022 2000-07-23  Jim Meyering  <meyering@lucent.com>
98023
98024         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98025         too: getgrgid, getpwuid, getuid.
98026
98027 2000-07-23  Jim Meyering  <meyering@lucent.com>
98028
98029         * lib/basename.c (base_name): Add an assertion.
98030
98031 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98032
98033         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98034         shadow its mbsinit function.
98035
98036 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98037
98038         * lib/mbswidth.h: New file.
98039         * lib/mbswidth.c: New file.
98040         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98041         (noinst_HEADERS): Add mbswidth.h.
98042
98043 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98044
98045         * lib/config.charset: Add support for FreeBSD. Improve support for
98046         HP-UX and IRIX 6.
98047
98048 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98049
98050         * m4/mbswidth.m4: New file.
98051         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98052
98053 2000-07-15  Jim Meyering  <meyering@lucent.com>
98054
98055         * lib/makepath.c: Include quote.h.
98056         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98057         corresponding argument in a `quote (...)' call.
98058         Give better diagnostics.
98059
98060         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98061         (noinst_HEADERS): Add quote.h.
98062
98063         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98064         from tar's src/misc.c.
98065         * lib/quote.h: New file.  Prototypes for same.
98066
98067 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98068
98069         From a suggestion by Bruno Haible.
98070         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98071         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98072         to decide whether to define the BeOS workaround macro;
98073         this adjusts to the change to AC_MBSTATE_T.
98074
98075 2000-07-14  Jim Meyering  <meyering@lucent.com>
98076
98077         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
98078         jm_AC_TYPE_UINTMAX_T.
98079
98080 2000-07-13  Paul Eggert  <eggert@twinsun.com>
98081
98082         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98083
98084         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98085         quotearg_buffer_restyled): Add support for
98086         clocale_quoting_style.  Undo previous change to
98087         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98088         and "{RIGHT QUOTATION MARK}" msgids.
98089
98090 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98091
98092         From a suggestion by Bruno Haible.
98093         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98094         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98095         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98096         and mbstate_t, to a single-part test that simply defines mbstate_t.
98097         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98098         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98099
98100 2000-07-10  Jim Meyering  <meyering@lucent.com>
98101
98102         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98103
98104         * m4/gnu-source.m4: Output to confdefs.h directly.
98105         Suggestion from Akim Demaille.
98106
98107 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98108
98109         The old behavior of quoting `like this' doesn't look good with
98110         newer, ISO-style fonts.  See:
98111         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98112
98113         Instead, quote "like this" by default.  Let the translator
98114         tailor the locale-specific quoting behavior by providing
98115         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98116
98117         * lib/quotearg.c (N_): New macro.
98118         (gettext_default): New function.
98119         (quotearg_buffer_restyled): Use
98120         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98121         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98122
98123 2000-07-09  Jim Meyering  <meyering@lucent.com>
98124
98125         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98126         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98127
98128         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98129         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98130
98131 2000-07-09  Jim Meyering  <meyering@lucent.com>
98132
98133         * lib/Most files: Update copyright dates to include 2000.
98134
98135 2000-07-08  Jim Meyering  <meyering@lucent.com>
98136
98137         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98138         if not defined.
98139         (xgethostname): Remove now-unnecessary #ifdef.
98140         Move declaration of `err' into loop where it's used.
98141
98142 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98143         and Bruno Haible  <haible@clisp.cons.org>
98144
98145         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98146         only if the test for an object-type mbstate_t fails.  This
98147         prevents us from mistakenly reporting that mbstate_t is a
98148         system object type after we "#define mbstate_t int" to work
98149         around its lack.
98150
98151 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98152         and Bruno Haible  <haible@clisp.cons.org>
98153
98154         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98155
98156 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98157
98158         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98159         to strerror_r.
98160         Include <ctype.h> for use of isalpha.
98161
98162 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98163
98164         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98165         by allocating a larger buffer. Test the gethostname return value for
98166         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98167         returns an error and ENAMETOOLONG isn't defined.
98168
98169 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98170
98171         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98172         dimension.
98173
98174 2000-07-04  Jim Meyering  <meyering@lucent.com>
98175
98176         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98177         of the deprecated AC_CHECKING.
98178
98179 2000-07-04  Jim Meyering  <meyering@lucent.com>
98180
98181         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98182         Reported by Bruno Haible.
98183
98184 2000-07-04  Jim Meyering  <meyering@lucent.com>
98185
98186         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98187         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98188         lacks mbrtowc.
98189
98190 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98191
98192         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98193         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98194
98195 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98196         and Bruno Haible  <haible@clisp.cons.org>
98197
98198         * lib/quotearg.c (mbrtowc):
98199         Assign to *pwc, and return 1 only if result is nonzero.
98200         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98201
98202 2000-07-03  Jim Meyering  <meyering@lucent.com>
98203
98204         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98205
98206 2000-07-03  Jim Meyering  <meyering@lucent.com>
98207
98208         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98209         This is necessary to get a definition of e.g., UTMP_FILE on
98210         HP-UX 10.20.
98211         From Bob Proulx.
98212
98213 2000-07-02  Jim Meyering  <meyering@lucent.com>
98214
98215         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98216
98217         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98218         AC_LIBOBJ(function_name).
98219         * m4/chown.m4: Likewise.
98220         * m4/fnmatch.m4: Likewise.
98221         * m4/ftruncate.m4: Likewise.
98222         * m4/getgroups.m4: Likewise.
98223         * m4/getline.m4: Likewise.
98224         * m4/group-member.m4: Likewise.
98225         * m4/jm-macros.m4: Likewise.
98226         * m4/lstat.m4: Likewise.
98227         * m4/malloc.m4: Likewise.
98228         * m4/memcmp.m4: Likewise.
98229         * m4/nanosleep.m4: Likewise.
98230         * m4/putenv.m4: Likewise.
98231         * m4/realloc.m4: Likewise.
98232         * m4/regex.m4: Likewise.
98233         * m4/stat.m4: Likewise.
98234         * m4/strftime.m4: Likewise.
98235
98236 2000-07-02  Jim Meyering  <meyering@lucent.com>
98237
98238         * lib/quotearg.c (mbstate_t): Don't define here.
98239
98240 2000-07-02  Jim Meyering  <meyering@lucent.com>
98241
98242         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98243
98244 2000-07-01  Jim Meyering  <meyering@lucent.com>
98245
98246         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98247
98248 2000-07-01  Jim Meyering  <meyering@lucent.com>
98249
98250         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98251         problem.
98252
98253 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98254
98255         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98256         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98257
98258 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98259
98260         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98261         per change in ../m4/ls-mntd-fs.m4.
98262         (read_filesystem_list): Ignore symbolic links.
98263
98264 2000-06-29  Jim Meyering  <meyering@lucent.com>
98265
98266         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98267         for declaration of strcmp.
98268
98269         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98270
98271         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98272         Avoid warning by casting result to `char *' to remove `const'.
98273
98274 2000-06-28  Jim Meyering  <meyering@lucent.com>
98275
98276         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98277         included by quotearg.c, for which we perform this test.  From
98278         Bruno Haible.
98279
98280 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98281
98282         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98283         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98284         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98285
98286 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98287
98288         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98289
98290 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98291
98292         savedir now sets errno on failure and invokes xmalloc to get memory.
98293         Fix a couple of other minor bugs while we're at it.
98294
98295         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98296         (NAMLEN): Remove macro.
98297         (malloc, realloc): Remove decls.
98298         (stpcpy): Likewise.
98299         ("xalloc.h"): Include.
98300         (NAME_SIZE_DEFAULT): New macro.
98301         (savedir): Use xmalloc / xrealloc to allocate memory.
98302         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98303         Skip "" directory entries.
98304         Use strlen to calculate directory entry length, since the old method
98305         is rarely used these days and isn't worth supporting.
98306         Don't use a pointer after freeing it.
98307         Check for integer overflow when calculating allocation size.
98308         Use memcpy to copy entries, instead of stpcpy.
98309         Set errno properly when returning NULL.
98310         Check for readdir error.
98311
98312 2000-06-26  Jim Meyering  <meyering@lucent.com>
98313
98314         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98315
98316 2000-06-25  Jim Meyering  <meyering@lucent.com>
98317
98318         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98319         Linux header bug when _XOPEN_SOURCE is defined to 500.
98320
98321 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98322
98323         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98324         deficiency.
98325
98326 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98327
98328         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98329         Include xalloc.h.
98330         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98331
98332 2000-06-24  Jim Meyering  <meyering@lucent.com>
98333
98334         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98335         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98336         for which strerror does return char*, but which lacks a conveniently
98337         accessible declaration of the function.  If the compile-test says
98338         strerror_r doesn't work, then resort to a `run'-test that works on
98339         BeOS and segfaults on DEC Unix.
98340
98341 2000-06-24  Jim Meyering  <meyering@lucent.com>
98342
98343         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98344
98345 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98346
98347         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98348         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98349
98350 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98351
98352         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98353         (mbrtowc, mbstate_t): Define substitutes if
98354         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98355         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98356         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98357
98358 2000-06-23  Jim Meyering  <meyering@lucent.com>
98359
98360         * m4/afs.m4: Add missing AC_MSG_RESULT.
98361         Reported by Bruno Haible.
98362
98363         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98364         Suggestion from Bruno Haible.
98365
98366 2000-06-23  Jim Meyering  <meyering@lucent.com>
98367
98368         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98369
98370 2000-06-21  Jim Meyering  <meyering@lucent.com>
98371
98372         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98373
98374 2000-06-21  Jim Meyering  <meyering@lucent.com>
98375
98376         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98377         (noinst_HEADERS): Add getstr.h.
98378
98379         * lib/getline.c (getstr): Move into a separate file.
98380         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98381         the following changes: new parameter, delim2; both delim[12]
98382         parameters have type `int', not `char'.  The latter would lose
98383         with 8-bit delimiters.
98384         * lib/getstr.h: New file.
98385
98386 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98387
98388         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98389         than 1024, return a memory chunk of least possible size, instead
98390         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98391         Use free/xmalloc instead of xrealloc to avoid copying for very long
98392         paths.
98393
98394 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98395
98396         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98397         the empty string.
98398
98399 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98400
98401         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98402         address, not strdup.  Include <stdlib.h> and don't declare free().
98403
98404 2000-06-19  Jim Meyering  <meyering@lucent.com>
98405
98406         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98407
98408 2000-06-18  Jim Meyering  <meyering@lucent.com>
98409
98410         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98411
98412         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98413         `checking whether...' message to be consistent with that of the
98414         lstat test.
98415
98416 2000-06-18  Jim Meyering  <meyering@lucent.com>
98417
98418         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98419         Besides, these days every porting target provides a mkdir function.
98420
98421         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98422         needed. (this snippet comes from src/system.h).
98423
98424 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98425
98426         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98427
98428 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98429
98430         * lib/human.c (adjust_value): New function.
98431         (human_readable_inexact): Apply rounding style even when
98432         printing approximate values.
98433
98434 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98435
98436         * lib/human.c (human_readable_inexact): Allow an input block
98437         size that is not a multiple of the output block size, and vice versa.
98438         Reported by Piergiorgio Sartor.
98439
98440 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98441
98442         * lib/getdate.y (get_date): Apply relative times after time
98443         zone indicator, not before.  Reported by Todd A. Jacobs.
98444
98445 2000-06-13  Jim Meyering  <meyering@lucent.com>
98446
98447         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98448
98449         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98450
98451 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98452
98453         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98454
98455 2000-06-12  Jim Meyering  <meyering@lucent.com>
98456
98457         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98458         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98459         optional argument.
98460         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98461         the optional argument, `lib'.
98462
98463 2000-06-08  Jim Meyering  <meyering@lucent.com>
98464
98465         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98466
98467 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98468
98469         Rewrite largefile configuration so that we don't need to run
98470         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98471         AC_CANONICAL_HOST in configure.in -- jmm]
98472
98473         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98474         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98475         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98476         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98477         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98478         All uses changed.
98479         Instead of inspecting the output of getconf, try to compile the
98480         test program without and with the macro definition.
98481         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98482         for getconf.  Instead, check for the needed flags by compiling
98483         test programs.
98484
98485 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98486
98487         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98488
98489 2000-06-04  Jim Meyering  <meyering@lucent.com>
98490
98491         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98492         SunOS 4.1.4 for which gid_t is an unsigned type.
98493
98494 2000-06-03  Jim Meyering  <meyering@lucent.com>
98495
98496         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98497         now that autoconf requires that.
98498
98499         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98500         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98501         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98502
98503 2000-06-03  Jim Meyering  <meyering@lucent.com>
98504
98505         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98506
98507 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98508
98509         * m4/glibc21.m4: New file.
98510         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98511
98512 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98513
98514         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98515         newer, don't install charset.alias.
98516         * lib/config.charset: Change the Linux/glibc rules so they become empty
98517         on glibc-2.1 or newer.
98518
98519 2000-06-02  Jim Meyering  <meyering@lucent.com>
98520
98521         * lib/mountlist.c: Back out last change.  Instead, do this...
98522         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98523         me_dummy member using the same `ignore'-testing code.
98524         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98525         fs_type strings.
98526         From Mark D. Roth.
98527
98528 2000-05-29  Jim Meyering  <meyering@lucent.com>
98529
98530         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98531         mounts with the `ignore' attribute.  Based on a patch from
98532         Mark D. Roth.
98533
98534 2000-05-28  Jim Meyering  <meyering@lucent.com>
98535
98536         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98537         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98538         * m4/stat.m4: Likewise.
98539         * m4/lstat.m4: Likewise.
98540         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98541
98542         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98543         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98544
98545 2000-05-26  Jim Meyering  <meyering@lucent.com>
98546
98547         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98548
98549 2000-05-24  Jim Meyering  <meyering@lucent.com>
98550
98551         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98552         autoconf requires that.
98553         * m4/lib-check.m4: Likewise.
98554         * m4/jm-macros.m4: Likewise.
98555         * m4/strftime.m4: Likewise.
98556
98557         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98558         AC_CHECK_DECLS, now that autoconf requires that.
98559
98560 2000-05-22  Jim Meyering  <meyering@lucent.com>
98561
98562         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98563         * m4/lstat.m4: Likewise.
98564
98565 2000-05-22  Jim Meyering  <meyering@lucent.com>
98566
98567         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98568
98569 2000-05-20  Jim Meyering  <meyering@lucent.com>
98570
98571         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98572         (jm_PREREQ): Use it.
98573
98574 2000-05-18  Jim Meyering  <meyering@lucent.com>
98575
98576         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98577         back, too, since it may have been modified by allocate_entry.
98578         (hash_delete): Rewrite to use neither the assignment operator
98579         nor the comma operator in an if-expression.
98580
98581 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98582
98583         * lib/closeout.c:
98584         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98585         Remove; no longer needed.
98586         "quotearg.h": Add include.
98587         (file_name): Do not bother to explicitly initialize to NULL; it's less
98588         efficient on some hosts.
98589         (close_stdout_status): Remove test as to whether stdout was already
98590         closed; it breaks for the case "echo x | sort >&-".
98591         Quote file name colons.
98592         Do not assume that _("write error") lacks format strings.
98593
98594 2000-05-15  Jim Meyering  <meyering@lucent.com>
98595
98596         * lib/version-etc.c (version_etc_copyright): Update the copyright
98597         string used in all --version output.
98598
98599 2000-05-14  Jim Meyering  <meyering@lucent.com>
98600
98601         * lib/closeout.c (close_stdout_set_file_name): New function.
98602         (close_stdout_status): Use new file-scoped global.
98603         Return right away if fstat says the stdout file descriptor is invalid.
98604         * lib/closeout.h (close_stdout_set_file_name): Declare.
98605
98606 2000-05-10  Jim Meyering  <meyering@lucent.com>
98607
98608         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98609         (close_stdout_set_status): New function.
98610         * lib/closeout.h (close_stdout_set_status): Declare.
98611
98612 2000-05-09  Jim Meyering  <meyering@lucent.com>
98613
98614         * m4/gettext.m4: Rename this...
98615         * m4/libintl.m4: ...to this.
98616
98617 2000-05-08  Jim Meyering  <meyering@lucent.com>
98618
98619         * lib/long-options.c: Don't include closeout.h.
98620         (parse_long_options): Don't call close_stdout for --version.
98621
98622 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98623
98624         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98625         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98626         2.1.3 bug.  This avoids a clash when files like regex.c define
98627         _GNU_SOURCE.
98628
98629 2000-05-06  Jim Meyering  <meyering@lucent.com>
98630
98631         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98632         (AC_REPLACE_FUNCS): Add strnlen.
98633
98634         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98635         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98636
98637         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98638         AC_SEARCH_LIBS call for nanosleep.
98639         (LIB_NANOSLEEP): Set and AC_SUBST.
98640
98641 2000-05-06  Jim Meyering  <meyering@lucent.com>
98642
98643         * lib/strnlen.c: Undefine __strnlen and strnlen.
98644         [!weak_alias]: Define __strnlen to strnlen.
98645
98646         * lib/atexit.c: New file, from libiberty.
98647
98648 2000-05-06  Jim Meyering  <meyering@lucent.com>
98649
98650         * lib/closeout.c (close_stdout_status): Also check for errors on the
98651         stderr stream.
98652
98653 2000-05-05  Jim Meyering  <meyering@lucent.com>
98654
98655         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98656         AC_SEARCH_LIBS call for clock_gettime.
98657         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98658
98659         * m4/search-libs.m4: Update from autoconf.
98660
98661         su doesn't work on Solaris 2.6.
98662         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98663         <shadow.h>.  Reported by Dragos Harabor.
98664
98665 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98666
98667         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98668         memcpy instead of xmalloc, xrealloc, path_concat.
98669         (locale_charset): Treat empty environment variables as absent.
98670         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98671
98672 2000-05-04  Jim Meyering  <meyering@lucent.com>
98673
98674         * lib/getopt.c: Update from glibc.
98675         * lib/obstack.c: Likewise.
98676         * lib/obstack.h: Likewise.
98677         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98678         file
98679
98680         * lib/regex.h: Likewise.
98681         * lib/strndup.c: Likewise.
98682         * lib/strnlen.c: New file, from glibc.
98683
98684 2000-05-03  Jim Meyering  <meyering@lucent.com>
98685
98686         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98687
98688 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98689
98690         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98691         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98692         compile-time test, rather than inspecting host and OS, to
98693         decide whether to define _LARGEFILE_SOURCE.
98694
98695 2000-05-01  Jim Meyering  <meyering@lucent.com>
98696
98697         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98698
98699         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98700         Based on a patch from Bruno Haible.
98701
98702 2000-05-01  Jim Meyering  <meyering@lucent.com>
98703
98704         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98705
98706 2000-04-29  Jim Meyering  <meyering@lucent.com>
98707
98708         * lib/path-concat.c: Declare strdup only if it's not defined.
98709         * lib/canon-host.c: Likewise.
98710
98711 2000-04-28  Jim Meyering  <meyering@lucent.com>
98712
98713         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98714         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98715         is included first, then limits.h is included by locale.h by libintl.h.
98716         From John David Anglin.
98717
98718 2000-04-25  Jim Meyering  <meyering@lucent.com>
98719
98720         * lib/makepath.c (S_IRWXUGO): Define.
98721         (make_path): Always perform explicit chmod if MODE specifies any
98722         of the `special' permission bits.  Prompted by a bug report against
98723         install from Mate Wierdl and Joost van Baal.
98724
98725 2000-04-18  Jim Meyering  <meyering@lucent.com>
98726
98727         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98728         (jm_PREREQ): Use it.
98729
98730 2000-04-18  Jim Meyering  <meyering@lucent.com>
98731
98732         * lib/README: New file.
98733
98734         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98735         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98736
98737 2000-04-17  Jim Meyering  <meyering@lucent.com>
98738
98739         Get it right :-)
98740         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98741         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98742         Suggestion from Akim Demaille.
98743
98744 2000-04-17  Jim Meyering  <meyering@lucent.com>
98745
98746         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98747         the definition of it to rpl_strftime also defined-away the system's
98748         declaration.
98749
98750 2000-04-15  Jim Meyering  <meyering@lucent.com>
98751
98752         Use `C' to denote so-called `contiguous' files, the same way
98753         that tar does.
98754         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98755         (ftypelet): Use S_ISCTG.
98756         From Michael Deutschmann.
98757
98758 2000-04-14  Jim Meyering  <meyering@lucent.com>
98759
98760         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98761         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98762         clobbered.
98763
98764 2000-04-14  Jim Meyering  <meyering@lucent.com>
98765
98766         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98767
98768 2000-04-13  Jim Meyering  <meyering@lucent.com>
98769
98770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98771         AH_VERBATIM to insert required #ifndef into config.h.in.
98772         Suggestion from Akim Demaille.
98773
98774 2000-04-12  Jim Meyering  <meyering@lucent.com>
98775
98776         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98777         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98778         Christian Krackowizer.
98779
98780         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98781         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98782         (AC_SYS_LARGEFILE): Require.
98783         (AM_C_PROTOTYPES): Require.
98784
98785 2000-04-08  Jim Meyering  <meyering@lucent.com>
98786
98787         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98788         names don't conflict.  Reported by Eli Zaretskii.
98789
98790 2000-04-07  Jim Meyering  <meyering@lucent.com>
98791
98792         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98793         sys/types.h, to work around system header problems on AIX 3.2.5.
98794         From Bruno Haible.
98795
98796 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98797
98798         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98799         bug.  Deal with the different error behavior of Irix iconv.
98800
98801 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98802
98803         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98804         IRIX if the installer said otherwise.
98805
98806 2000-04-05  Jim Meyering  <meyering@lucent.com>
98807
98808         Portability tweaks required for ultrix4.3.
98809         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98810         (jm_CHECK_DECLS): Add getutent to the list of functions.
98811         (_jm_DECL_HEADERS): Add utmpx.h.
98812         From John David Anglin.
98813
98814         * m4/strftime.m4: Back out the 2000-04-02 change.
98815         Instead of that change, simply undefine putenv in the test program.
98816
98817 2000-04-05  Jim Meyering  <meyering@lucent.com>
98818
98819         Portability tweaks required for ultrix4.3.
98820         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98821         getutent.
98822         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98823         * lib/canon-host.c: Declare strdup.
98824         * lib/path-concat.c: Likewise.
98825         From John David Anglin.
98826
98827 2000-04-04  Jim Meyering  <meyering@lucent.com>
98828
98829         Be more DOS 8.3-friendly.
98830         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98831         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98832         * lib/Makefile.am: Reflect renaming.
98833         Reported by Eli Zaretskii.
98834
98835         Use a temporary file name that won't clash with `charset.alias'
98836         in the DOS 8.3 name space.
98837         * lib/Makefile.am (charset_tmp): Define.
98838         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98839         (uninstall-local): Likewise.
98840         Reported by Eli Zaretskii.
98841
98842 2000-04-03  Jim Meyering  <meyering@lucent.com>
98843
98844         * m4/gettext.m4: Fix typo in comment.
98845
98846         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98847         textutils/configure.in).  Suggestion from Paul Eggert.
98848         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98849
98850 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98851
98852         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98853         variable in the shell rather than using putenv, which isn't
98854         portable.  This avoids the configure-time inter-test dependency
98855         on the potentially-renamed putenv function.
98856
98857 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98858
98859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98860         before checking struct stat.st_blksize, so that
98861         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98862
98863 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98864
98865         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98866         since strftime.c uses HAVE_STRFTIME to decide whether to use
98867         the underlying strftime.
98868
98869 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98870
98871         * lib/time/strftime.c (my_strftime): Make sure we call the system
98872         strftime, not ourselves, when invoking the underlying strftime.
98873
98874 2000-03-24  Jim Meyering  <meyering@lucent.com>
98875
98876         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98877         (charset_alias): Define.
98878         (install-exec-local): Factor out common code.
98879         (uninstall-local): Split lines longer than 80.
98880         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98881         (SUFFIXES): Define.
98882         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98883         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98884
98885 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98886
98887         * lib/config.charset: Output a line containing "Packages using this
98888         file".
98889         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98890         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98891         ref-del.sed): New rules.
98892
98893 2000-03-17  Jim Meyering  <meyering@lucent.com>
98894
98895         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98896         Otherwise, include <strings.h>
98897
98898 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98899
98900         * lib/unicodeio.c (utf8_wctomb): New function.
98901         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98902         format instead of in UCS-4 with platform dependent endianness.
98903
98904 2000-03-10  Jim Meyering  <meyering@lucent.com>
98905
98906         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98907         From Marco Franzen.
98908
98909 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98910
98911         * lib/savedir.c (savedir): Work even if directory size is
98912         negative; this can happen with some screwy NFS configurations.
98913
98914 2000-03-06  Jim Meyering  <meyering@lucent.com>
98915
98916         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98917         if it's NULL (because we ran out of memory).  From Bruno Haible.
98918
98919 2000-03-05  Jim Meyering  <meyering@lucent.com>
98920
98921         * lib/localcharset.c ("path-concat.h"): Include.
98922         (get_charset_aliases): Use path_concat instead of ANSI string
98923         concatenation.
98924
98925         * lib/unicodeio.h (PARAMS): Define.
98926         Use it to guard prototype.
98927
98928 2000-03-04  Jim Meyering  <meyering@lucent.com>
98929
98930         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98931         for lib/localcharset.c.
98932
98933 2000-03-04  Jim Meyering  <meyering@lucent.com>
98934
98935         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98936         installing into it.
98937         (uninstall-local): Uncomment this rule so `make distcheck' works
98938         once again.
98939
98940         * lib/unicodeio.c (<errno.h>): Include it.
98941         (errno): Declare if not defined.
98942
98943         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98944
98945         * lib/config.charset: New version, incorporating remarks from a linux
98946         i18n mailing list.  From Bruno Haible.
98947
98948 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98949
98950         * m4/codeset.m4: New file.
98951         * m4/iconv.m4: New file.
98952         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98953
98954 2000-03-03  Jim Meyering  <meyering@lucent.com>
98955
98956         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98957
98958 2000-03-02  Jim Meyering  <meyering@lucent.com>
98959
98960         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98961         the messages come out on separate lines.
98962
98963         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98964         rather than jm_CHECK_DECLARATIONS.
98965         * m4/decl.m4: Remove now-unused file.
98966
98967         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98968         geteuid.
98969
98970 2000-03-02  Jim Meyering  <meyering@lucent.com>
98971
98972         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98973
98974 2000-03-01  Jim Meyering  <meyering@lucent.com>
98975
98976         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98977         * lib/unicodeio.c: Likewise.
98978
98979 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98980
98981         * lib/config.charset: New file.
98982         * lib/localcharset.c: New file.
98983         * lib/unicodeio.h, lib/unicodeio.c: New files.
98984         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98985         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98986         (noinst_HEADERS): Add unicodeio.h.
98987         (all-local, install-exec-local, charset.alias): New targets.
98988
98989 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98990
98991         * lib/quotearg.c (ALERT_CHAR): New macro.
98992         (quotearg_buffer_restyled): Use it.
98993
98994 2000-02-27  Jim Meyering  <meyering@lucent.com>
98995
98996         * m4/check-decl.m4: Add getenv to the list.
98997
98998 2000-02-27  Jim Meyering  <meyering@lucent.com>
98999
99000         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99001         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99002
99003         * lib/backupfile.c: Guard inclusion of stdlib.h with
99004         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99005         Declare malloc if needed.
99006
99007         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99008         `#ifndef HAVE_DECL..'
99009         now that autoconf always defines the HAVE_DECL_ symbols.
99010         * lib/human.c: Likewise.
99011         * lib/same.c: Likewise.
99012         * lib/strtoumax.c: Likewise.
99013
99014         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99015         declaration check was not run.
99016         * lib/hash.c: Likewise.
99017         * lib/human.c: Likewise.
99018         * lib/same.c: Likewise.
99019         * lib/strtoumax.c: Likewise.
99020
99021         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99022         `.', then first look up the entire `.'-containing string as a login
99023         name.
99024
99025 2000-02-23  Jim Meyering  <meyering@lucent.com>
99026
99027         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99028         in place of my hack.
99029
99030 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99031
99032         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99033         (textint): New typedef.
99034         (parser_control): Member year changed from int to textint.
99035         All uses changed.
99036         (YYSTYPE): Removed; replaced by %union with int and textint members.
99037         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99038         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99039         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99040         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99041         (date, number, to_year): Use width of number in digits, not its value,
99042         to determine whether it's a 2-digit year, or a 2-digit time.
99043         (yylex): Store number of digits of numeric tokens.
99044         Reported by John Kendall.
99045
99046         (parser_control): Changed from struct parser_control to typedef (for
99047         consistency).  All uses changed.
99048
99049         (tID): Removed; not used.
99050         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99051
99052 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99053
99054         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99055         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99056
99057 2000-02-12  Jim Meyering  <meyering@lucent.com>
99058
99059         * lib/userspec.c (ISDIGIT): Define it.
99060         (isdigit): Remove definition.
99061         (is_number): Use ISDIGIT, not isdigit.
99062         <libintl.h>: Include.
99063         (_ and N_): Define.
99064         (parse_user_spec): Mark translatable strings.
99065
99066 2000-02-10  Jim Meyering  <meyering@lucent.com>
99067
99068         With these changes, nanosleep.[ch] are finally enough like the other
99069         lib/* replacement files to compile on a few more losing systems.
99070
99071         * lib/nanosleep.h: Don't include config.h.
99072         Remove prototype from declaration of nanosleep.
99073         (PARAMS): Remove now-unneeded definition.
99074         * lib/nanosleep.c: #undef nanosleep.
99075         (rpl_nanosleep): Rename from nanosleep.
99076
99077 2000-02-10  Jim Meyering  <meyering@lucent.com>
99078
99079         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
99080         gnu_nanosleep to rpl_nanosleep.
99081
99082 2000-02-09  Jim Meyering  <meyering@lucent.com>
99083
99084         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99085         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99086
99087 2000-02-08  Akim Demaille  <akim@epita.fr>
99088
99089         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99090         `[' and `]' and remove uses of `changequote'.
99091         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99092         (AC_SYS_LARGEFILE): Likewise.
99093         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99094         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99095         of changequote.
99096         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99097         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99098         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99099         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99100
99101 2000-02-05  Jim Meyering  <meyering@lucent.com>
99102
99103         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99104         Remove explicit use of AC_HEADER_TIME.  It is required by
99105         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99106         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99107         in autoconf whereby the expansion of the latter ended up preceding
99108         the expansion of its prerequisite, AC_HEADER_TIME.
99109         Reported by Volker Borchert.
99110
99111 2000-02-03  Jim Meyering  <meyering@lucent.com>
99112
99113         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99114
99115 2000-02-03  Jim Meyering  <meyering@lucent.com>
99116
99117         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99118         rather than with `#if HAVE_UTMPNAME'.
99119
99120 2000-02-02  Jim Meyering  <meyering@lucent.com>
99121
99122         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99123         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99124         Reported by Eli Zaretskii.
99125
99126 2000-02-01  Jim Meyering  <meyering@lucent.com>
99127
99128         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99129
99130 2000-01-31  Jim Meyering  <meyering@lucent.com>
99131
99132         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99133         functions.  Add the time.h and sys/time.h headers along with the
99134         AC_REQUIRE'ment of AC_HEADER_TIME.
99135
99136 2000-01-31  Jim Meyering  <meyering@lucent.com>
99137
99138         * lib/nanosleep.h (nanosleep): Guard declaration with
99139         `#if ! HAVE_DECL_NANOSLEEP'.
99140         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99141         the declaration in that vendor's sys/timers.h.
99142         Reported by Christian Krackowizer.
99143
99144         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99145         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99146         (ISPRINT): Likewise.
99147         Reported by Tom Tromey.
99148
99149 2000-01-30  Jim Meyering  <meyering@lucent.com>
99150
99151         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99152
99153         * m4/prereq.m4 (utmp_includes): Define.
99154         Check for ut_user and ut_name members in both struct utmpx
99155         and struct utmp.
99156
99157 2000-01-30  Jim Meyering  <meyering@lucent.com>
99158
99159         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99160         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99161         header files where only utmpx.ut_user is declared.
99162
99163         * lib/readutmp.h (UT_USER): Define.
99164
99165 2000-01-29  Jim Meyering  <meyering@lucent.com>
99166
99167         * m4/lib-check.m4: New file containing library-related checks from
99168         fileutils and sh-utils (textutils had none).
99169
99170 2000-01-28  Jim Meyering  <meyering@lucent.com>
99171
99172         * m4/perl.m4: Change format of warning message to look more like that
99173         from the missing script.  Suggestion from François Pinard.
99174
99175 2000-01-25  Jim Meyering  <meyering@lucent.com>
99176
99177         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99178         well as time.h in the compile check.
99179         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99180         Fix typo in cross-compiling case: s/yes/no/.
99181
99182 2000-01-23  Jim Meyering  <meyering@lucent.com>
99183
99184         * m4/jm-macros.m4: Move df-related tests here from
99185         fileutils/configure.in
99186
99187         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99188         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99189
99190         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99191         s/space/ac_fsusage_space/.
99192         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99193
99194         * m4/ftruncate.m4: New file (derived from part of
99195         fileutils/configure.in).
99196         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99197         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99198
99199         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99200         AC_SUBST these here, rather than just in sh-util/configure.in, so
99201         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99202         all the same.
99203         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99204         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99205         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99206         (AC_SUBST(POW_LIBM)): Likewise.
99207         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99208
99209 2000-01-23  Jim Meyering  <meyering@lucent.com>
99210
99211         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99212         obstack.c.
99213
99214 2000-01-22  Jim Meyering  <meyering@lucent.com>
99215
99216         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99217
99218         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99219
99220         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99221         configure.in
99222         (AC_CHECK_HEADERS): Likewise for sh-utils.
99223         (AC_CHECK_HEADERS): Likewise for textutils.
99224         Merge the three lists of headers.
99225
99226         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99227         from fileutils' configure.in.
99228
99229         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99230         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99231         check-decl.m4.
99232
99233         * m4/check-decl.m4: Use #if rather than #ifdef.
99234         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99235         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99236         (_jm_DECL_HEADERS): Define new function.
99237         (jm_CHECK_DECLARATIONS): Require it.
99238
99239 2000-01-22  Jim Meyering  <meyering@lucent.com>
99240
99241         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99242         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99243         Required for some AIX systems.  Reported by Christian Krackowizer.
99244         [TESTING] (main): New function.
99245
99246         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99247         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99248         letters.
99249
99250         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99251         iswprint.
99252
99253         * lib/strverscmp.c (ISDIGIT): Define.
99254         (strverscmp): Use ISDIGIT, not isdigit.
99255
99256 2000-01-19  Jim Meyering  <meyering@lucent.com>
99257
99258         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99259         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99260         defines `struct timespec' in <sys/time.h>
99261
99262         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99263         Thanks to Akim for explaining.
99264
99265 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99266
99267         * lib/nanosleep.c (nanosleep):
99268         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99269         POSIX.1 doesn't require SA_INTERRUPT and some systems
99270         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99271         it's been part of POSIX.1 since day 1 (in 1988).
99272
99273 2000-01-17  Jim Meyering  <meyering@lucent.com>
99274
99275         * lib/interlock: Remove unused file.  Reported by François Pinard.
99276
99277 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99278
99279         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99280         alert, backslash, formfeed, and vertical tab unnecessarily in
99281         shell quoting style.
99282
99283 2000-01-16  Jim Meyering  <meyering@lucent.com>
99284
99285         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99286         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99287         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99288         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99289
99290 2000-01-16  Jim Meyering  <meyering@lucent.com>
99291
99292         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99293         because the latter didn't work.
99294
99295 2000-01-15  Jim Meyering  <meyering@lucent.com>
99296
99297         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99298         (AC_REPLACE_FUNCS): Add memcpy and memset.
99299         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99300         Add strpbrk.
99301         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99302
99303 2000-01-12  Jim Meyering  <meyering@lucent.com>
99304
99305         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99306         (jm_PREREQ): Use it.
99307         (jm_PREREQ_READUTMP): New macro.
99308         (jm_PREREQ): Use it.
99309
99310 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99311
99312         Quote multibyte characters correctly.
99313         * m4/c-bs-a.m4: New file.
99314         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99315         (jm_PREREQ): Use it.
99316
99317 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99318
99319         * m4/uintmax_t.m4: Port to autoconf 2.13.
99320
99321 2000-01-08  Jim Meyering  <meyering@ascend.com>
99322
99323         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99324         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99325
99326 2000-01-04  Jim Meyering  <meyering@ascend.com>
99327
99328         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99329         jm_STRUCT_DIRENT_D_TYPE.
99330         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99331         jm_STRUCT_DIRENT_D_INO.
99332         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99333         jm_STRUCT_UTIMBUF.
99334         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99335         renamings.
99336         * m4/utime.m4: Likewise.
99337
99338         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99339         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99340
99341 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99342
99343         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99344         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99345
99346 2000-01-02  Jim Meyering  <meyering@ascend.com>
99347
99348         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99349         remember if this is necessary.
99350
99351 1999-12-26  Jim Meyering  <meyering@ascend.com>
99352
99353         * m4/jm-macros.m4: Use it here.
99354         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99355
99356 1999-12-23  Jim Meyering  <meyering@ascend.com>
99357
99358         * m4/jm-macros.m4: Check for clock_gettime (moved from
99359         fileutils/configure.in)
99360         Check for gettimeofday.
99361
99362 1999-12-20  Jim Meyering  <meyering@ascend.com>
99363
99364         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99365         autoconf-2.14a-1999-12-20.
99366
99367 1999-12-19  Jim Meyering  <meyering@ascend.com>
99368
99369         * m4/lstat-slash.m4: New file.
99370         * m4/jm-macros.m4: Use the new macro:
99371         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99372
99373 1999-12-07  Jim Meyering  <meyering@ascend.com>
99374
99375         * m4/perl.m4: Require that File::Compare be available, too.
99376         Too many systems seem to lack it.
99377
99378         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99379         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99380
99381 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99382
99383         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99384         problem with the QNX 4.25 shell, which doesn't propagate exit
99385         status of failed commands inside shell assignments.
99386
99387 1999-11-17  Jim Meyering  <meyering@ascend.com>
99388
99389         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99390
99391 1999-11-07  Jim Meyering  <meyering@ascend.com>
99392
99393         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99394
99395 1999-11-06  Jim Meyering  <meyering@ascend.com>
99396
99397         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99398         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99399
99400 1999-11-05  Jim Meyering  <meyering@ascend.com>
99401
99402         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99403         configure.in of textutils, fileutils, and sh-utils into this one
99404         (shared between those packages) file.
99405         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99406         AC_STRUCT_ST_BLKSIZE.
99407
99408 1999-11-03  Jim Meyering  <meyering@ascend.com>
99409
99410         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99411         of AC_CHECK_TYPE checks includes unistd.h.
99412         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99413         Suggestion from Akim Demaille.
99414
99415 1999-10-30  Jim Meyering  <meyering@ascend.com>
99416
99417         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99418         m4-quoted string.
99419         * m4/ls-mntd-fs.m4: Likewise.
99420         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99421         * m4/jm-winsz1.m4: Likewise.
99422
99423         * m4/const.m4: Remove file, since the fix made it into the experimental
99424         version of autoconf.
99425         * m4/mktime.m4: Likewise.
99426
99427         * m4/check-type.m4: Remove file, now that the latest version of
99428         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99429
99430         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99431         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99432         AC_CHECK_TYPE.
99433
99434 1999-10-04  Jim Meyering  <meyering@ascend.com>
99435
99436         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99437
99438 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99439
99440         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99441         2.95.1 bug with HP-UX 10.20.
99442
99443 1999-09-17  Jim Meyering  <meyering@ascend.com>
99444
99445         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99446         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99447         due to missing strdup (against sh-utils-2.0).
99448
99449 1999-08-29  Jim Meyering  <meyering@ascend.com>
99450
99451         * m4/jm-macros.m4: Require jm_BISON.
99452         * m4/bison.m4: New file.
99453
99454 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99455
99456         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99457         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99458
99459 1999-08-05  Jim Meyering  <meyering@ascend.com>
99460
99461         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99462         to avoid conflicts with `conftest' on 8+3 filesystems.
99463         Suggestion from Eli Zaretskii.
99464
99465 1999-08-04  Jim Meyering  <meyering@ascend.com>
99466
99467         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99468         fileutils and sh-utils (textutils's getline test was inadequate).
99469         (AM_FUNC_GETLINE): Run this test.
99470         (AC_CHECK_FUNCS): Check for getdelim.
99471         Reported by Bob Proulx.
99472
99473 1999-08-02  Jim Meyering  <meyering@ascend.com>
99474
99475         * m4/jm-macros.m4: Add a comment.
99476
99477 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99478
99479         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99480         <inttypes.h> defines strtoumax as a macro (and not as a
99481         function).
99482
99483 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99484
99485         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99486         that we can shift, multiply and divide unsigned long long
99487         values; Ultrix cc can't do it.
99488
99489 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99490
99491         * m4/mktime.m4: New file, which is a preview of what should appear
99492         in the next public autoconf release.
99493
99494 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99495
99496         * m4/lfs.m4: Remove this file.
99497         * m4/largefile.m4: New file.  It contains the old contents of
99498         lfs.m4, except that all names with prefix AC_LFS have been
99499         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99500         compatible with future autoconf versions.  Also, some minor m4
99501         quoting problems have been fixed.
99502
99503 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99504
99505         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99506         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99507         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99508         and simplify the shell code.
99509
99510 1999-08-01  Jim Meyering  <meyering@ascend.com>
99511
99512         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99513         m4.
99514
99515 1999-07-20  Jim Meyering  <meyering@ascend.com>
99516
99517         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99518
99519 1999-07-15  Jim Meyering  <meyering@ascend.com>
99520
99521         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99522
99523 1999-05-22  Jim Meyering  <meyering@ascend.com>
99524
99525         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99526
99527 1999-05-20  Jim Meyering  <meyering@ascend.com>
99528
99529         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99530         Add a colon after each `then' in case $4 is empty.
99531
99532 1999-05-16  Jim Meyering  <meyering@ascend.com>
99533
99534         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99535
99536 1999-05-10  Jim Meyering  <meyering@ascend.com>
99537
99538         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99539
99540         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99541         AC_FUNC_MKTIME.
99542
99543 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99544
99545         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99546
99547 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99548
99549         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99550         not CPPFLAGS, so that linking works correctly in IRIX.
99551
99552 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99553
99554         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99555
99556 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99557
99558         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99559         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99560         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99561         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99562         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99563
99564         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99565
99566 1999-04-20  Jim Meyering  <meyering@ascend.com>
99567
99568         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99569         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99570         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99571
99572 1999-04-18  Jim Meyering  <meyering@ascend.com>
99573
99574         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99575         * m4/jm-macros.m4: Use it.
99576
99577 1999-04-06  Jim Meyering  <meyering@ascend.com>
99578
99579         * m4/strftime.m4: Remove test for %f.
99580
99581 1999-03-29  Jim Meyering  <meyering@ascend.com>
99582
99583         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99584         superset of the AC_TYPE_* checks in the textutils, fileutils,
99585         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99586         AC_TYPE_PID_T.
99587
99588 1999-03-28  Jim Meyering  <meyering@ascend.com>
99589
99590         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99591         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99592         replaced e.g., in the *.sh files of the sh-utils.
99593
99594 1999-03-20  Jim Meyering  <meyering@ascend.com>
99595
99596         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99597         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99598         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99599
99600 1999-03-19  Jim Meyering  <meyering@ascend.com>
99601
99602         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99603
99604 1999-03-12  Jim Meyering  <meyering@ascend.com>
99605
99606         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99607
99608 1999-03-07  Jim Meyering  <meyering@ascend.com>
99609
99610         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99611         declared.
99612
99613 1999-02-17  Jim Meyering  <meyering@ascend.com>
99614
99615         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99616         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99617
99618 1999-02-07  Jim Meyering  <meyering@ascend.com>
99619
99620         * m4/group-member.m4: New file -- extracted from sh-utils'
99621         configure.in.
99622
99623         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99624         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99625
99626 1999-02-06  Jim Meyering  <meyering@ascend.com>
99627
99628         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99629         * m4/fnmatch.m4: Likewise.
99630         * m4/getgroups.m4: Likewise.
99631         * m4/lstat.m4: Likewise.
99632         * m4/malloc.m4: Likewise.
99633         * m4/putenv.m4: Likewise.
99634         * m4/realloc.m4: Likewise.
99635         * m4/regex.m4: Likewise.
99636         * m4/stat.m4: Likewise.
99637         * m4/strftime.m4: Likewise.
99638         Suggestion from Alain Magloire.
99639
99640         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99641         * m4/fnmatch.m4: Likewise.
99642         * m4/getgroups.m4: Likewise.
99643         * m4/getline.m4: Likewise.
99644         * m4/lstat.m4: Likewise.
99645         * m4/malloc.m4: Likewise.
99646         * m4/memcmp.m4: Likewise.
99647         * m4/putenv.m4: Likewise.
99648         * m4/realloc.m4: Likewise.
99649         * m4/regex.m4: Likewise.
99650         * m4/stat.m4: Likewise.
99651         * m4/strftime.m4: Likewise.
99652         Suggestion from Alain Magloire.
99653
99654         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99655         an argument.
99656
99657         * m4/regex.m4: Add a run-time Test for proper operation of
99658         re_compile_pattern.
99659
99660 1999-01-31  Jim Meyering  <meyering@ascend.com>
99661
99662         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99663
99664 1999-01-30  Jim Meyering  <meyering@ascend.com>
99665
99666         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99667
99668         * m4/jm-mktime.m4: Make this a wrapper around the official
99669         AM_FUNC_MKTIME rather than my private copy, now that the official one
99670         is up to date.
99671         * m4/mktime.m4: Remove file.
99672
99673         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99674         * m4/uptime.m4: Likewise.
99675         * m4/uintmax_t.m4: Likewise.
99676
99677 1999-01-28  Jim Meyering  <meyering@ascend.com>
99678
99679         * m4/jm-macros.m4: Use jm_AFS.
99680         * m4/afs.m4: New file (from fileutils' configure.in).
99681
99682         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99683         * m4/chown.m4: Likewise.
99684         * m4/d-ino.m4: Likewise.
99685         * m4/d-type.m4: Likewise.
99686         * m4/fnmatch.m4: Likewise.
99687         * m4/getgroups.m4: Likewise.
99688         * m4/gettext.m4: Likewise.
99689         * m4/jm-mktime.m4: Likewise.
99690         * m4/jm-winsz2.m4: Likewise.
99691         * m4/lcmessage.m4: Likewise.
99692         * m4/ls-mntd-fs.m4: Likewise.
99693         * m4/malloc.m4: Likewise.
99694         * m4/memcmp.m4: Likewise.
99695         * m4/putenv.m4: Likewise.
99696         * m4/realloc.m4: Likewise.
99697         * m4/st_mtim.m4: Likewise.
99698         * m4/strftime.m4: Likewise.
99699
99700 1999-01-16  Jim Meyering  <meyering@ascend.com>
99701
99702         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99703         (ARGMATCH_DIE_DECL): Define.
99704
99705 1999-01-12  Jim Meyering  <meyering@ascend.com>
99706
99707         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99708         Reported by Lars Hecking.
99709
99710 1999-01-10  Jim Meyering  <meyering@ascend.com>
99711
99712         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99713         gross kludge.
99714         * m4/inttypes_h.m4: Likewise.
99715         * m4/lstat.m4: Likewise.
99716         * m4/malloc.m4: Likewise.
99717         * m4/readdir.m4: Likewise.
99718         * m4/realloc.m4: Likewise.
99719         * m4/st_dm_mode.m4: Likewise.
99720         * m4/stat.m4: Likewise.
99721         * m4/utimbuf.m4: Likewise.
99722         * m4/utimes.m4: Likewise.
99723
99724         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99725         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99726         comments in config.h.in are meaningful.
99727
99728         * m4/jm-macros.m4: Require autoconf-2.13 here.
99729
99730         * m4/regex.m4: By default, don't use the included regex.c on systems
99731         with glibc 2.  Suggestion from Uli Drepper.
99732
99733 1999-01-02  Jim Meyering  <meyering@ascend.com>
99734
99735         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99736
99737 1998-12-18  Jim Meyering  <meyering@ascend.com>
99738
99739         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99740         Based on a suggestion from Lars Hecking.
99741
99742 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99743
99744         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99745
99746 1998-11-16  Jim Meyering  <meyering@ascend.com>
99747
99748         * m4/lfs.m4: Double-quote the `uname...` expression.
99749
99750 1998-11-14  Jim Meyering  <meyering@ascend.com>
99751
99752         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99753         * m4/stat.m4: Likewise.
99754
99755 1998-11-03  Jim Meyering  <meyering@ascend.com>
99756
99757         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99758         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99759
99760 1998-10-18  Jim Meyering  <meyering@ascend.com>
99761
99762         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99763
99764 1998-10-17  Jim Meyering  <meyering@ascend.com>
99765
99766         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99767         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99768         calls for those previously hard-coded headers.  Instead, take a new
99769         parameter.
99770         (jm_CHECK_DECLARATIONS): Reflect interface change.
99771         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99772         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99773
99774         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99775
99776 1998-10-14  Jim Meyering  <meyering@ascend.com>
99777
99778         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99779         instead of "TZ=America/Vancouver".  From Paul Eggert.
99780
99781 1998-10-11  Jim Meyering  <meyering@ascend.com>
99782
99783         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99784         This adds a test for a recently added compatibility fix for mktime.c.
99785         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99786
99787 1998-09-27  Jim Meyering  <meyering@ascend.com>
99788
99789         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99790
99791         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99792         ../configure.in, including a change from Gordon Matzigkeit to allow
99793         cross-compiling for the Hurd.
99794
99795         * m4/glibc.m4: New file/macro to test for the GNU C Library
99796         versions 1 and 2.  From Gordon Matzigkeit.
99797         Indent.
99798
99799 1998-09-21  Jim Meyering  <meyering@ascend.com>
99800
99801         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99802
99803 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99804
99805         Port nanosecond-resolution times to UnixWare 2.1.2 and
99806         pedantic Solaris 2.6.
99807
99808         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99809         AC_STRUCT_ST_MTIM.
99810         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99811         Generate name of ns member, instead of just 1 or undef.
99812         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99813
99814 1998-08-15  Jim Meyering  <meyering@ascend.com>
99815
99816         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99817         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99818         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99819         instead of jm_TYPE_SSIZE_T.
99820
99821 1998-08-12  Jim Meyering  <meyering@ascend.com>
99822
99823         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99824
99825 1998-08-02  Jim Meyering  <meyering@ascend.com>
99826
99827         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99828         in acconfig.h manually.
99829
99830 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99831
99832         * m4/st_mtim.m4: New file.
99833
99834 1998-07-28  Jim Meyering  <meyering@ascend.com>
99835
99836         * m4/utimes.m4: Undef stat.
99837
99838 1998-07-25  Jim Meyering  <meyering@ascend.com>
99839
99840         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99841         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99842
99843 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99844
99845         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99846         uid and gid actually remain unchanged.
99847
99848 1998-07-07  Jim Meyering  <meyering@ascend.com>
99849
99850         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99851
99852 1998-07-04  Jim Meyering  <meyering@ascend.com>
99853
99854         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99855         to prove that this macro can be used in packages without regex.c.
99856
99857 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99858
99859         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99860         is to be used.
99861
99862 1998-07-03  Jim Meyering  <meyering@ascend.com>
99863
99864         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99865
99866         * m4/gettext.m4: New file -- from gettext-0.10.35.
99867         * m4/lcmessage.m4: Likewise.
99868         * m4/progtest.m4: Likewise.
99869
99870         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99871         * m4/jm-macros.m4: Require the new macro.
99872
99873 1998-06-29  Jim Meyering  <meyering@ascend.com>
99874
99875         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99876         for the definition of NGROUPS (used in a system header included
99877         by sys/mount.h).
99878
99879 1998-06-28  Jim Meyering  <meyering@ascend.com>
99880
99881         * m4/ls-mntd-fs.m4: New file.
99882         * m4/fstypename.m4: New file.
99883
99884         * m4/jm-macros.m4: Require the new macro.
99885         * m4/jm-glibc-io.m4: New file.
99886
99887 1998-05-19  Jim Meyering  <meyering@ascend.com>
99888
99889         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99890         * m4/lchown.m4: New file.
99891
99892         * m4/Makefile.am.in: New file.
99893         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99894
99895 1998-05-14  Jim Meyering  <meyering@ascend.com>
99896
99897         * m4/Makefile.am (EXTRA_DIST): Add them.
99898         * m4/jm-macros.m4: New file.
99899         * m4/utimbuf.m4: New file.
99900
99901 1998-05-12  Jim Meyering  <meyering@ascend.com>
99902
99903         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99904
99905 1998-05-11  Jim Meyering  <meyering@ascend.com>
99906
99907         * m4/isc-posix.m4: New file.
99908
99909 1998-05-10  Jim Meyering  <meyering@ascend.com>
99910
99911         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99912
99913 1998-05-09  Jim Meyering  <meyering@ascend.com>
99914
99915         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99916         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99917         with automake.
99918
99919         * m4/ssize_t.m4: New file.
99920         * m4/mktime.m4: Remove file -- the new automake has this now.
99921
99922 1998-04-26  Jim Meyering  <meyering@ascend.com>
99923
99924         * m4/assert.m4: New file.
99925         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99926
99927 1998-04-05  Jim Meyering  <meyering@ascend.com>
99928
99929         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99930         (jm_PREREQ): Use it here.
99931
99932 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99933
99934         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99935         in acconfig.h.
99936
99937 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99938
99939         * m4/prereq.m4: New file.
99940         * m4/error.m4: New file.
99941         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99942
99943 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99944
99945         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99946         cache-check for the same variable -- that defeated the purpose of
99947         the test; the test program was never run.  This was a problem only
99948         on systems with losing getline functions -- HP-UX 10.20 is one.
99949         Reported by Bjorn Helgaas.
99950
99951 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99952
99953         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99954
99955 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99956
99957         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99958
99959         * m4/const.m4: New file.  Use an initializer in this declaration
99960         typedef int charset[2]; const charset x;
99961         Reported by Bob Glickstein.
99962
99963 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99964
99965         * m4/chown.m4: Fix reversed types on -1 args to chown.
99966         From Kaveh Ghazi.
99967
99968 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99969
99970         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99971         Add lseek and memchr.
99972
99973         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99974         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99975         have a 20-character limit on names.
99976
99977 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99978
99979         * m4/inttypes_h.m4: New file.
99980         * m4/uintmax_t.m4: New file.
99981         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99982
99983
99984         -----
99985
99986         Local Variables:
99987         coding: utf-8
99988         End:
99989
99990         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99991
99992         Copying and distribution of this file, with or without
99993         modification, are permitted provided the copyright notice
99994         and this notice are preserved.